血轩宇 发表于 2012-5-31 16:45:56

关于汇编的问题,以上程序执行完后,CF,OF的值是_____

3、    sub ax,ax
      mov ax,5
      add ax,-3
以上程序执行完后,CF,OF的值是_____
A、 0,0               B、 0,1                      C、 1,0            D、 1,1

为什么答案是C呢?
-3表示的是补码11111101,还是10000011?
如果是11111101+101=00000010.。。。CF为1,OF应该也为1吧

努力学习 发表于 2012-5-31 20:48:19

-3的补码是11111101,不过楼主用的是16位寄存器,所以前面要加上8个1,楼主的cf为1推测正确,对于of位,它是溢出的表示,不是进位,当然不能用进位的思维去考虑,楼主对于of位的考虑就是参照了cf位,所以认为of位也应该为1,但是of位是否改变是取决于符号位的改变,简单的说在上题运算时,5的符号位是0,-3的符号位是1,相加后符号位还是为1,所以没有溢出,of位还是0{:5_92:}
页: [1]
查看完整版本: 关于汇编的问题,以上程序执行完后,CF,OF的值是_____