реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Mixing C and Assembler
Olegovich
сообщение Mar 4 2005, 08:26
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 3-03-05
Из: Санкт-Петербург
Пользователь №: 3 037



Всё, я сдаюсь, господа!
Решил замесить ассемблер с Си под 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", то функция неправильно
объявлена, то ещё что-нить в этом духе. Отдельно ассемблерный файл компиллируется нормально.
В чем дело? Ведь делаю всё как в их примере...
Go to the top of the page
 
+Quote Post
KRS
сообщение Mar 4 2005, 09:22
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Надо убрать строчку
#include <D:\CProjects\m128jtag\ass.asm>
а файл просто к проекту подцепить
естественно компилер ругается, он же С а не ассемблер wink.gif
ассемблер надо ассемблером компилить, а потом уж линковать их вместе
Go to the top of the page
 
+Quote Post
Olegovich
сообщение Mar 4 2005, 10:22
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 3-03-05
Из: Санкт-Петербург
Пользователь №: 3 037



Цитата(KRS @ Mar 4 2005, 12:22)
Надо убрать строчку
#include <D:\CProjects\m128jtag\ass.asm>
а файл просто к проекту подцепить
естественно компилер ругается, он же С а не ассемблер wink.gif
ассемблер надо ассемблером компилить, а потом уж линковать их вместе
*


Так и знал, что из-за фигни парился!
smile3046.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 16:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016