汇编实验实验一

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

实验一 MASM for Windows 环境下的汇编语言编程环境使用
一、实验目的
(1)掌握MASM for Windows 环境下的汇编语言编程环境使用;
(2) 掌握汇编语言程序设计的基本流程;
(3) 掌握8086/8088基本指令的使用方法和功能;
(4) 熟练掌握DEBUG的使用方法。

二、实验基本原理
运行“调试”命令,在提示符“-”下才能输入命令,在按“回车”后该命令才开始执行;
命令是单个字母,命令和参数的大小写可混合输入:
(1) DEBUG 使用的数以十六进制来表示;
(2) DEBUG 中的命令不区分大小写。

1、R命令
格式1:R
功能1:显示所有寄存器中的内容。

格式2:R 寄存器名
功能2:显示修改寄存器的内容。

2、D命令
用 DEBUG 的 D 命令查看内存的内容;
功能: 显示内存单元内容。

格式一:D起始位置
DEBUG从起始位置显示128个字节的内容。

输入命令D 0C0B:100
格式二:D 起始位置结束位置
DEBUG 从起始位置一直显示到结束位置
格式三: D 起始位置 L 长度
DEBUG 从起始位置开始显示指定长度的内容
3、E命令
用 DEBUG 的 E 命令改写内存的内容。

格式一:E 起始地址字节值表
功能:用字节值表中的值替换从“起始地址”开始的内存单元内容。

格式二:E 起始地址
功能:采用提问的方式一个一个地改写内存单元的内容
4、A命令
功能:输入汇编指令。

格式:A 起始地址
首先用A命令以汇编语言的形式输入程序,以D命令显示内存,输入的是汇编指令,DEBUG 把它们翻译成机器指令,以机器码写入内存。

5、U命令
功能:反汇编,显示机器码所对应的汇编指令。

格式1:U[地址]
功能1:从指定地址开始反汇编
格式2:U 地址范围
功能2:对指定的地址范围进行反汇编。

6、T命令
格式:T[=地址]
功能:从指定地址起执行一条语句后停下来,显示所有寄存器的内容及标志位的值与下
一条将要执行的指令。

格式:T[=地址][x]
功能:从指定的地址开始跟踪x 条指令。

7、Q 命令
功能:退出DEBUG程序,返回DOS
8、G 命令
格式:G[=起始地址] [断点地址]
功能:从起始地址开始执行到断点地址,如不设断点地址,则程序一直执行到终止指令
才停止。

9、P 命令
功能:执行汇编程序,单步跟踪。

与 T 命令不同的是:P 命令不会跟踪进入子程序或软中断。

其使用方式与 T 相同
10、N 命令
功能:指定文件名。

为读/写文件做准备。

11.、W 命令
功能:向磁盘写内容。

见“N 命令”
12、 L 命令
功能:从磁盘将文件或扇区内容读入内存。

注意:使用该命令前,必须用 N 命令设定文件名。

三、实验结果
1、源程序
DATA SEGMENT
BUF1 DB 0,1,2,3,4,5,6,7,8,9,0AH,0BH,0CH,0DH,0EH,0FH
BUF2 DB 20 DUP(?)
DATA ENDS
STACK SEGMENT
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,ss:stack
MIAN PROC FAR
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV CX,10H
MOV SI,OFFSET BUF1 MOV DI,OFFSET BUF2
L:
MOV AL,[SI]
MOV [DI],AL
INC SI
INC DI
DEC CX
JNE L
RET
MIAN ENDP
CODE ENDS
END MIAN
2、DEBUG:
R 命令——查看、改变 CPU 中寄存器的内容
D 命令——查看内存的内容
E 命令——改写内存的内容
U 命令—将内存中的机器指令翻译成汇编指令
A命令——输入汇编指令
T 命令——执行一条机器指令
3、查看结果
四、心得体会
在这节课的学习中,初步学会了汇编语言的编程方式与用法,了解了DEBUG 中各种指令的用法和效果,初步掌握改错能力,能够独立解决一些问题,会针对运行结果对程序作出简单的修改,为以后的学习打下良好的基础。

相关文档
最新文档