微机原理,判断标志位怎么变完成下列十六进制数的运算,并给出个标志位!9090H-4AE0H=?我知道答按是45B0H,可是为什么AF=0,OF=1呢?这个数字哪里溢出了?为什么溢出了?还有为什么AF=0,不要把AF的定义给我说一遍,AF定义我知道!但是我看不太懂 数学
网友回答
【答案】 数的运算按补码 9090H的最高位是1,故看作负数,4AE0H的最高位是0,故看作正数,负数减正数,结果应为负数,现结果为45B0H,最高位是0,看作正数,因此结果产生溢出.
AF为辅助进位标志,表示运算中第3位是否向第4位有进位或借位(从右往左数位数,且从第0位开始计)9090H和4AE0H的后4位都0 ,作减法不会产生借位,故AF=0.