我想写一个简单的代码(或算法)来设置/清除溢出flag.can你能帮我吗?
发布于 2016-04-27 21:01:18
许多指令将OF作为一种副作用清除,例如test。因此,您可以编写类似test eax, eax的代码,这将清除OF,尽管它会影响其他标志。您没有指定是否允许这样做。
要设置OF,您可以执行一些设置它的操作。例如,将最大正数加1:mov al, 0x7f; add al, 1
或者,您可以使用pushf复制堆栈上的标志,根据自己的喜好对其进行修改,然后使用popf将其取回。
发布于 2016-04-27 21:00:46
设置Overflow flag(OF) - Bit 11 of EFLAGS使用(在MASM语法中)
pushfd ; mov EFLAGS to stack
bts dword ptr [esp], 11 ; set OF flag
popfd ; write it back to status register和分别使用以下命令重置OF标志:
pushfd ; mov EFLAGS to stack
btr dword ptr [esp], 11 ; reset OF flag
popfd ; write it back to status registerhttps://stackoverflow.com/questions/36890350
复制相似问题