汇编跳转后比较标志是否被清除?
Are comparison flags cleared after a jump in assembly?
一个基本问题,但我找不到答案。在汇编中,不管是哪一个,用于执行JE, JNE, JL, JG, JLE, JGE
的标志是否通常在跳转完成后全部清除?
条件跳转指令不设置标志。因此,例如,您可以在同一个比较中跳转多次:
cmp eax, ecx
jl foo ; if eax < ecx jump to foo
jg bar ; if eax > ecx jump to bar
jmp baz ; otherwise jump to baz
一个基本问题,但我找不到答案。在汇编中,不管是哪一个,用于执行JE, JNE, JL, JG, JLE, JGE
的标志是否通常在跳转完成后全部清除?
条件跳转指令不设置标志。因此,例如,您可以在同一个比较中跳转多次:
cmp eax, ecx
jl foo ; if eax < ecx jump to foo
jg bar ; if eax > ecx jump to bar
jmp baz ; otherwise jump to baz