汇编指令条件标志判断小记(OF,CF,SF,ZF)

O F OF OF: 溢出标志,用于反映带符号数运算结果的溢出判断,在加法指令中,若两个操作数同号,结果与操作数同号, O F OF OF为0,否则为1(两个操作数异号则始终为0),在减法指令中,若两个操作数异号,结果与被减数同号, O F OF OF为0,否则为1(两个操作数同号则始终为0)。
S F SF SF: 符号标志,反映带符号数运算结果,运算结果为负数 S F SF SF为1,否则为0。
Z F ZF ZF: 零标志,运算结果为0则 Z F ZF ZF为1,否则为零。
C F CF CF: 进位/借位标志,将两个操作数当做无符号数,在加减法指令下,若有进位或借位则 C F CF CF为1,否则为0。

#对于 M U L MUL MUL无符号数乘法指令来说,若乘积高n位为全零, C F CF CF O F OF OF皆为0,否则皆为1(代表结果有溢出)。
#对于 I M U L IMUL IMUL带符号数乘法指令来说,若乘积高n+1位为全零或全1, C F CF CF O F OF OF皆为0,否则皆为1(代表结果有溢出)。
#对于 N E G NEG NEG取负指令来说,若操作数为最大负数,则 O F OF OF为1,否则为0,操作数为0,则 C F CF CF为0,否则为1.

猜你喜欢

转载自blog.csdn.net/skl4869/article/details/121424832