讨论溢出的时候,要把参加运算的数字,看成补码。
----
mov al,98--这是+98的补码
add al,99--这是+99的补码
和,显然超过-128~+127的范围,溢出,是肯定的。
----
mov al,16;10h--这是+16的补码
add al,144;90h--这是-112的补码
和,为A0(160),这是-96的补码。
和,不超过-128~+127的范围,故不溢出。
----
上面所说的,是由““人””来判断溢出的方法。
在CPU内部,是按照两个进位相““异或””来判断的,结果和““人的判断””相同。
运算不看正数负数,但OF要看,97、98(最高位第8位都是0)加完最高位由0变1,所以溢出
144最高位第8位是1,16最高位是0,看成正数加负数,不考虑溢出问题