【发布时间】:2023-01-08 13:19:17
【问题描述】:
我使用 masm615 汇编器和文本板作为编辑器。我正在编写 32 位汇编程序。在程序中,由于 mul 指令,我试图设置零标志,但它不起作用。
谁能告诉我为什么在 eax 寄存器中的结果为零时零标志被清除?
include irvine32.inc
.data
.code
main proc
xor eax,eax
call dumpregs
xor ebx,ebx
call dumpregs
mov eax,2
call dumpregs
mov ebx,3
call dumpregs
sub eax,2
call dumpregs
mul ebx
call dumpregs
exit
main endp
end main
【问题讨论】:
-
同样适用于
imul,顺便说一句。 felixcloutier.com/x86/imul#flags-affected。此外,使用调试器来单步执行您的代码,这样您就不需要用call dumpregs把它搞得一团糟。
标签: assembly x86 masm irvine32 eflags