【发布时间】:2010-07-15 20:28:41
【问题描述】:
在 x86 汇编中,是否可以在一条且仅一条指令中清除奇偶校验标志,在 any 初始寄存器配置下工作?
这相当于创建一个具有 奇数 位数的结果寄存器,并使用任何设置标志的操作(明确排除 mov)。
相比之下,设置奇偶校验标志可以在一条指令中完成:
cmp bl, bl
还有很多方法可以用两条指令清除奇偶标志:
and bl, 0
or bl, 1
然而,单指令方法仍然难以捉摸。
【问题讨论】:
-
我的猜测是否定的,因为 x86 寻址模式。
-
出于所有实际目的,mov 和其他任何东西一样好。
-
"mov" 不会在 x86 架构上设置标志 - 只有 ALU 操作可以。
标签: assembly x86 micro-optimization parity