汇编语言(asm)的执行时机主要取决于它是如何被整合到整个程序中的。以下是asm执行程序的一般时机:
汇编时
表达式和指令语句在汇编阶段进行处理。源程序(.asm)被汇编成目标代码(.obj)时,表达式如`adr dw ?`和指令语句如`mov adr,si-1`都是在这一阶段进行计算的。
程序执行时
当执行一个包含汇编指令的C程序时,这些汇编指令会在程序执行阶段被翻译并执行。例如,在AVR单片机中,使用`asm("nop");`会在C语言环境下直接执行一个空等待(nop)汇编指令,这个指令会使单片机暂停一个振荡周期,即125纳秒。
总结来说,asm代码的执行时机主要是在 汇编时进行表达式的处理和指令的编译,而在 程序执行时,这些指令会被翻译成机器码并执行。希望这能帮助你更好地理解asm代码的执行时机。