汇编实验指导书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理与汇编语言程序设计

实验指导书

信息与通信工程学院 Copyright © 2010.09

目录

上机实验环境 (1)

实验一、寄存器与存储器 (2)

实验二、DEBUG调试程序 (6)

实验三、源程序建立与汇编 (9)

实验四、顺序程序设计 (13)

实验五、分支程序设计 (15)

实验六、循环程序设计 (17)

实验七、子程序设计 (19)

实验八、中断调用程序设计 (21)

实验九、宏汇编程序设计 (23)

实验十、模块化程序设计 (25)

实验十一、与C语言混合编程 (26)

上机实验环境

【硬件环境】

目前8086汇编语言程序一般在IMB PC/XT及兼容机上运行,因此要求机器具备基本配置的IMB PC/XT及兼容机就可以了,对机器的硬件环境没有特殊的要求。

【软件环境】

1. 操作系统:MS-DOS

2. 源程序编辑程序:纯文本编辑器,如:EDIT、EDLIN、记事本等

3. 汇编程序:MASM5.0、TASM3.0以上。

4. 连接程序:LINK

5. 调试程序:DEBUG

实验一、寄存器与存储器

【实验目的】

初步认识调试程序DEBUG,掌握调试程序时常用的命令与操作。

【实验内容】

1. 调试程序DEBUG的启动与退出。

2. 显示与修改寄存器的内容。

3. 显示与修改存储器的内容。

【实验准备】

1. 复习计算机中数据的表示。

2. 复习8086CPU内部结构,特别是8086CPU中的寄存器。

3. 复习8086CPU存储器组织,存储器的分段、逻辑地址、物理地址等概念。

4. 复习汇编语言程序上机过程,特别是DEBUG命令。

【实验步骤】

1. 调试程序DEBUG的启动与退出。

1) 启动DEBUG:在DOS提示符下键入:DEBUG↵。进入后显示DEBUG 提示符‘-’,如下图:

2) DEBUG帮助:在DEBUG提示符下键入:?↵。DEBUG会列出所有命令及使用方法简单提示,如下图:

3) 十六进制数加减法:在DEBUG提示符下键入:H 1234 ABCD↵。观察结果。

4) 退出DEBUG:在DEBUG提示符下键入:Q↵。即可退出,进入DOS。

2. 显示与修改寄存器的内容。

1) 显示所有寄存器内容:在DEBUG提示符下键入:R↵。显示:

2) 显示和修改指定寄存器内容:在DEBUG提示符下键入:RAX↵。显示AX内容,如需修改,则直接键入要修改的值(图中1234),若不想修改,直接

回车便可,如下图:

3) 显示修改标志寄存器:在DEBUG提示符下键入:RF↵。显示当前标志,如需修改,则直接键入要修改的值(可按任意顺序),若不想修改,直接回车便可,注意标志位的缩写:0标志—NV UP DI PL NZ NA PO NC

1标志—OV DN EI NG ZR AC PE CY,如下图:

4) 请参照上述操作步骤,显示和修改各寄存器内容及标志寄存器内容,观察结果并记录。

3. 显示与修改存储器的内容。

1) 显示存储器的内容,格式:D[地址]或D[范围],如:

D100↵:显示100H单元开始的80个字节的内容。

D100 11F↵:显示100H~11F单元的内容。

D100L8↵:显示100H单元开始的8个字节的内容。

D↵:显示上一个D命令显示单元的后续80个字节的内容。

如下图:

2) 修改存储器的内容,格式:E地址[数据数据...]。注意:地址不能省略,但数据可以省略。省略数据列表时可以交互输入, 空格继续, 回车结束。如:

E DS:1000 1A 2B 3C 4D 5E,‘WINDOWS’↵:将字节列表中给出的11个字节填入DS:1000开始的存储单元。

E100↵:将从100单元开始逐个修改存储单元内容。

如下图:

【实验要求】

1. 叙述使用DEBUG调试程序的过程。

2. 分析实验过程中出现的错误的原因。

实验二、DEBUG调试程序

【实验目的】

掌握DEBUG调试程序中的汇编与调试命令,并利用DEBUG进行简单的程序设计。

【实验内容】

1. 汇编与反汇编命令。

2. 程序调试命令。

3. 简单程序设计。

【实验准备】

1. 复习汇编语言程序上机过程。

2. 复习8086数据传送类指令。

3. 复习8086算术运算指令。

【实验步骤】

1. 汇编与反汇编命令。

1) 汇编命令:格式:A[地址],若省略地址,则默认为当前的CS:IP。如:

A100 :从100单元开始逐句输入汇编指令,回车后DEBUG自动翻译成机器码,如下图:

2) 反汇编命令:格式:U[地址]或U[地址范围],若省略地址,则默认为当前的CS:IP。如:

U100 :将100H单元开始的32个字节的内容翻译成汇编指令并显示,如下图:

2. 程序运行跟踪命令。

1) 运行命令:格式:G[=地址],若省略地址,则默认为当前的CS:IP。初次调试时不建议采用,可能会因为程序设计不当,造成意想不到的结果。

2) 跟踪命令:格式:T[=地址] [指令条数],若省略地址,则默认为当前的CS:IP。跟踪命令从指定的地址开始执行指令条数规定的指令后暂停,并显示寄存器内容和当前标志值。若不指定指令条数,则默认为1,即为单步跟踪。如下图:de

3) 参照步骤1、2所述,观察并记录一下指令执行的结果:MOV、ADD、ADC、SUB、SBB、INC、DEC。

相关文档
最新文档