汇编实验一编程环境熟悉008

上传人:小** 文档编号:47859960 上传时间:2018-07-05 格式:PDF 页数:3 大小:96.64KB
返回 下载 相关 举报
汇编实验一编程环境熟悉008_第1页
第1页 / 共3页
汇编实验一编程环境熟悉008_第2页
第2页 / 共3页
汇编实验一编程环境熟悉008_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《汇编实验一编程环境熟悉008》由会员分享,可在线阅读,更多相关《汇编实验一编程环境熟悉008(3页珍藏版)》请在金锄头文库上搜索。

1、实验一实验一 编程环境熟悉编程环境熟悉 实验目的: 实验目的: 掌握利用 DEBUG 编写、调试和运行程序的方法。 实验内容: 实验内容: 1、 使用给定程序练习汇编语言程序的编辑、汇编、执行、调试的过程; 2、 在 DEBUG 状态下,练习常用的 DEBUG 命令; 实验步骤:实验步骤: 1、 汇编语言程序练习 (1)建立汇编语言程序源文件 使用 DOS 或 Windows 下的任何文本编辑器来建立汇编语言程序源文件, 建 议使用记事本建 议使用记事本,文件后缀名应保存为“.asm” (请注意不要隐藏已知后缀名请注意不要隐藏已知后缀名) 。 将如下程序代码保存为“test.asm”的源文件。

2、 程序代码程序代码: DATA SEGMENT CHAR DB F DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX , DATA MOV DS , AX MOV CX , 10 MOV DL , CHAR NEXT: MOV AH , 2 INT 21H MOV AX , 4C00H INT 21H CODE ENDS END START (2)汇编源程序,生成可执行文件 在汇编源程序时,首先应进入 DOS 命令行,具体步骤: “开始”?“运行” ?“cmd” ,并使用盘符切换、进入目录等 DOS 命令进入汇编系统程序和源

3、程序所在的目录下。 根据所使用的汇编文件不同,汇编的步骤也有所区别。 方法 1:使用 masm.exe 和 link.exe 分别汇编连接 汇编命令为:masm test.asmmasm test.asm(后缀名可省去) ,若源程序无语法和 逻辑错误,即可汇编成功,生产目标文件 test.obj; 当生成目标文件之后,再进行连接,连接命令为:link test.objlink test.obj (后缀名可省去) ,连接成功生成可执行文件 test.exe。该命令使用时, 会出现如下图 1 的提示信息, 可在此修改生成的可执行文件名称, 以及生 成指定相关文件。 本实验中一般可直接连续 4 个回

4、车跳过这些提示, 都采 用默认值,也可以在“link test.obj”命令后直接加分号“;” ,以跳过 提示。 图 1 连接目标文件时的提示信息 方法 2:使用 ml.exe 直接汇编连接 使用命令 ml test.asmml test.asm(后缀名一定不可省去后缀名一定不可省去) ,若源程序无语法和 逻辑错误,即可汇编连接成功,同时生产目标文件 test.obj 和可执行文 件 test.exe。 (3)在 DOS 命令行下执行程序,即运行生成的可执行文件 test.exe,查看 结果,正确的显示结果应在屏幕上看到一个“F”的显示。 2、DEBUG 命令练习 将上面生成的可执行文件 te

5、st.exe 文件调入到 DEBUG 下进行调试。 一般, 我们在调试程序的时候直接将文件调入 DEBUG 中, 使用的命令 是:debug test.exedebug test.exe(注意这里调入的是可执行文件执行文件) ,然后就可以看到 DEBUG 下的提示符“-” ,可以使用各种 DEBUG 命令调试。注意:以下命令 中输入的和观察到的都是十六进制数据。 这里建议按顺序按顺序使用以下命令分别查看相关内容: 1反汇编命令 U 当调入文件后, 直接使用 U U 命令即可查看当前的程序代码, 默认反汇 编 20H 个单元里的指令。 请观察每条指令的地址信息, 与 R 命令的结果相对照,并观察

6、汇编指令与记事本下的源文件的区别。 2单步执行命令 T 单步执行程序的前两条指令,使用的命令格式为:T2T2,执行完前两条 指令即返回, 显示指令执行结束后寄存器的状态, 以及下一条要执行的指 令,请对照 CS、IP 寄存器查看。 3查看存储单元命令 D 直接使用 D D 命令可显示当前程序数据段的内容, 在此查看存储单元地 址、单元内容、以及对应的字符显示。 4断点/连续执行命令 G 这里使用断点执行的功能, 从当前位置执行到显示指令结束, 具体的 命令为:G 10G 10,可在屏幕上看到“F”字符的显示。 5修改存储单元内容命令 E 修改所要显示的字符,可使用命令:E 0 ME 0 M ,

7、即可将数据段中有效 地址为 0 的单元内容修改为“M”的 ASCII 码,即 4DH。或者也可使用命 令:E 0E 0,会显示当前数据段中有效地址为 0 的单元内容,并提示输入新 的数值,可再次键入“4D” (注意这里默认十六进制数据,不用输入 H) , 回车即可完成。若要修改连续的存储单元,在完成 0 单元修改后,按空格 键,即可自动跳到 1 单元,继续修改。 6连续执行命令 G 重新执行程序,使用命令:G=0 10G=0 10,指定程序执行的区间,在屏幕上 可以看到“M”字符的显示。 7汇编命令 A 在 DEBUG 下修改汇编语言程序,使用命令:A 8A 8,然后在给定的单元 中输入指令 MOV DL , 39MOV DL , 39,两次回车,返回到 DEBUG 提示符下。 8连续执行命令 G 重新执行程序,使用命令:G=0,指定程序执行的区间,在屏幕上可 以看到“9” 字符的显示,同时显示“Program terminated normally” 的提示信息,表示程序执行结束。 9退出命令 Q 执行 Q 命令,即可从 DEBUG 状态下退出,返回 DOS 系统。 思考问题: 思考问题: 1. DEBUG 状态下如何观察源程序?和文本编辑方式下的源程序有哪些区别? 2. DEBUG 状态下如何观察和修改程序中的数据段、代码段中的内容?修改后 源程序是否发生改变?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号