我正在尝试使用条件跳转指令。
Label:
mov eax, 0xffffffff
not eax
jz Label ; jump only if zero
然而,jz没有跳转到Label。这是因为$ eflags显示ZF未设置。我不明白为什么当EAX是0x00000000时没有设置ZF?
谢谢!
答案 0 :(得分:3)
在任何x86编程手册中查找NOT指令(例如this PDF from Intel - 它会告诉你没有设置标志。所以简单的答案是它没有设置ZF,因为它不应该。
如果你想问更深层次的问题,为什么他们这样设计,对不起,我不知道。
答案 1 :(得分:2)
并非所有汇编指令都会对标志产生影响。not
不会影响任何标志。
答案 2 :(得分:0)
而不是尝试使用xor eax,0ffffffffh。