我一直在阅读 8086 指令集,它说 CMP(比较)可以设置进位标志。我知道比较会减去两个操作数,但我想知道在这种情况下是否有人可以提供一个示例。
我只是无法理解添加数字和负数将设置进位标志的想法。我已经阅读了借用标志,但我只需要一个示例来阐明我对比较指令的理解。
另外,我知道如果 3 - 5 = -2 会设置负标志...什么时候设置进位?
- 在导致下溢或溢出的操作之后设置进位标志。例如,从 6 减去 10 将导致下溢并设置进位标志。同样,寄存器的最大值加1将导致溢出并设置进位标志。
- 进位标志也在移位操作期间被修改,它被设置
到从目标寄存器移出的最后一位的值。
- 位测试会将测试位的值放入进位
旗帜。执行此操作的操作码:BT、BTC、BTR 和 BTS。
- 直接影响进位标志的指令:CLC、CMC 和 STC。
- 在比较期间,进位标志被设置,就像两个
操作数已被减去。
- 在求反 (NEG) 期间,进位标志被设置,除非操作数是
零,在这种情况下它被清除。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)