中易网

高分跪求汇编语言8位(4字节)压缩BCD码加、减法程序!

答案:1  悬赏:70  
解决时间 2021-03-23 22:15
程序要完整,注释请务必详细。
在此先行谢过,一经采纳,还有加分送上!

是使用8086/8088的汇编语言。
最佳答案
; 本程序通过编译,运行正确
Code Segment
Assume CS:Code,DS:Code
BCD_1 db 56h,23h,62h,19h
BCD_2 db 38h,96h,27h,49h
BCD_Add db 4 dup(?) ;预留相加结果存储单元
BCD_Sub db 4 dup(?) ;预留相减结果存储单元
Start: push cs
pop ds ;使数据段与代码段同段
push cs
pop es ;使附加段与代码段同段
; -------------------------------------
; 压缩BCD码加法
mov si,3 ;数组下标初值
lea di,BCD_Add[3] ;相加结果存储单元起始地址
mov cx,4 ;4字节
std
clc ;清进位标志
@@Add: mov al,BCD_1[si] ;读取1位被加数
adc al,BCD_2[si] ;带进位加法
daa ;十进制数加调整指令DAA(Decimal Adjust After Addition)
stosb ;保存相加结果
dec si ;下标减1
loop @@Add
; -------------------------------------
; 压缩BCD码减法
mov si,3 ;数组下标初值
lea di,BCD_Sub[3] ;相减结果存储单元起始地址
mov cx,4 ;4字节
clc ;清进位标志
@@Sub: mov al,BCD_1[si] ;读取1位被减数
sbb al,BCD_2[si] ;带借位减法
das ;十进制数减调整指令DAS(Decimal Adjust After Subtraction)
stosb ;保存相减结果
dec si ;下标减1
loop @@Sub
; -------------------------------------
Exit_Proc: mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦幻诛仙手游黄金兜兜怎么样 黄金兜兜培养攻
杭州今年天气还会再热起来吗
怎么挑选玻璃衣柜门
小区里开家放心肉店赚钱吗?
怀孕几个月打不掉孩子
为什么我的皮肤刚涂上粉底最多20分钟就吃进去
装修公司把工地装修包给项目经理,项目经理找
外地卡怎么销号啊?欠费会自动销号么?
H2O品牌的化妆品大概要多少钱?
湖南怀化鹤城区夜宵 武陵城大酒店附近
下载邓紫棋的歌要不要钱?
冰淇淋车开在路上做生意,要办什么手续吗?
古时候的一丈相当于现在多少米
27课我是猫,课文十分幽默风趣,找出发笑的句子
对锯片进行碾压,会对锯片的应力产生什么影响
推荐资讯
企业异地电汇一星期还没到帐会是什么原因
太原富力桃园办下房产证了吗
纯电动汽车保养需要更换机油吗
房屋租赁合同要提前解约去哪办理?办理需要带
脸上老是长痘痘,然后就是痘印,好了又复发,
侠盗猎车手圣安地列斯开了光影后,很模糊。(
烟台哪里有卖干米线的
蓬莱阁怎么样啊?想去转转
js function return false 页面不刷新
你愿意娶一个已经和别人生了孩子的女人吗?如
事业单位职工因伤病不能上班,最多允许请假多
有一个东西插在手机上的银行卡叫什么卡
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?