多位十进制数加法器设计

多位十进制数加法器设计

ID:33126355

大小:695.50 KB

页数:16页

时间:2019-02-20

多位十进制数加法器设计_第1页
多位十进制数加法器设计_第2页
多位十进制数加法器设计_第3页
多位十进制数加法器设计_第4页
多位十进制数加法器设计_第5页
资源描述:

《多位十进制数加法器设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、深圳大学实验报告课程名称:微机原理及应用实验实验项目名称:多位十进制数加法器设计学院:物理科学与技术学院专业:应用物理指导教师:报告人:学号:班级:应用物理班实验时间:2015-10-19实验报告提交时间:2015-11-02教务处制-16-一、实验名称:多位十进制数加法器设计二、实验目的(1)继续熟练掌握在PC机上建立、汇编、链接、调试和运行8088汇编语言程序的过程;(2)学习数据传送和算术运算指令的用法;(3)掌握子程序设计方法;(4)掌握宏汇编设计方法;(5)掌握键盘输出的DOS功能调用方法。三、实验内容(1)将两个多位十进制数相加。要求被加数、加数均以ASCII码

2、形式各自按高位高地址的规律分别顺序存放在以DATAl和DATA2为首的5个内存单元中(低位在前),结果送回结果变量DATA3处,并屏幕显示结果。(2)在以上程序基础上,设计一个多位十进制数加法器,键盘输入十进制加数和被加数,将输入和输出结果以竖式形式显示在屏幕。四、实验任务分析与算法分析(软件实验)或实验电路及连线(硬件实验)实验及报告要求:1)要求画出完整的程序流程图。2)根据流程图和部分提示代码,编写完整的汇编代码源文件(特别是以上红字部分),并存入合适目录,要求补充写出所有未注释的伪指令和指令的注释;3)编译、连接生成可执行文件,分别在debug和Emu8086下调试

3、该可执行文件,给出程序运行时的各段地址(CS=?,DS=?SS=?ES=?)及两个子程序入口的IP;试改变加数和被加数,如何从内存中观察结果的变化?总结子程序格式及其调用方法;结合本程序说明宏调用与子程序的区别。4)写出完整的实验报告,特别是“实验结果”与“实验总结体会”部分,是评分的主要依据。5)实验总结中要求结合实验中的经验、教训或体会对汇编语言格式、调试方法、汇编指令及汇编语言编程方法、微机原理学习方法作出总结。实验任务1.将两个多位十进制数相加。要求被加数、加数均以ASCII码形式各自按高位高地址的规律分别顺序存放在以DATAl和DATA2为首的5个内存单元中(低位

4、在前),结果送回结果变量DATA3处,并屏幕显示结果。算法分析:定义两个加数,并分别存至两个变量之中;分别取变量中的对应万千百十个位上的数,由ASCII码转换成数值后,对应位相加(使用带进位的加法命令),得到的数值保存至结果变量的对应位上,并调用DOS屏幕显示字符功能显示。功能: 将被加数和加数分别显示,接着运行加法运算,然后将结果显示出来。     算法说明: ①定义数据段:定义被加数和加数,且要使其用ASCII码以十六进制之间的转换; ②定义堆栈段,并给SP_TOP单元赋初值0; ③定义代码段,并将源代码放在里面   首先,编写主程序;   接着,编写显示、回车换行和加

5、法运算的子程序。 ④程序结束。 -16-所用到的寄存:AX、SS 、CS 、DS、 ES、SI、SP、DI五、程序说明(预习)-16-六、源程序清单及其每句的注释1.没有键盘录入的源程序CRLFMACRO;回车换行宏定义MOVAH,02MOVDL,0DHINT21HMOVAH,02MOVDL,0AHINT21HENDMDATASEGMENT;数据段DATA1DB35H,34H,33H,32H,35H;代表12345DATA2DB30H,32H,34H,36H,38H;代表86420DATA3DB6DUP(0),'$'CARYDB0DATAENDSSTACKSEGMENTST

6、ACK;堆栈段STADB64DUP(0)STACK_TOPDB0STACKENDSCODESEGMENT;代码段ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:;程序开头必须要有的五条指令MOVAX,DATAMOVDS,AX;设置数据段MOVAX,STACKMOVSS,AX;设置堆栈段LEASP,STACK_TOP;设置栈顶指针;---------------------------------------;程序的中间部分LEABX,DATA1;加数1送至BX,传至子程序DISP的形参CALLDISP;调用显示字符串子程序,将第一个加

7、数显示到屏幕LEABX,DATA2;加数2送至BX,传至子程序DISP的形参CALLDISP;调用显示字符串子程序,将第一个加数显示到屏幕LEABX,DATA1;加数1送至BXMOVSI,0;定义指针SI依次指向变量单元的下一个数据,相当指针MOVCX,5;设置循环次数5NEXT1:SUBBYTEPTR[BX][SI],30H;将BX里面的对应存储单元的字符串ASCII码转换为对应二进制-16-INCSI;指针自加一LOOPNEXT1;循环执行LEABX,DATA2;加数1送至BXMOVSI,0;定义指针SI依次指

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。