微机原理及接口技术实验
2009级计算机专业
上课地点: 勤学楼2507
能电学院电工电子实验中心
2011年8月
目 录
软件试验部分 ................................................... 2 实验一 初级程序的编写与调试实验 ............................... 2 实验二
加法程序的编写与调试实验 ............................... 7
硬件接口试验部分 .............................................. 11 使用微机实验装置须知 .......................................... 11 DVCC─8086H实验系统性能特点简介................................ 12 DVCC─8086H实验装置软件使用说明................................ 14 实验一 8279A可编程键盘显示接口实验 ........................... 21 实验二 A/D转换实验 .......................................... 27 实验三 8255A可编程并行口实验 ................................ 30 实验四 D/A转换实验 .......................................... 32 实验五 微机硬件实验 ......................................... 34 实验六 简易电子琴实验 ....................................... 37 实验七 简易时钟电路实验 ...................................... 39
1
软件试验部分
实验一 初级程序的编写与调试实验
一、实验目的
熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。
深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出。 掌握各种寻址方法以及简单指令的的执行过程。
二、实验内容 1、设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行编写、汇编和调试。 2a、设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将0AH、0BH、0CH、0DH、0EH等数据顺序装入存储器偏移地址300H~304H单元。 2b、在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?
程序清单如下: MOV AX,BX MOV MOV MOV MOV MOV MOV
AX,0304 AX,[0304] AX,[BX]
AX,0001[BX] AX,[BX][SI]
AX,0001[BX][SI]
3、设AX=0002H,编一个程序段将AX的内容乘以10,要求用移位的方法完成。
三、实验要求 1、实验前要作好充分准备,包括汇编程序清单、调试步骤、调试方法以及对程序结果的分析等。
2、本实验要求在PC机上进行。
3、本实验要求只能在DEBUG调试状态下进行,包括汇编程序、调试程序、执行程序。
4、三个实验做完后,有时间将实验二所附程序看一看,不懂得语句用DEBUG运行一下,以便下次弄懂程序。
四、编程提示 实验内容1 将两个寄存器的内容进行交换时,必须有一个中间寄存器才行。如果用堆栈作为中间存储单元,必须遵循先进后出的原则。同学们也可以试试不用堆栈而用一般寄存器,结果又如何?
实验内容2
2
(1)其中数据段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。
(2)SI和BX的初值可在DEBUG状态下,用R命令装入,也可以在程序中用指令来完成。 (3)用T或P命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态变化。也可用R命令直接调出寄存器,来检验各寄存器内容是否正确。 (4)在执行程序前,可用E命令将0AH~0EH送入偏移地址300H~304H。
实验内容3
(1)用移位的方法完成某些乘法运算,是较为常见的方法,操作数左移一位为操作数乘2运算。 (2)算式2×10的程序流程图如下:
开始 ↓ ↓
AX、BX装入操作数2 AX左移两位→AX ↓ AX+BX→AX ↓ AX左移一位→AX ↓ 结束
(3)程序的的执行可用DEBUG的G命令,也可用T或P命令单步跟踪执行。
在程序送入后,最好将它存入磁盘,以免程序丢失时又需重新输入。
附:DEBUG的主要命令
1、DEBUG命令的有关规定
(1)DEBUG命令都是一个英文字母,后面跟着一个或多个有关参数。多个操作参数之间用“,”或
空格隔开。
(2)DEBUG命令必须接着按ENTER键,命令才有效。
(3)参数中不论是地址还是数据,均用十六进制数表示,但十六进制数后面不要用“H”。 (4)可以用Ctrl和Break键来停止一个命令的执行,返回到DEBUG的提示符“-”下。 (5)Ctrl-Num Look用来中止正在上卷的输出行,再通过按任意键继续输出信息。 2、DEBUG命令集 A 汇编命令 D E
显示内存命令 修改内存命令 填充命令
移动内存命令 比较命令
查找命令
显示和修改寄存器内容命令 跟踪命令 反汇编命令 命名命令 读盘命令 写盘命令
3
F M C S R T U
N L W
I O G H Q
输入命令
输出命令 运行命令
十六进制运算命令 退出命令
P 进程命令
现在开始将各个命令格式说明一下。
A汇编命令,A汇编命令有三种格式: A
A偏移地址——A与偏移地址之间可以不空格 A段地址:偏移地址
如果是第一次输入A后,将出现 xxxx:0100提示符。
如果是输入A偏移地址后,将出现 xxxx:偏移地址提示符。
如果是输入A段地址:偏移地址后,将出现 段地址:偏移地址提示符。
在xxxx:xxxx提示符后就可以输入汇编程序,每输完一句按回车键又出现xxxx:xxxx提示符。这样一句一句输完,就可运行该程序。
注意:在DEBUG中出现和使用的数字只有一种形式——十六进制,而且不用跟后缀H。如果数字是十进制或二进制的请全部转换成十六进制。否则易出错。
U反汇编命令,U反汇编命令有五种格式: U
U偏移地址
U偏移地址1 偏移地址2 U段地址:偏移地址
U段地址:偏移地址1 段地址:偏移地址2 U反汇编命令执行后,显示器将出现: xxxx:xxxx 二进制机器码 汇编语句 ┇ xxxx:xxxx 二进制机器码 汇编语句 的形式。U反汇编命令只是用来察看汇编程序的。
D显示内存命令,D显示内存命令有四种格式:
D——从偏移地址0100单元开始一次显示128个单元内容;
D偏移地址——从偏移地址开始一次显示128个单元内容;
D偏移地址 L范围——从偏移地址开始一次显示范围内个单元内容;
D段地址:偏移地址 L范围——从段地址:偏移地址开始一次显示范围内个单元内容;
E修改内存命令,E修改内存命令有两种格式: E偏移地址
E段地址:偏移地址
输入E修改内存命令后,显示相应单元的内容,等待用户修改其值,此时可用下述两种方法操作。 按空格键
4