微机原理,判断标志位怎么变完成下列十六进制数的运算,并给出个标志位!9090H-4AE0H=?我知道答按是45B0H,可

1个回答

  • 计算机内部运算时数都是按补码表示的,最高位是符号位,因为9090H写为二进制为100100001001000,其最高位是1,因此看为负数,4AE0H写为二进制为0100101011100000,其最高位是中,因此是正数,现在为一个负数减一个正数,结果应为负数,而实际结果为45B0H,其最高位是0,表示为正数,因此结果产生溢出.

    AF为辅助进位标志,它表示的是运算中第3位是否向第4位借位或进位(从右往左数,从第0位开始),如有则为1 如无则为0,9090H的后4位都为0,4AE0H的后4位也为0,作减法时没有借位,所以AF=0.