汇编语言进位与借位的问题.2-3是否会产生借位?从常理上看好-查字典问答网
分类选择

来自蒋金良的问题

  汇编语言进位与借位的问题.2-3是否会产生借位?从常理上看好像产生了借位,标志寄存器中CF应该置位,但在计算机中,减法都会转换成补码的加法,以8位2进制数为例,2的补码是00000010,-3的补码是11

  汇编语言进位与借位的问题.

  2-3是否会产生借位?从常理上看好像产生了借位,标志寄存器中CF应该置位,但在计算机中,减法都会转换成补码的加法,以8位2进制数为例,2的补码是00000010,-3的补码是11111101,两个相加,结果是11111111,不会产生进位.到底2-3有没有借位?CF的值是0还是1,

1回答
2020-05-0608:03
我要回答
提示:回答问题需要登录哦!
童胜勤

  你这里混淆了两个概念,无符号数和有符号数.

  如果你希望得到2-3=-1,那么你应该认为2和-3都是有符号数,既然是有符号数,是否产生借位要看OF标志位,即溢出标志位;

  如果你认为2和-3的补码对应的无符号数253都是无符号数,那么它们之和为255,没有产生进位.

  所以,当你判断有符号数的时候,不应该看CF来判断是否有借位.

  不管怎样,机器中的运算是00000010+11111101,结果为11111111,CF为0,OF为1.

2020-05-06 08:06:30
大家都在问
最新问答