微机原理汇编及接口实验讲义
电子信息工程系微机实验组
2015
年3月
目 录
实验一 寻址方式和汇编语言程序上机调试步骤 …… 1 实验二 循环程序设计 ……………………… 2 实验三 子程序调用程序设计 ……………………… 3 实验四 DOS系统功能调用 ……………………… 4 实验五 接口实验预备知识 ………………………… 5 实验六 简单的输出接口 ?????????? 9 实验七 简单的输入接口 ????????? 11 实验八 数码管动态显示实验 ????????? 13 实验九 可编程并行接口8255实验 ?????? 15 实验十 可编程计数/定时器8253实验 ????? 16 实验十一 可编程中断控制器8259实验 ????? 17 实验十二 微机接口综合实验(上机测验)
集成电路内部原理及管脚图 ?????????? 21
实验一 寻址方式和汇编语言程序上机调试步骤
一、实验目的
1、 掌握在HQFC环境下8086的寻址方式。
2、 掌握在HQFC环境下汇编语言程序上机步骤及调试过程。 3、 掌握连续执行、单步执行、跳过执行及设置断点的方法。
4、 掌握连续执行、单步执行过程中如何查寄存器、存储器、堆栈中的数据。
二、实验内容
1、在HQFC环境下单步执行下列指令,查看每条指令的执行过程,随时查看寄存器、存储器、堆栈及反汇编窗口并记录执行结果,查看、记录每条指令的操作码和操作数,查看、记录所有指令的反汇编结果。
code segment assume cs:code
start: mov ax,1234h mov bx,4321h add ax,bx mov cx,ax push cx pop dx
loop: jmp loop code ends
end start
将3、4语句1234h、4321h改为1234、4321后再执行程序,观察结果寄存器窗口,说明变化原因。在语句PUSH CX设置断点,连续执行后查看结果,说明设置断点对程序调试有何作用?
2、 在数据段X单元存放有数据42,Y单元存放有数据-43,编程求这两数之和,并把结果
存放到S单元,编写出完整程序,上机调试,查看、记录执行结果。
3、 已知数据段X单元存放的数据为10H,编程将该数据左移四位后存放到Y单元,编写出
完整程序,上机调试,查看、记录执行结果。
三、实验预习
1、 8086的寻址方式,理解什么是操作码和操作数。
2、 了解汇编语言程序上机(编辑→编译→链接→执行)过程。 3、 学习利用汇编语言编写简单的源程序。 4、 什么是反汇编,反汇编的作用?
1
四、实验报告要求
1、 写出在HQFC环境下汇编语言程序上机的步骤。
2、 写出第1题源程序及对应指令的反汇编结果,写出3、4条指令的操作码和操作数,说出
双字节数在存储器中的存放规律,写出单步执行完每条指令后,对应指令寄存器的值。 3、 写出第2题、第3题的源程序和执行结果。
实验二 循环程序设计
一、实验目的
1、 进一步掌握HQFC环境下汇编语言程序上机步骤及调试过程。 2、 掌握简单的单循环程序设计和调试的方法。 3、 掌握多重循环程的序结构及调试方法。 4、 掌握代码段、数据段、附加段的数据查看。
二、实验内容
1、编程将数据段从00H单元起始的十个单元赋值,值为00H~09H。
2、现有两组数,X= -78, 127,-128, -125,88,Y=32, -43, 76, 95, 1。编程求两个数组之和,并将结果传送到S数组内,S(i)= X(i)+ Y(i)。
3、现有两个多位十进制数,X=5790123467,Y=1357902468。编程求X和Y之和,并将结果传送到S。
4、编程将0~9这十个随机给出的数从小到大排序。
5、观察不同数制机器数的表示方法,观察不同数制相加的结果及在存储器中的存放格式。
6、记录正确的实验结果。
三、实验预习
1、复习循环结构的基本形式,掌握计数器CX与LOOP循环指令的关系。 2、复习逻辑地址和存储器分段的概念。 3、根据实验内容题目的要求编写出源程序。
五、实验报告要求
1、 写出经过上机调试并通过的源程序和结果。
2、 通过循环程序的上机调试,写出循环程序结构的特点及调试方法。
2
实验三、子程序调用程序设计
一、实验目的
1、 掌握子程序调用编程及调试方法。
2、 掌握多重循环程序结构的要点及调试方法。 3、 掌握带符号数和无符号数比较测试及转移条件。 4、 掌握简单的数据复制方法。
二、实验内容
1、 用子程序调用(段内近程调用)编程,将以下十个数从小到大排序。
85,77,126,-1,-43, 37,-128, 11,-19,13。
2、 用子程序调用的方法,将上题10个排好序的数复制到附加段。
3、正确设置断点,观察数据比较、转移的现象,观察每次子程序调用及返回的过程。 4、观察、记录数据段、附加段的排序结果。
三、实验预习
1、 复习多重循环的初始控制条件及控制程序循环的过程。
2、 复习间接标志条件转移指令带符号数和无符号数的区别和应用。
3、 复习子程序调用的过程及编程方法,了解子程序调用距离属性的格式,掌握子程序段内近
程调用的程序结构。
4、 根据实验内容的要求写出源程序。
四、实验报告要求
1、写出经过上机调试并通过的源程序及实验结果。 2、通过上机调试,写出子程序调用程序的调试方法。
3