我在汇编语言中有这个延迟例程,任何人都能解释一下这是如何工作的吗? 我非常擅长集会并试图理解这些见解。任何人都可以帮助我理解PUSH& amp;的功能。 POP?任何帮助将不胜感激:)
DELAY: MOV CX, 0FFH
DLY5: PUSH CX
MOV CX, 03FFH
DLY10: NOP
LOOP DLY10
POP CX
LOOP DLY5
RET
答案 0 :(得分:2)
在这种情况下,push/pop
用于运行外部循环。并且只有一个寄存器用于整个延迟,同时有两个计数器(内部循环为03FFH,外部循环为0FFH)。
也许作者不想破坏另一个寄存器,或者他想使用需要cx
寄存器的循环指令。