单片机的带借位减法

单片机中用到带借位的减法是使计算正确对吧,那么如果cy=1,SUBB#09H,#05H结果不就是03H了吗,这不错了吗。是不是先要置cy=0呢?到底要不要借位呢,那个减去... 单片机中用到带借位的减法是使计算正确对吧,那么如果cy=1,SUBB #09H,#05H结果不就是03H了吗,这不错了吗。是不是先要置cy=0呢?到底要不要借位呢,那个减去cy又是啥意思呢?请大神们赐教,不胜感激。 展开
 我来答
胖大海君
推荐于2018-03-24 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1436
采纳率:11%
帮助的人:622万
展开全部
单片机中用到带借位的减法是为了进行多字节的减法运算,在进行高位字节运算时,要同时减去低位字节的借位,以得到正确的结果。
如果cy=1,SUBB #09H,#05H 结果是03H 不是很正确噢
首先你的指令是非法指令,计算机、单片机中的立即数是不能做目的操作数的,目的操作数是要保存结果的,而立即数是不能保存结果的。

要想完成你的运算想法,应该写成如下形式:
MOV A,#9
SETB C
SUBB A,#5
即执行后: (A)-5-cy=9-5-1=3
结果为03H是正确的。

在进行最低字节的减法运算时,即刚开始做减法,还没有产生借位,应在运算前使cy=0
即 CLR C
MOV A,#DATA1
SUBB A,#DATA2
执行时, (A)-DATA2-cy=DATA1-DATA2-0

呵呵 满意 就选满意回答
huangtubaye1
2012-11-13 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:310
采纳率:0%
帮助的人:118万
展开全部
这个借位一般是多字节计算使用的,单字节最好先清掉CY。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhxiufan
2012-11-13 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38379
国家科技进步奖

向TA提问 私信TA
展开全部
cy=1,SUBB #09H,#05H,相当于256+9-5=260,其实也就是4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式