Hello, everyone!

I am getting an error that I don't understand. I have an interrupt function 
with some 
inline assembly, and I can't see anything wrong with it. Am I missing 
something? I got 
this error with 3.6.0 #9615, and then again with 3.6.9 #10186

pi@stm8pi:~ $ sdcc -mstm8 -c x.c
x.c:21: error 9: FATAL Compiler Internal Error in file 'peep.c' line number 
'46' : 
readint() got non-integer argument. 
Contact Author with source code
x.c:21: error 9: FATAL Compiler Internal Error in file 'peep.c' line number 
'46' : 
readint() got non-integer argument. 
Contact Author with source code
x.c:21: error 9: FATAL Compiler Internal Error in file 'peep.c' line number 
'46' : 
readint() got non-integer argument. 
Contact Author with source code

Here is the preprocessor output I used to verify:

char     bits_rx;
char    *ptr_rx;

void tim2c_isr(void) __interrupt (14)
{
    *(volatile char *)(0x5304) = 0;

    if (!bits_rx)
 return;
    bits_rx--;
    if (bits_rx & 0x80)
 return;
__asm
    ld a, 0x5006
    and a, #(1 << 5)
    add a, #255
    rrc [_ptr_rx]
__endasm;
if (!(bits_rx & 7))
    ptr_rx++;
}

It compiles fine without the inline assembly. Sorry if I am missing something 
obvious!

Thanks,
-Richard

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to