汇编问题关于CF寄存器和OF寄存器
来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/06 09:40:08
汇编问题关于CF寄存器和OF寄存器
书上看到的一句话:The CPU uses an interesting mechanism to determine
the state of the Overflow flag after an addition or subtraction operation. The Carry flag is exclusive ORed with the high bit of the result. The resulting value is placed in the Overflow flag.
就是说汇编里的OF寄存器里的值是CF和运算结果的最高位异或的结果.
书上的例子:
两个 8位 二进制数 10000000 and 11111110 相加
CF = 1 MSB = 0, 1 XOR 0 所以OF = 1.
1 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 0
CF 1 0 1 1 1 1 1 1 0
结果和书上所说的一致.
但是如果对于8位 二进制数1111 1111和0000 0001
0 0 0 0 0 0 0 1
+ 1 1 1 1 1 1 1 1
CF 1 0 0 0 0 0 0 0 0
CF = 1 MSB = 0,1 XOR 0 所以OF = 1,但是如果这两个数是有符号数,分别为1和-1,它们相加OF必定为0!
那这句话有什么问题吗?还是我的例子有问题?
书上看到的一句话:The CPU uses an interesting mechanism to determine
the state of the Overflow flag after an addition or subtraction operation. The Carry flag is exclusive ORed with the high bit of the result. The resulting value is placed in the Overflow flag.
就是说汇编里的OF寄存器里的值是CF和运算结果的最高位异或的结果.
书上的例子:
两个 8位 二进制数 10000000 and 11111110 相加
CF = 1 MSB = 0, 1 XOR 0 所以OF = 1.
1 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 0
CF 1 0 1 1 1 1 1 1 0
结果和书上所说的一致.
但是如果对于8位 二进制数1111 1111和0000 0001
0 0 0 0 0 0 0 1
+ 1 1 1 1 1 1 1 1
CF 1 0 0 0 0 0 0 0 0
CF = 1 MSB = 0,1 XOR 0 所以OF = 1,但是如果这两个数是有符号数,分别为1和-1,它们相加OF必定为0!
那这句话有什么问题吗?还是我的例子有问题?
CF,是运算结果的《最高位》的进位.
运算结果的《次高位》,还有一个进位.
OF寄存器里的值,是CF和《次高位的进位》异或的结果.
即,相邻的两个进位,异或之后,就成了 OF.
再问: 所以书上这句话是错的吧?
再答: OF寄存器里的值是《CF和运算结果的最高位异或的结果。》 这句,不对。
再问: 最后一个问题:The Carry flag is exclusive ORed with the high bit of the result.The resulting value is placed in the Overflow flag.这句呢?是我的理解错了吗?这是书上的原话。 ~谢谢
再答: with the high bit of the result--这句,是说《结果的高位》。 但是,它说的,不对。 应该是:OF寄存器里的值,是CF和《次高位的进位》异或的结果。
运算结果的《次高位》,还有一个进位.
OF寄存器里的值,是CF和《次高位的进位》异或的结果.
即,相邻的两个进位,异或之后,就成了 OF.
再问: 所以书上这句话是错的吧?
再答: OF寄存器里的值是《CF和运算结果的最高位异或的结果。》 这句,不对。
再问: 最后一个问题:The Carry flag is exclusive ORed with the high bit of the result.The resulting value is placed in the Overflow flag.这句呢?是我的理解错了吗?这是书上的原话。 ~谢谢
再答: with the high bit of the result--这句,是说《结果的高位》。 但是,它说的,不对。 应该是:OF寄存器里的值,是CF和《次高位的进位》异或的结果。
汇编 eax寄存器和AX,AH,AL之间的关系是怎样的
汇编标志寄存器标志位的C语言函数实现
汇编指令中给AX寄存器清0并使CF=0,下面那个是错的:MOV AX,0 XOR AX,AX SUB AX,AX AND
关于单片机的寄存器间接寻址
单片机的寄存器和存储器的区别
一个关于西门子间接寻址的问题.这个是寄存器区域间的寻址.
51单片机汇编中的寄存器R0、R1、R2如果用c语言写的话怎么表示
什么是寄存器?寄存器与存储器有何区别?两者是否一样?存储器(包括内存和外存)与寄存器均存在CPU中吗?
寄存器和存储器的区别希望详细一些.
PLC在扫描工作过程中,输入映像寄存器和输出映像寄存器各起什么作用
寄存器,锁存器,移位寄存器的区别
段寄存器物理地址的计算