(汇编语言)实验六 子程序设计之多精度十进制加法

一. 实验目的

  1. 掌握子程序的设计方
  2. 灵活掌握数据传送和算术运算指令的用法。
  3. 掌握加法计算程序的设计思路和设计方法。

二. 实验内容

1.内容:
1)将两个多精度十进制数相加。
2)要求被加数和加数均以组合BCD码形式各自存放在以DATA1和DATA2为首的连续的5个内存单元中,结果送回被加数单元。
2.要求:
1)编写一个程序,他以二进制形式显示EAX中32位数据,并设计一个主程序验证。
2)利用十六进制字节显示子程序DISPHB设计一个从低地址到高地址逐个字节显示某个主存区域内容的子程序DISPMEM。其入口参数:EAX=主存偏移地址,ECX=字节个数(主存区域的长度)。
3)综合利用所学知识,设计并完成子程序,编写一个主程序进行验证。
4)对预习报告中的源代码进行上机实现,记录实验结果。

三. 实验过程和程序

程序代码:

DATA  SEGMENT
DATA1 DB  03H 09H 01H 07H 04H 
DATA2 DB  06H 05H 00H 08H 02H 
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA2
START:  MOV AX,DATA
       MOV DS,AX
       MOV SI,OFFSET DATA1
       MOV DI,OFFSET DATA2
       MOV CX,05
       CLC
AD:    MOV AL,[SI] 
       MOV BL,[DI]
       ADC AL,BL
       AAA
       MOV [SI],AL
       INC SI
       INC DI
LOOP AD
HLT
CODE   ENDS
END  START

结果:
1.输入五次t后得到:初始化ds段后,做好做加法前准备
在这里插入图片描述
2.做完第一次加法后得到结果:09h si中
在这里插入图片描述
3.全部数加完后得到所有结果存入ds段中的si偏移地址中
在这里插入图片描述

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值