作业帮 > 综合 > 作业

单片机的带借位减法单片机中用到带借位的减法是使计算正确对吧,那么如果cy=1,SUBB #09H,#05H结果不就是03

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/18 23:39:27
单片机的带借位减法
单片机中用到带借位的减法是使计算正确对吧,那么如果cy=1,SUBB #09H,#05H结果不就是03H了吗,这不错了吗.是不是先要置cy=0呢?到底要不要借位呢,那个减去cy又是啥意思呢?请大神们赐教,
单片机中用到带借位的减法是为了进行多字节的减法运算,在进行高位字节运算时,要同时减去低位字节的借位,以得到正确的结果.
如果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