LOOP 指令无法循环,即使 (--cx != 0)
LOOP instruction fails to loop even though (--cx != 0)
我正在为学校实现乘法算法,所以请不要帮助算法。我使用的是 C 子程序约定,所以我不需要按 CX,结果在 DX 中返回:AX。我正在使用 codeview
进行调试。
在 LOOP 行,CX 被视为 16:
在使用 F10 后,我相信它应该让我回到 shiftR
标签。发生的事情是 CX 变为 0,我继续退出子例程,如以下屏幕截图所示:
还有,可以看到进位和溢出标志是在步进之后设置的!我不认为 LOOP 可以做到这一点?是什么赋予了?我忽略了什么?
已解决:我抢了枪。正如 David Wohlferd 提到的,F8 是 step
而 F10 是 next
使用 GDB 术语。
我正在为学校实现乘法算法,所以请不要帮助算法。我使用的是 C 子程序约定,所以我不需要按 CX,结果在 DX 中返回:AX。我正在使用 codeview
进行调试。
在 LOOP 行,CX 被视为 16:
在使用 F10 后,我相信它应该让我回到 shiftR
标签。发生的事情是 CX 变为 0,我继续退出子例程,如以下屏幕截图所示:
还有,可以看到进位和溢出标志是在步进之后设置的!我不认为 LOOP 可以做到这一点?是什么赋予了?我忽略了什么?
已解决:我抢了枪。正如 David Wohlferd 提到的,F8 是 step
而 F10 是 next
使用 GDB 术语。