多位十进制数加法器设计.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深圳大学实验报告课程名称:微机原理及应用实验

实验项目名称:多位十进制数加法器设计学院:物理科学与技术学院

专业:应用物理

指导教师:

报告人:学号:班级:应用物理班

实验时间:2015-10-19

实验报告提交时间:2015-11-02

教务处制

五、程序说明(预习)

七、实验源程序清单(实验后以电子报告形式存储到指定位置)1.源程序路径及文件名:

ADD2.ASM ADD1.ASM

2.可执行程序路径及文件名:

八、上机调试情况说明

EMU8086:

一:没有键盘录入

1.结果显示如下:

2.程序运行时的各段地址:

3.两个子程序IP入口:

4.改变两个加数数值

5.子程序格式及其调用方法和宏汇编区别

子程序格式:

子程序名称PROC NEAR ; 子程序定义; …子程序内容

RET ;子程序返回

子程序名称ENDP ;子程序结束

调用格式:

CALL 子程序名称

注意事项:

1、子程序不能直接传递参数,需要自行定义变量。

2、注意保护现场和恢复现场。

宏汇编与子程序的区别:

1、宏汇编有宏展开,子程序没有

2、宏汇编可以传递参数。

二:键盘录入

DOS:

例如:250+250=500

例如:62142+63123=125265

九、实验结果与分析

结果如下:

十、实验总结(必备部分,评分重要依据之一)

本次实验实则是对实验二的加强巩固基础上,进行更加友好的人机交互设计;通过本次实验不仅在程序中首先把两个加数固定,在实验二的基础上扩展位数,考虑到最高位进位的情况,并最终得出正确结果;后来又通过键盘录入两个加数,增加了人机交互的设计,如此一来,更加加深了对寄存器的使用,汇编语言宏定义,子程序调用以及DOS功能调用的学习。同时,通过本次实验的学习,更加熟练了EMU8086工具的使用,也把理论课上学习到的汇编操作指令实际操作,对汇编语言的风格加深认识。

MOV DL,BL

INT 21H

CRLF

JMP BEGIN

ERROR:

CRLF

MOV AH,09H ;显示输入错误

LEA DX,STRING3

INT 21H

CRLF

JMP BEGIN

EXIT:

CRLF

MOV AH,09H ;显示成功退出

LEA DX,STRING4

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START

(2)请问你的程序能否处理加数和被加数都介于0~65535范围但计算结果超出该范围的情况?如何改进?

可以,如图:

主要考虑到最高位是否进位,可以设置一个进位变量加以判断。

(3)加数或被加数为负数,结果是否正确,输出格式上作何处理?

答:如果加数或被加数为负数,结果不正确。

设想:可以在输入格式上,判断第一位的ASCII码是否为“-”,如果为负,则可以将数字转化为其补码再作加法运算,如果两数的和也为负数,则在也输出格式上将结果转化为补码表示。

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

3. 实验过程与实验报告评分比例会根据具体实验来调整。

4. 务必把实验课前老师签字了的预习报告附上,否则不予评分。

相关文档
最新文档