(...) It shouldn't matter if it does. More likely, it seems to me, is that TX_COLL is defined like this: #define TX_COLL -1 in which case, the offending statement becomes: tx_state=-1; which is old-style for: tx_state-=1; (should generate a (...) (25 years ago, 9-Dec-99, to lugnet.robotics.rcx.legos)
(...) it is already defined this way... indeed it looks like egcs for h8300 treats char as unsigned by default. look at the following test proggy... char ch; void showbug(void) { if (ch < 1) ch=-2; } ... and the disassembled code (...) (...) (25 years ago, 10-Dec-99, to lugnet.robotics.rcx.legos)