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

2-3是否会产生借位?从常理上看好像产生了借位,标志寄存器中CF应该置位,但在计算机中,减法都会转换成补码的加法,以8位2进制数为例,2的补码是00000010,-3的补... 2-3是否会产生借位?从常理上看好像产生了借位,标志寄存器中CF应该置位,但在计算机中,减法都会转换成补码的加法,以8位2进制数为例,2的补码是00000010,-3的补码是11111101,两个相加,结果是11111111,不会产生进位。到底2-3有没有借位?CF的值是0还是1,请高手详细指点一下。 展开
 我来答
zirwy
2010-10-13 · TA获得超过493个赞
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:127万
展开全部
你这里混淆了两个概念,无符号数和有符号数。
如果你希望得到2-3=-1,那么你应该认为2和-3都是有符号数,既然是有符号数,是否产生借位要看OF标志位,即溢出标志位;
如果你认为2和-3的补码对应的无符号数253都是无符号数,那么它们之和为255,没有产生进位。
所以,当你判断有符号数的时候,不应该看CF来判断是否有借位。
不管怎样,机器中的运算是00000010+11111101,结果为11111111,CF为0,OF为1。
pig05121
2010-10-13 · TA获得超过599个赞
知道小有建树答主
回答量:234
采纳率:50%
帮助的人:137万
展开全部
王爽《汇编语言》第二版是这么说的:
一般情况下,在进行无符号数运算的时候,它(CF)记录了运算结果的最高有效位向更高位的进位值,或从更高位的借位值。
也就是说,在2-3的时候,它产生了借位,CF为1;而2+(-3)的时候,计算机把它当作2+FCH的运算来影响CF,所以CF为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7525bda
2018-04-08
知道答主
回答量:1
采纳率:0%
帮助的人:883
展开全部
计算错了,OF为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式