我在程序集emu8086模拟器中有以下几行:
mov al,00100000b
ror al,8
当al
等于0000 0001
时,两个标记Carry&溢出被关闭,
但当al
等于1000 0000
时,两个标志都会打开。
进位标志正常 - 最后一位数字1
在标志中,但为什么此操作也会打开溢出标志?
感谢您的帮助!!!
答案 0 :(得分:3)
OF标志仅针对1位旋转定义;在所有其他情况下都未定义(RCL和RCR指令除外) only:零位旋转不执行任何操作,这会影响无标记)。对于左旋转,OF标志设置为异或 CF位(旋转之后)和结果的最高位。对于右旋转,OF标志设置为 结果的两个最重要的位的异或。
不确切地知道为什么ROR
具有此行为可能此功能可用于计算奇偶校验位。