x86指令设置奇偶校验,溢出和&标志标志

时间:2015-11-11 05:13:58

标签: assembly x86 masm32

我们有STC指令来设置进位标志。我们是否有类似的奇偶校验,溢出,符号标志等指令?我尝试了STPSTS等,但似乎这些不存在!

1 个答案:

答案 0 :(得分:7)

不,这些命令不存在。您发现的方法是仔细阅读说明参考手册。

他们并非真正需要存在。 您可以非常轻松地有效地实现它们。 如果您不介意设置其他位,这是众多方法中的一种:

STP:  XOR  AL,AL  ; resets parity bit
      XOR  AL,1   ; ... then set parity bit

STO:  OR   AL, 0FFh
      SUB  AL, 080h ; sets overflow

STS:  OR   AL, 0FFh ; sets sign bit

如果您坚持只设置特定位:

      PUSHFD
      OR    dword ptr[ESP], <bitmask_for_flag_bit> ; see Intel manual
      POPFD

硅空间是宝贵的,CPU设计者倾向于不提供容易完成的事情的说明。 (STC从8080天开始,在进行各种多精度算法时非常有用,并且不会损坏寄存器是非常好的事情。)