Перейти к содержанию
    

Mixing C and Assembler

Всё, я сдаюсь, господа!

Решил замесить ассемблер с Си под IAR 3.20 для AVR.

И не работает, никак не пойму, в чем дело.

Делаю следующим образом:

 

//----------------------------------------

Файл СИ:

//----------------------------------------

#pragma language=extended

#include <inavr.h>

#include <iom128.h>

#include <D:\CProjects\m128jtag\ass.asm>

 

//декларируем ассемблерную функцию

extern void asmfunc(void);

 

void main(void)

{

asmfunc();

}

//----------------------------------------

Файл ass.asm:

//----------------------------------------

NAME asmfunc

#include <iom128.h>

PUBLIC asmfunc

RSEG CODE

asmfunc:

in R16,PIND

swap R16

out PORTB,R16

ret

END

//----------------------------------------

 

И компилятор пишет - то "identifier NAME undeclared", то функция неправильно

объявлена, то ещё что-нить в этом духе. Отдельно ассемблерный файл компиллируется нормально.

В чем дело? Ведь делаю всё как в их примере...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо убрать строчку

#include <D:\CProjects\m128jtag\ass.asm>

а файл просто к проекту подцепить

естественно компилер ругается, он же С а не ассемблер ;)

ассемблер надо ассемблером компилить, а потом уж линковать их вместе

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо убрать строчку

#include <D:\CProjects\m128jtag\ass.asm>

а файл просто к проекту подцепить

естественно компилер ругается, он же С а не ассемблер ;)

ассемблер надо ассемблером компилить, а потом уж линковать их вместе

 

Так и знал, что из-за фигни парился!

:smile3046:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...