有人可以用汇编语言解释这个延迟例程吗?

时间:2013-10-26 11:48:51

标签: assembly x86 logic tasm microprocessors

我在汇编语言中有这个延迟例程,任何人都能解释一下这是如何工作的吗? 我非常擅长集会并试图理解这些见解。任何人都可以帮助我理解PUSH& amp;的功能。 POP?任何帮助将不胜感激:)

    DELAY: MOV CX, 0FFH

    DLY5: PUSH CX
          MOV CX, 03FFH

    DLY10: NOP
           LOOP DLY10
           POP CX
           LOOP DLY5
           RET

1 个答案:

答案 0 :(得分:2)

在这种情况下,push/pop用于运行外部循环。并且只有一个寄存器用于整个延迟,同时有两个计数器(内部循环为03FFH,外部循环为0FFH)。

也许作者不想破坏另一个寄存器,或者他想使用需要cx寄存器的循环指令。