微机原理及接口技术实验指导书(TPC-ZK-II认证)20151026 - 图文(7)

2019-04-13 23:33

4. 若排序结果显示正确,则保存实验程序和实验结果截屏,让老师检查,回答老师提出的关于实验的相关问题,通过后关闭电脑即可离开实验室;

5. 若排序结果显示不正确,则需要打开动态调试工具软件debug/exe软件对源程序生成的可执行文件.exe进行调试,查错改错。 七、注意事项

1. 计算机必须连接实验箱后,才能够在TPC-ZK-II集成开发环境中完成编译连接运行整个过程。没有连接实验箱的计算机TPC-ZK-II集成开发环境中只能对程序进行编译连接,运行时会报错。需要按照下面方法运行程序:

计算机任务栏左侧开始-运行-输入cmd-打开command窗口,指明之前保存源程序文件的文件夹路径,输入可执行文件名,回车即可运行可执行文件查看实验结果是否正确。

2. 因为公共实验室的计算机都装有防病毒卡,所以请将程序保存在非系统盘内,否则计算机意外关机或重启后所作的工作都将丢失。

3. DOS功能调用INT 21H的9号功能调用使用时一定要注意字符串必须以?$‘结束,否则会不断输出显示,造成计算机或开发环境软件崩溃。 八、实验报告要求

实验报告中应包括以下内容: 1. 本实验所涉及工程问题描述 2. 实验工作原理与理论分析 3. 预习思考题的实验验证分析 4. 实验过程描述和实验结果分析 5. 实验结论 6. 课后思考题 7.个人体会和建议

实验报告模板可参照附件1。 九、课后思考题

1)INT 21H的1号功能调用在本实验中的作用是什么? 2)本实验中是否用到CMP指令,如果是,作用是什么?

25

微机原理与接口技术实验指导书

3)INT 21H的9号功能调用使用时有什么注意事项? 4)什么是ASCII码? 十、参考资料

1. 微型计算机原理与接口技术,周荷琴,吴秀清,第一章至第四章,P1~P200,中国科技大学出版社。

2. 微机原理及接口技术实验指导书,《微机原理及接口技术》课程教学团队,北京航空航天大学。

26

实验二 四位BCD码相加

一、实验目的

1. 巩固用汇编语言编写、调试及运行程序的方法。

2.进一步熟悉数据以ASCII的形式输入及在存储器中的存放形式,加深理解变量名是存储器段内的偏移地址;从键盘输入的数据是如何在存储器中以变量的形式存放的;加深理解一个多位十进制数据的输入过程,是以ASCII的形式、按一下按键输入一个相应键的ASCII、一个一个地来完成的;输入的多个数字的ASCII是如何转换成一个十进制数整体来进行运算的。

3. 加深理解如何控制输入的数据在屏幕上的显示。允许所需的数据输入,并将其显示在屏幕指定位置,而对于非法的输入,不仅不接受,也不使其在屏幕上显示。为实现这一点,可采用INT 21H的8号功能,不带自动回显地输入来实现。

4.巩固汇编语言程序的编写方法。汇编语言程序一般由三个段组成,即堆栈段、数据段和码段。一般堆栈段和码段总是需要的,因写程序就是写代码,就要设置码段,而程序中如发生子程序调用,或是临时进行数据保护,则需要用到堆栈段来保存子程序的返回地址,用堆栈来进行主程序与子程序间的数据传送,这就必须要用到堆栈段(这一点在高级语言中都有对应内容,如主程序与子程序间的变量传送有两种方式,传数据与传地址,但是由于高级语言不涉及计算机的具体结构,所以无法讲清,而只有讲计算机组成原理时才能讲透这个问题)。但数据段则是根据需要可设可不设。CPU的功能再强,也只是速度快和运算、控制功能强,而不用于存放数据。当数据较多时,则需要设置数据段,将大量的数据都存放在数据段中。

5.学会子程序的编写与调用方法,对何时需要编写子程序有初步的认识。 6. 了解什么是汇编语言编程的长处与不足。本实验只是进行两个4位的BCD码相加,编程量就可达到近100条。通过做这个实验,可以使学生体会到汇编语言程序一般只适合于用在控制方面,而不适合于进行较复杂的运算,若是有复杂的运算,则编程时首先应考虑能否采用高级语言。 二、实验内容

1. 从微机的键盘输入两个4位的十进制数数字,将它们相加的结果,以十进制数的形式显示在微机的屏幕上。例如,1234+5678=06912

27

微机原理与接口技术实验指导书

提示:

a) 因输入这两个4位的十进制数最少要按8次键(按了非数字键不接收),每个从键盘接收的按键为一个数字键的ASCII码,共计需要输入8个ASCII码,故需要设置数据段来存放这8个所对应的数值,可在数据段定义两个4字节变量x1和x2,每个变量存一个4位的十进制数(一个数字按键占一个字节存放)。另外,相加的结果也要存在数据段中,考虑到相加的结果可能为5位数,故还需设置一个5字节的变量x3,用于存相加的和。数据段的定义如下:

data x1 x2 x3 data

segment db 4 dup(0) db 4 dup(0) db 5 dup(0) ends,

b) 编写一个子程序,采用INT 21H的8号功能不带自动回显的输入每个字符,是数字键则接收并显示,不是数字键则转去重新输入,子程序如下:

keyin proc again: mov al,8

int 21h cmp al, ?0‘ jb again cmp al, ?9‘ ja again mov bl, al mov dl, al mov ah, 2 int 21h mov al, bl and al, 0fh ret

keyin endp

28

2. 以上1为基本的实验内容,要求所有学生都应完成。对于不满足于完成以上内容的学生,作为提高,建议如果相加的结果中最高位出现0,显示时应去掉,但如果两个数相加的结果为0,则应保持显示个位0加以显示。例如,

1234 + 5678 = 6912 0051 + 0052 = 103 0000 + 0000 = 0

(不要显示06912) (不要显示0103)

(结果为0,不能一个0也不显示)

有兴趣的同学,也可将输入的数字及运算结果以竖式的形式显示,如:

1 2 3 4

+ 5 6 7 8

6 9 1 2

三、实验设备

1. 计算机 (Windows 2000以上32位操作系,内存1G以上) 2. TPC-ZK-II集成开发环境(详见实验一) 四、预习要求

1. 掌握字节变量的定义方法,思考如何定义一个多位的字符变量,用于存放多个输入的字符?

2.理解压缩型与非压缩型BCD码的概念,思考多位非压缩型BCD码相加的结果怎样?如何实现多位非压缩型BCD码相加?

3.编写本次实验的程序流程图。 4. 预习思考题

1)INT 21H的8号功能与1号功能有何不同,本实验为什么要使用8号功能输入字符?

2)INT 21H的2号功能在本实验中的作用是什么?

5. 按附件一格式要求撰写预习实验报告,内容包括本次实验的实验目的、程序流程图及预习思考题,在实验课前交给实验老师审查通过后方可进入实验室进行实际操作。 五、实验原理 1. 明确实验要求

根据题意,要求从键盘输入两个4位BCD码,然后把它们相加,然后结果显示在

29


微机原理及接口技术实验指导书(TPC-ZK-II认证)20151026 - 图文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学生创业导论超星尔雅满分答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: