【发布时间】:2012-02-16 11:10:15
【问题描述】:
我正在努力解决 x86 中的溢出和携带标志。
据我了解,对于有符号 2 的补数的加法,只能以四种方式之一生成标志(我的示例是 4 位数字):
- pos+pos = 否定(溢出)
- 0111 + 0001 = 1000 (7 + 1 = -8)
- pos+neg = pos(进位)
- 0011 + 1110 = 0001 (3 + -2 = 1)
- 否定+否定=否定(进位)
- 1111 + 1111 = 1110 (-1 + -1 = -2)
- neg+neg = pos(溢出和进位)
- 1000 + 1001 = 0001 (-8 + -7 = 1)
那么,在 x86 汇编中,从 A 中减去 B 会生成与添加 A 和 -B 相同的标志吗?
【问题讨论】:
标签: math x86 overflow twos-complement carryflag