单片机msc-51中编程实现两个一字节压缩型BCD码的减法

编程实现两个一字节压缩型BCD码的减法,设被减数地址在R0中,减数地址在R1中,差仍存于被减数地址单元中。注意是单片机中啊。... 编程实现两个一字节压缩型BCD码的减法,设被减数地址在R0中,减数地址在R1中,差仍存于被减数地址单元中。注意是单片机中啊。 展开
 我来答
做而论道
高能答主

2023-02-26 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部

编程实现两个一字节压缩型BCD码的减法,

设被减数地址在R0中,减数地址在R1中,差仍存于被减数地址单元中。

注意是单片机中啊。

------------------

一字节压缩的 BCD 码相减。

如:22-55 =-33。

注意:-33 的 BCD 补码是 67H。

MCS-51 汇编语言程序如下:

MOV R2,#22H  ;被减数

MOV R3,#55H  ;减数

CLR C

MOV A,R2

SUBB  A,R3   ;先减一次,取得正负号

MOV F0,C   ;暂时保存

;---------下面正式相减

MOV A,#9AH

SUBB  A,R3   ;求减数的 BCD 补码=45H

ADD A,R2   ;加上被减数 22H,得 67H

DA  A      ;十进制调整,还是 67H

MOV R4,A   ;保存差

MOV C,F0   ;用 Cy 当做“符号标志位”

--------------

如果运算数据,是:55-22 = 33,

执行本程序,将有:C = 0,R4 = 33。

武器大师AUj48
2011-11-08
知道答主
回答量:20
采纳率:0%
帮助的人:11.6万
展开全部
ORG 8000H
DSUB:MOV R0,#SS ;置被减数指针
MOV R1,#SD ;置减数指针
MOV R7,#N ;置循环次数
CLR C ;置进位标志CY=1
CLR A ;累加器清0
NEXT: ADDC A,#9AH ; 99十1=100(9A)
SUBB A,@R1 ;100一减数,得减数补
ADD A,@R0 ;被减数加减数补
DA A ;十进制调整
MOV @R0,A ;存结果
INC R0 ;修改指针
INC R1
DJNZ R7,NEXT ;未完,继续
SS: DB 75H,38H,06H······
SD: DB 41H,24H,17H······
N: EQU SD一SS
END
追问
谢谢你,想请问你一下你是从哪里学习到这些知识的?
追答
单片机原理这本书上有的...
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式