调试工具DEBUG和第一个汇编程序
本次实验让大家掌握DEBUG工具使用和汇编程序的编译,课堂上需完成“实验任务”。因为牵涉到首次使用这些工具,所以大家请课前先熟悉这些工具(按照“实验一 参考.pdf”和FTP上的资料)。当然课堂上还会简单介绍。若还有问题,可以网上搜索相关设置或相互讨论或给我邮件。若是Win7/Win8 64位系统,请参照“win7 X64 下使用debug.docx”,FTP上有相应工具下载。
注意:EDIT.EXE、MASM.EXE、LINK.EXE、DEBUG.EXE 需放在同一目录下(即mount c d:/指定的d:/)。推荐使用Notepad++编辑.asm源文件,会对不同关键字显示颜色。
由于教材讲汇编部分不够具体透彻,汇编部分可以参考FTP上的“汇编语言_第2版.pdf”。
实验一a 调试工具DEBUG的使用
1.1 实验目的
(1)学习如何在Windows的命令模式下启动DEBUG。 (2)掌握DEBUG的常用基本命令。
(3)学习如何使用DEBUG查看CPU和内存以及进行跟踪调试。
1.2 实验设备及软件环境
装有DOS系统及MASM的微机一台。
1.3 预备知识
1 什么是DEBUG?
Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用它,可以查看CPU各种寄存器的内容、内存的情况和在机器码级跟踪程序的运行。
2 常用的Debug命令及其含义
3 启动DEBUG
(1)打开Windows命令窗口
选择“开始”→“运行”→输入“cmd”命令 (2)启动DEBUG
在命令窗口中启动DEBUG,将显示连接符“-”,这时可输入各种DEBUG命令。 (3)关于使用命令的几点说明:
在提示符“-”下才能输入命令,在按“回车”键后,该命令才开始执行; 命令是单个字母,命令和参数的大小写可混合输入
可用F1、F2、F3、Ins、Del、→等编辑键来编辑本行命令 当命令出现语法错误时,将在出错位置显示“^Error” 在DEBUG中使用的数都是以十六进制来表示的
1.4 实验内容
1 R命令
作用:查看、改变CPU寄存器的内容
(1)显示所有寄存器之中的内容:输入R
我们重点关注AX、BX、CX、DX、CS及IP寄存器的内容,其他寄存器SP、BP、SI、DI、
ES、SS及标志寄存器先不予理会。此外,并列出了CS:IP所指向的内存单元处所存放的机器码,并将它翻译为汇编指令。
(2)改变寄存器中的内容:输入R AX
在提示符“:”后输入1111,即可将AX的值设置为1111。在输入R命令,查看修改后的寄存器值。
练习:
(1)用R命令修改IP的值,并查看此时CS:IP的指向,存放的机器码以及对用的汇编指令;
(2)用R命令修改CS的值,并查看此时CS:IP的指向,存放的机器码以及对用的汇编指令;
2 D命令
作用:查看指定范围内的内存中的内容 (1)直接输入D命令
DEBUG将输出3部分内容,查看执行结果。 说明:
左边是每行的起始地址,用“XXXX:YYYY”表示,其中XXXX表示内存单元的段地
址,YYYY表示内存单元的偏移量;
中间以十六进制的形式显示从指定地址开始的128个内存单元的内容,每行显示
16个字节的内容;
右边显示每个内存单元中的数据对应的可显示的ASCII码字符,若没有对应可显示
的ASCII码字符,DEBUG用“.”来代替。
(2)执行带参数的D命令
若执行带参数的命令D,DEBUG将显示指定地址范围的内容。带参数的方式有三种。 方式一:D 起始位置
DEBUG从起始位置开始显示128个字节的内容。 输入命令:D 1AF5:100 方式二:D 起始位置 结束位置
DEBUG从起始位置开始一直显示到结束位置。 输入命令:D DS:100 11F 方式三:D 起始位置 L长度
DEBUG命令从起始位置开始显示指定长度内容。 输入命令:D DS:100 L10
使用带参数的D命令后,接着使用D命令,可列出后续的128个内存单元的内容。 练习:
(1)使用D命令,查看内存10000H处的内容; (2)使用D命令,查看1000:0~1000:9中的内容
(3)采用三种不同的段地址和偏移地址查看同一物理地址10000H中的内容
3 E命令
格式:E 起始地址 字节值表
或 E 起始地址
作用:用值表中的值替换从“起始地址”开始的内存单元中的内容
例1:将内存1000:0~1000:9单元中的内容分别写为0、1、2、3、4、5、6、7、8、9,
可用“E 起始地址 数据 数据 数据 数据 数据 ”的格式来进行。 步骤:
① 用D命令查看1000:0~1000:f单元的内容:D 1000:0 f
② 用E命令修改从1000:0开始的10个单元中的内容:E 1000:0 0 1 2 3 4 5 6 7 8 9 ③ 用D命令查看1000:0~1000:f单元中内容的变化:D 1000:0 f
例2:用E命令向内存中写入字符。从内存1000:0开始写入:数值1,字符“a”,数值2,
字符“b”,数值3,字符“c”。 步骤:
① 用D命令查看1000:0处的内容:D 1000:0 ② 用E命令输入:E 1000:0 1 ‘a’ 2 ‘b’ 3 ‘c’
③ 用D命令查看1000:0~1000:f单元中内容的变化:D 1000:0 f
例3:用E命令向内存中写入字符串。从内存1000:0开始写入:数值1,字符串“a+b”,
数值2,字符串“c++”,数值3,字符“IBM”。 步骤:
① 用D命令查看1000:0处的内容:D 1000:0 ② 用E命令输入:E 1000:0 1 ‘a+b’ 2 ‘c++’ 3 ‘IBM’
③ 用D命令查看1000:0~1000:f单元中内容的变化:D 1000:0
例4 用E命令以提问的方式来逐个地修改从某一地址开始的内存单元中的内容。
以从1000:10单元开始为例。 步骤:
① 用D命令查看1000:10处的内容:D 1000:10 ② 用E命令输入:E 1000:10,按Enter键
③ DEBUG将显示起始地址1000:0010以及第一个单元(即1000:0010单元)的原始内容:00.,然后光标停在“.”的后面,提示输入想要写入的数据,此时有两种选择:其一输入数据,完后按空格键,即用输入的数据改写当前的内存单元;其二不输入数据,直接按空格键,则表示不对当前内存单元进行改写 ④ 当前单元处理完成后(不论是改写或者没有改写,只要按了空格键,就表示处理完成),DEBUG将显示下一个内存单元的原始内容,并提示进行修改,可以用同样的方法进行处理
⑤ 所有希望改写的内存单元改写完毕后,按ENTER键,E命令结束 ⑥ 用D命令查看1000:10单元中内容的变化:D 1000:10
4 U命令
格式:U[范围]
作用:反汇编,即显示机器码所对应的汇编指令 命令执行完后,DEBUG显示的输出内容包括3个部分:每一条机器指令的地址、机器指令、
机器指令所对应的汇编指令。
若命令中不写“范围”参数,则把从CS:100开始的20H个字节内容反汇编成汇
编指令,并显示出来; 若命令中只有“起始地址”,则把从该“起始地址”开始的20H个字节内容反汇编
成汇编指令;
若命令中只有“起始地址”和“终止地址”,则把从“起始地址”到“终止地址”
之间的字节内容反汇编成汇编指令。
例1:执行命令 U 100,查看执行结果
例2:执行命令 U 100 10C,查看执行结果。表示对从CS:100到10B的内存单元进行反汇编。
例3:用E命令向内存中写入机器码,用U命令查看内存中机器码的含义。 机器码 对应的汇编指令 b8 01 00 mov ax,0001 b9 02 00 mov cx,0002 01 c8 add ax,cx
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




