我试图理解x86中的溢出和进位标志。
据我所知,对于有符号2进制数的加法,这些标志只能通过以下四种方式之一产生(我的示例是4位数):
- pos+pos = neg(溢出)
- 0111 + 0001 = 1000(7 + 1 = -8)
- pos+neg = pos(进位)
- 0011 + 1110 = 0001(3 + -2 = 1)
- neg+neg = neg(进位)
- 1111 + 1111 = 1110(-1 + -1 = -2)
- neg+neg = pos(溢出和进位)
- 1000 + 1001 = 0001(-8 + -7 = 1)
因此,在x86汇编中,将B从A中减去是否会生成与添加A和-B相同的标志?