Olegovich 0 4 марта, 2005 Опубликовано 4 марта, 2005 · Жалоба Всё, я сдаюсь, господа! Решил замесить ассемблер с Си под 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", то функция неправильно объявлена, то ещё что-нить в этом духе. Отдельно ассемблерный файл компиллируется нормально. В чем дело? Ведь делаю всё как в их примере... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 0 4 марта, 2005 Опубликовано 4 марта, 2005 · Жалоба Надо убрать строчку #include <D:\CProjects\m128jtag\ass.asm> а файл просто к проекту подцепить естественно компилер ругается, он же С а не ассемблер ;) ассемблер надо ассемблером компилить, а потом уж линковать их вместе Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Olegovich 0 4 марта, 2005 Опубликовано 4 марта, 2005 · Жалоба Надо убрать строчку #include <D:\CProjects\m128jtag\ass.asm> а файл просто к проекту подцепить естественно компилер ругается, он же С а не ассемблер ;) ассемблер надо ассемблером компилить, а потом уж линковать их вместе <{POST_SNAPBACK}> Так и знал, что из-за фигни парился! :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться