2字节BCD码减法 汇编程序 10

两个2字节BCD码数值相减,如#55H减#22H结果为#33H。对于被减数小于减数的问题处理应能有符号位表示,如至CY为1。... 两个2字节BCD码数值相减,如#55H 减 #22H 结果为 #33H。对于被减数小于减数的问题处理应能有符号位表示,如至CY为1。 展开
 我来答
univercity03
推荐于2018-05-06
知道答主
回答量:26
采纳率:100%
帮助的人:8.5万
展开全部
BCD码相减等于加上减数的补数。如55-22 就是55+(100-22)=133,丢掉进位之后,就能得到正确的结果。由于影响进位,因此CY会变为1的。
具体程序如下:
CLR C
MOV A, #9AH ;做100-22的减法
SUBB A, #22H
ADD A, #55H
DA A
做而论道
高能答主

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

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   ;你所需要的“负数标志位”

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

如果原数据,是:55-22,

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式