【问题标题】:LOOP instruction fails to loop even though (--cx != 0)即使 (--cx != 0) LOOP 指令也无法循环
【发布时间】:2016-07-15 05:52:50
【问题描述】:

我正在为学校实现一个乘法算法,所以请不要对算法提供帮助。我使用的是 C 子程序约定,所以不需要推送 CX,结果在 DX:AX 中返回。我正在使用codeview 进行调试。

LOOP 行,CX 被视为 16:

在使用 F10 之后,我相信它应该让我回到 shiftR 标签。发生的情况是 CX 变为 0,我继续退出子例程,如下图所示:

同样,您可以看到在步进后设置了进位和溢出标志!我不认为 LOOP 可以做到这一点?是什么赋予了?我忽略了什么?

【问题讨论】:

  • 如果使用 F8 而不是 F10 会怎样?

标签: debugging assembly masm x86-16 code-view


【解决方案1】:

已解决:我开枪了。正如David Wohlferd 所提到的,F8step,而 F10next,使用 GDB 术语。

【讨论】:

    猜你喜欢
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多