- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
...
...
长春理工大学
汇编语言
预习报告
DEBUG 调试程序的使用
实验题目:
实验时间: 2016 年 4 月 6 日
实验地点: 东三教 912
班级: 1405111
学号: 140511114
姓名: 王国伟
1
一. 实验目的
a) 学习使用 DEBUG程序的各种命令。
b) 利用 DEBUG学习了解计算机取指令、执行指令的工作过程。
c) 掌握用 DEBUG调试自编程序的方法。
二. 实验准备
了解什么是 DEBUG
Debug 是 DOS 、WINDOWS 都提供的实模式( 8086 方式)程序的调试工具。
使用它,可以调试 CPU 各种寄存器中的内容、 内存的情况和在机器码级跟踪程序运行。
实验中主要用到的 DEBUG 功能
R 命令查看、改变 CPU 中寄存器的内容;
D 命令查看内存的内容;
E 命令改写内存的内容;
U 命令将内存中的机器指令翻译成汇编指令;
T 命令执行一条机器指令;
用 DEBUG 的 A 命令以汇编指令的格式在内存中写入一条机器指令
学习进入 DEBUG 的方式
使用 win+R 打开运行框
输入 cmd 指令进入 DOS 操作界面
在界面中输入 debug 来进入 DEBUG 编辑界面
1
使用 DEBUG 的几点说明
提示符“-”下才能输入命令,在按“回车”后该命令才开始执行
命令的大小写不区分
出现语法错误时 ,界面会给出”^ERROR ”
用 ctrl+c 或 ctrl+break 来终止当前命令的执行,还可以用 ctrl+s 来暂停屏幕显
示(当连续不断地显示信息时)
BUG 使用十六进制来计数
常用指令
R 命令(Register)
格式 1:R
功能 1:显示所有寄存器中的内容
格式 2:R 寄存器名称
功能 2:显示特定寄存器中的内容 ,并且可以做修改
D 命令
功能:显示内存单元内容
格式 1: D 起始位置
功能 1: DEBUG 从起始位置显示 128 个字节的内容。输入命令 D 0C0B :100
格式 2: D 起始位置结束位置
功能 2: DEBUG 从起始位置一直显示到结束位置。输入命令 D DS :100 11F
格式 3: D 起始位置 L 长度
1
功能 3: DEBUG 从起始位置开始显示指定长度的内容。输入命令 D DS :100
L10
E 命令
功能: 用 DEBUG 的 E 命令改写内存的内容
格式 1: E 起始地址字节值表
功能1:用字节值表中的值替换从“起始地址”开始的内存单元内容或 E 起始地址
格式 2:E 起始地址
功能 2:采用提问的方式一个一个地改写内存单元的内容
A 命令
功能:输入汇编指令。
格式: A 起始地址
U 命令
功能:反汇编,显示机器码所对应的汇编指
格式1:U[ 地址 ]
功能1:从指定地址开始反汇编
格式2:U 地址范围
功能2:对指定的地址范围进行反汇编
T命令
格式1:[T= 地址]
功能1:指定地址起执行一条语句后停下来,显示所有寄存器的内容及标志位的
值与下一条将要执行的指令
格式2: T[= 地址 ][x]
1
功能2:从指定的地址开始跟踪 x条指令
Q命令
功能:退出 DEBUG 程序,返回 DOS
三. 实验任务
参照实验指导 ,掌握 DEBUG 程序 R,D ,A,U,T,E 命令的使用
按照以下步骤输入一系列的命令和指令,编写出简单的汇编语言指令,并完成
指定任务。
debug
-e200
XXXX:0200 XX.10 XX.20 XX.30 XX.. 40 ( 将 200H ~ 203H 内容改为
10H ~ 40H )
-e150
XXXX:0150 XX.00 XX.01
-a100
XXXX:0100 MOV AX,CS (01)
XXXX:0102 MOV DS,AX (02)
XXXX:0104 MOV BX,100 (03)
XXXX:0107 MOV AX,[150] (04)
XXXX:010A ADD BX, AX (05)
1
XXXX:010C MOV AL,[BX] (06)
XXXX:010E ADD AL, [BX+1] (07)
XXXX:0111 MOV SI,2 (08)
XXXX:0114 MOV AL,[BX+SI] (09)
XXXX:0116 MOV AH,0 (10)
XXXX:0118 MOV CH,0 (11)
XXXX:011A MOV CL,[BX+SI+1] (12)
XXXX:011D ADD AX,CX (13)
XXXX:011F INT 20
(1) 用 D命令显示 XXXX:0200 ---XXXX :0203 单元内容
D200 203
(2) 指出以上汇编
文档评论(0)