We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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