Hi, I have a pretty big file that during it's performance, in a specific place of the code flow, I would like to wait for exactly 4 clock cycles. The best way for me to do this, is using the empty line command (; // nop). Unfortunately, this doesn't produce any ASM code line (why ? maybe it was optimized ?) Next, I tried to add an the following lines: #pragma asm NOP; NOP; NOP; NOP; #pragma endasm and have enabled the SRC directive for this particular file from the Keil uVision. This works, but with one limitation: the whole file was translated into assembler file, not just these 4 lines, and this cause the debug operation to be much harder (when runing step-by-step, for example). Is there a way to tell the complier to create an assembler code for this NOP section only ? Can you think of any other (better) way to achive the required goal ? Thanks, Amit A.
more information: Even if cancelling the optimizer using #pragma save #pragma optimize (0) .. .. ; // nop ; // nop ; // nop ; // nop .. .. .. #pragma restore the ; // nop lines dosn't translate into ASM NOPs. I am using the following tools set: IDE-Version: µVision3 V3.05c Tool Version Numbers: Toolchain Path: C:\Keil\C51\BIN\ C Compiler: C51.Exe V7.50 Assembler: A51.Exe V7.10 Linker/Locator: BL51.Exe V5.12 Librarian: LIB51.Exe V4.24 Hex Converter: OH51.Exe V2.6 CPU DLL: S8051.DLL V2.45 Dialog DLL: DCORE51.DLL V2.45 Target DLL: BIN\DCD_DoCD.DLL V1.04 Dialog DLL: TP51.DLL V2.45