汇编语言中 ADD AX,BX中AX=14C6 BX=80DC执行完这条语句后,OF怎么变化.怎样判断结果是否溢出和进位借位
问题描述:
汇编语言中 ADD AX,BX中AX=14C6 BX=80DC执行完这条语句后,OF怎么变化.怎样判断结果是否溢出和进位借位
答
ADD AX,BX中AX=14C6 BX=80DC
由于AX为正数
BX为负数
正数+负数,所以OF=0如果把BX换成608D结果是不是OF=1?最高位如果是大于8的数,是不是都是负数?如果把BX换成608D结果是不是OF=1?不是AX=14c6BX=608d相加得到 7553,这是正数没有溢出,OF=0【原则:正数+正数得到负数,负数+负数得到正数,是溢出】如 7000H + 7000H ,溢出 8000H+8001H,溢出此时,OF=1---------------------------最高位如果是大于8的数,是不是都是负数?、【如果你能确定这个数是int型的,他就是负数;因为C的正负数使用补码表示的,最高位是符号位】