内容发布更新时间 : 2024/11/9 9:46:59星期一 下面是文章的全部内容请认真阅读。
《微机原理与接口技术实验》 - 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