[Icc-430] ICC430 generating an invalid assembler instruction
Sergio Paulo Sider
sergiosider at gmail.com
Wed May 9 09:33:47 PDT 2007
Hi Richard & All,
I got the following error when trying to compile a C program:
!E killme.s(xxx): invalid dst operand mode
the offender line is:
mov R11, at R1
that is on the asm code the compiler created itself.
I removed all unnecessary code from the program just to clarify. The
single killme.c source is:
void update_ptr(char **s)
{
while (*((*s)++)); //too many parenthesis?! ;-)
}
int proc_string(char* fullstring)
{
char c;
while (c=*fullstring++) {
switch (c) {
case 0x81: //simple delay
//bla bla bla
update_ptr(&fullstring);
//bla bla bla
break;
default:
putchar(c);
break;
}
}
return 0;
}
void main(void)
{
proc_string("test""\x00""test2""\x00""test3");
}
I know I am not a genius C coder, but it seems the compiler should not
generate an invalid assembler instruction even if my C program looks
ugly...
(obs: using ICC430 V7.05A, feb,14,2007), standard - dongle version
Regards,
Sergio.
More information about the Icc-430
mailing list