Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
В 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"
Подскажите пожалуйста, как это побороть.