我们有 STC
指令来设置进位标志。我们对奇偶校验、溢出、符号标志等有类似的说明吗?我尝试过 STP
、STS
等,但似乎这些都不存在!
最佳答案
不,这些命令不存在。找出答案的方法是仔细阅读说明引用手册。
它们并不真的需要存在。 您可以非常轻松地有效地实现它们。 如果您不介意设置其他位,这是许多方法之一:
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 天遗留下来的,它在进行各种多精度运算时很有用,而且不损坏寄存器是一件非常好的事情)。
关于assembly - 用于设置奇偶校验、溢出和符号标志的 x86 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33644649/