Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Mix C++ и Asm в IAR EW AVR 4.21A

Отправлено Chip'n'Go 20 июня 2007 г. 14:00


В IAR C/C++ Compiler Reference Guide в разделе Assembler language
interface приведен пример:

bool flag;
void foo()
{
while (!flag)
{
asm("IN R0,PIND \n
STS flag,R0");
}
}

Я пишу свою функцию:

unsigned short ModBus::CRC16Test(void *Ptr,unsigned char Lenght)
{
unsigned char *Data = (unsigned char *)Ptr;
unsigned char CRCH = 0xFF;
unsigned char CRCL = 0xFF;

unsigned char Byte;
unsigned char Temp;

for(unsigned char i = 0;i < Lenght;i++)
{
Byte = Data[i];

asm(" EOR CRCL,Byte ");
asm(" MOV Temp,CRCL ");
..........................
..........................

И стабильно получаю собщение, что CRCL,Byte,Temp не распознаны типа:

Error[Og005]: Unknown symbol in inline assembly: "CRCL"

Error[Og006]: Syntax error in inline assembly: "Error[43]: Illegal effective address"

Подскажите пожалуйста, как это побороть.



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 76:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru