Hi Friends, Has anyone come up with a decent workaround for using inline assembly in HiTech C when the optimizer screws it up? Compiling the assembler part to a separate module without optimizing is not really a good option(that's the recommended thing to do, and it's stupid). For instance, if I want to count loops until pin 4 of PORTC drops and have it drop through on overflow, I'd do this: aa1 decfsz _count btfss 7,4 ;that's portc pin 4 goto aa2 goto aa1 aa2 more stuff here... then the optimizer gets it's hands on it and does: aa1 decfsz _count btfsc 7,4 ;note btfss is now btfsc goto aa1 more stuff here... Needless to say it no longer has the timeout working. There is no "keep hands off" directive. What I've been doing is adding a nop to make space and then loading the hex code into MPLAB and patching the code back to my original. Hack! Anyone? Thanks, Bob