微机原理与接口技术实验指导书 下载本文

《微机原理与接口技术实验》 - 5 -

断 Q R [寄存器名] S 范围 字节列表 T [=起始地址] 指令数 U [范围] 退出DEBUG 显示或修改寄存器内容 在指定的范围搜索字节列表的数据 从起始地址开始执行指定条数的指令,进入过程和中断 将[范围]指定的机器码反汇编成汇编语言助记符指令 DEBUG命令都是单字符命令,大小写均可,各参数之间用空格分开。命令中所有参数数值都是16进制。

参数中的“地址”用“段:偏移量”表示,例如:2000:100,CS:IP, DS:100等。“范围”有两种表示方式,“段:地址 地址”表示两个地址之间的内存区域,“段:地址 L长度”表示地址开始,指定长度的区域,例如: 2000:100 200和2000:100 L100。

当使用R命令显示和修改寄存器时,除标志寄存器外都是16进制数字显示,而标志寄存器则用字符分别标志其中各位的数值,方法见表1.2。

表1.2 DEBUG中标志位的表示

1 0 OF OV NV DF DN UP IF EI DI SF NG PL ZF ZR NZ AF AC NA PF PE PO CF CY NC

5

5. 实验内容及步骤

(1)进入DEBUG后,首先用命令R查看当前DS和IP寄存器内容,记录此值。

(2)练习R,D,A,U,T,P,G等命令的使用及熟悉其功能。 (3)(此项改为具体的指令练习。这样对批改实验报告会方便些。我建议把教材中p124的19题作为此项内容,该题涉及到传送、算逻运算及调整等指令。为了防止学生抄袭习题集上答案,把题中的有些操作数改一下。如果再增加几条条件转移指令则效果更好)在DEBUG环境中练习8086的各种常用指令,包括数据传送类指令、算术与逻辑运算类指令、字符串操作指令、程序控制类指令等,查看运行结果是否正确。

(4)用A命令汇编下列程序段,完成将DS:2000开始的5个字节内存内容相加,并把相加的结果存放在DS:2005内存单元中,用DEBUG调试﹑运行该程序,查看运行结果,观察程序段能否完成指定功能,若不能,说明原因。

MOV CX,5 MOV AL,0 MOV BX,2000

6

《微机原理与接口技术实验》 - 7 -

NEXT: ADD AL,[BX]

INC BX DEC CX LOOP NEXT MOV [BX],AL INT 3

注:DS:2000单元开始的5个字节内容,在执行程序前可用填充命令F给其赋值: -F 2000 L5 01 02 03 04 05↙

之后,运行上述程序段,检查运行结果是否正确。

6. 实验报告

(1)写出任务1的结果。

(2)写出任务3所执行的指令和结果,并判断正确与否。 (3)写出任务4的详细编辑调试步骤,并提交调试好的汇编语言源程序和可执行程序(.asm和.exe)。

7

实验二:8086汇编语言程序设计(一)

1. 实验类别

设计型实验:编程实现数据的输出显示。

2. 实验目的

熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程;掌握循环结构的程序设计方法和DOS功能调用。

3. 实验条件

硬件条件:PC机一台。

软件条件:DOS操作系统;任意一种编辑程序,如EDIT;宏汇编程序MASM;连接程序LINK;调试程序DEBUG。

4. 实验原理

和高级语言程序设计类似,编写汇编语言程序也要经过源程序编辑、汇编、连接和运行、调试等过程。任何文本编辑器均可用于编辑汇编语言的源文件,例如DOS下的EDIT或WINDOWS下的记事本等,只要将源程序以纯文本方式存盘即可,源文件扩展名应为.ASM。源程序必须先由汇编程序把它汇编为机器码的目标程序(.OBJ),再经连接程序将目标程序连接成为可执行的程序。如果源程序有多个源

8