微机原理汇编语言的上机过程 实验报告

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

微机原理技术与接口实验报告

学院:

专业:

班级:

姓名:

学号:

汇编语言程序的上机过程

实验目的

通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。

实验原理及操作步骤

一、上机环境

❖要运行调试汇编语言程序,至少需要以下程序文件:

▪编辑程序:或其他文本编辑工具软件,用于编辑源程序。

▪汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。

▪连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。

▪调试程序:DEBUG.EXE,用于调试可执行程序。

二、上机过程

❖汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。

1.编辑源程序

❖用文本编辑软件创建、编辑汇编源程序。常用编辑工具有:、记事本、Word等。

❖无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。

2.汇编

❖用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。

❖汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件;展开宏指令。

❖汇编过程如下:

❖在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。

❖此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列

表文件)和.CRF(交叉引用文件)。

Object Filename [MYFILE.OBJ]:

Source Listing [Nul.LST]:

Cross Reference [Nul.CRF]:

依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。如果汇

编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。

此时,需要进行修改,然后再进行汇编。

❖如此进行,直至汇编无错误,得到目标文件为止。

3.连接

❖汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它转换为可执行的EXE文件。连接过程如下:

▪在DOS状态下,输入命令:LINK MYFILE.OBJ(回车),即可完成连接。

▪与汇编过程类似,如果连接过程中出错,那么程序会在屏幕上显示提示信息。此时,需要对源程序进行查错、修改,然后再进行汇编、

连接,直至连接无错误,得到可执行文件为止。

4.程序运行

❖在DOS提示符下输入可执行程序的文件名即可运行程序。若程序能够运行但不能得到预期结果,则就需要检查源程序,改错后再汇编、连接、运行。

5.程序调试

❖在程序运行阶段,有时不容易发现问题,尤其是碰到复杂的程序更是如此,这时就需要使用调试工具进行动态查错。常用的动态调试工具为DEBUG。

三、运行调试

❖DEBUG是为汇编语言设计的一种调试工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段,它可以直接调试COM 文件和EXE文件。

❖DEBUG状态下的所有数据都采用十六进制形式显示,无后缀H。

1.DEBUG的运行

❖在DOS状态下,输入下列命令之一,就可以进入DEBUG调试状态。

命令一:DEBUG ↙ (回车)

格式二:DEBUG 可执行文件名↙(回车)

❖进入DEBUG调试状态后,将显示提示符“-”,此时,可输入所需的DEBUG命令。

2.DEBUG的主要命令

(1)显示内存单元内容的命令D

❖格式为:-D [地址] 或-D [范围]

❖说明:上面格式中的“-”符号是DEBUG的提示符,下同。

❖例如,显示指定范围(DS:100~DS:1FF)内存单元内容的命令是:-D 100 10F

❖这里没有指定段地址,D命令自动显示DS段的内容。

(2)修改内存单元内容的命令E

❖格式一:用给定内容代替指定范围的单元内容

-E 地址内容表

修改代码:

查看修改结果:

可以看到结果与修改指令相符。

❖格式二:逐个单元相继地修改

-E 地址

▪-E DS:100↙

将DS:100 中存储内容修改为33

查看修改后DS:100存储内容

可见已经将其更改为33,指令完成。

E 4:0100

检查修改结果:

由上图可以看出修改成功。

(3)检查和修改寄存器内容的命令R

❖格式一:显示CPU内部所有寄存器内容和标志寄存器中的各标志位状态-R

❖格式二:显示和修改某个指定寄存器内容

-R寄存器名

修改AX寄存器的内容为aaaa

可见修改成功。

❖格式三:显示和修改标志寄存器内容

-RF

(4)运行命令G

❖格式为:-G [=地址1][地址2[地址3…]]

❖其中,地址1指定了运行的起始地址,后面的均为断点地址。当指令执行到断点时,就停止执行并显示当前所有寄存器及标志位的内容和下一条要执行的指令。

(5)跟踪命令T

❖格式一:逐条指令跟踪

❖该命令从指定地址起执行一条指令后停下来,显示所有寄存器及标志位的内容。若未指定地址,则从当前的CS:IP开始执行。

❖格式二:多条指令跟踪

❖该命令从指定地址起执行n条指令后停下来,n由[值]确定。

N=2的情形下

(6)汇编命令A

❖格式为:-A [地址]

❖该命令允许输入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。必须注意:输入的数字均默认为十六进制数。

❖ 5.5.3 运行调试-DEBUG的主要命令

(7)反汇编命令U

❖格式一:从指定地址开始,反汇编32字节

-U [地址]

❖格式二:对指定范围内的存储单元进行反汇编

-U [范围]

相关文档
最新文档