汇编语言DEBUG命令详解 |
您所在的位置:网站首页 › 汇编语言中的指令 › 汇编语言DEBUG命令详解 |
汇编命令 汇编语言Debug命令详解 DEBUG的常用命令:A,U,R,T,D,E,Q 等等 汇编语言DEBUG命令详解 文章目录 汇编语言DEBUG命令详解R命令的使用H命令的使用D命令的使用E命令的使用F命令的使用M命令的使用C命令的使用S命令的使用A命令的使用G命令的使用U命令的使用N命令的使用W命令的使用L命令的使用T命令的使用P命令的使用I命令的使用O命令的使用Q命令的使用 R命令的使用作用:观看和修改寄存器的值。 在提示符“-”下输入以下命令:R。DEBUG将会显示出当前所有寄存器和标志位的状态。 接下来再输入命令rax。在提示符“:”后输入100。该命令的作用是将寄存器ax的值设置为100(注意:DEBUG使用的是十六进制,这里的100相当于十进制的256。) 最后再执行r命令,观看修改后的寄存器值。 H命令作用:计算两个十六进制数的和与差。 在提示符“–”下输入以下命令:h 10 1。观看命令执行结果。 D命令作用:显示内存区域的内容。 在提示符“–”下连续执行命令R、D、D。观看命令执行结果。 方式二:d [起始位置] [结束位置]。DEBUG从起始位置开始一直显示到结束位置。在提示符“-”下执行命令d 1000:100 200。观看命令执行结果。 方式三:d [起始位置] [L长度],长度以L参数为标识。DEBUG从起始位置开始显示指定长度的内容。在提示符“-”下执行命令d ds:100 L10。观看命令执行结果。 E命令作用:改变内存单位的内容。 E命令的使用方式为:E [起始位置]。 在提示符“-”下输入以下命令:e 1000:100。 F命令作用:使用指定的值填充指定内存区域中的地址。 F命令的使用方式为:F [范围] [填充列表]。 在提示符“-”下输入以下命令:F 1AF5:100 L20 1 2 3 4 5。执行命令D 1AF5:100观看命令执行结果。 M命令作用:将指定内存区域的数据复制到指定的地址去。 M命令的使用方式为:M [范围] [指定地址]。 在提示符“-”下输入以下命令:M 1AF5:100 13F 1AF5:140。执行命令D 1AF5:100观看命令执行结果。 C命令作用:将两块内存的内容进行比较。 C命令的使用方式为:C [范围] [指定地址],意思就是将指定范围的内存区域与从指定地址开始的相同长度的内存区域逐个字节进行比较,列出不同的内容。 在提示符“-”下输入以下命令:C 1AF5:100 13F 1AF5:140。由于两块内容完全相同,所以命令执行后没有任何显示。 在提示符“-”下输入以下命令:C 1AF5:100 107 1AF5:180,比较的区域长度为8个字节。命令执行后列出比较结果不同的各个字节。 S命令作用:在指定的内存区域中搜索指定的串。 S命令的使用方式为:S [范围] [指定串]。 在提示符“-”下输入以下命令:D 1AF5:100 11F。显示该区域的内存值。 在提示符“-”下输入以下命令:S 1AF5:100 11F 41 42 43 44。搜索该区域是否存在字节串41 42 43 44,并将搜索结果一一列出。 A命令作用:输入汇编指令。 以下的程序要在屏幕上显示“ABCD”四个字符。 首先用E命令将“ABCD
”
四
个
字
符
预
先
放
在
内
存
C
S
:
200
处
,
然
后
执
行
A
100
命
令
输
入
汇
编
程
序
代
码
:
M
O
V
A
X
,
C
S
M
O
V
D
S
,
A
X
M
O
V
D
X
,
200
M
O
V
A
H
,
9
I
N
T
21
I
N
T
20
(
说
明
:
前
两
行
汇
编
指
令
用
于
将
段
寄
存
器
C
S
的
值
赋
给
段
寄
存
器
D
S
。
第
三
到
第
五
行
汇
编
代
码
的
作
用
是
显
示
以
“
”四个字符预先放在内存CS:200处,然后执行A100命令输入汇编程序代码: MOV AX,CS MOV DS,AX MOV DX,200 MOV AH,9 INT 21 INT 20 (说明:前两行汇编指令用于将段寄存器CS的值赋给段寄存器DS。第三到第五行汇编代码的作用是显示以“
”四个字符预先放在内存CS:200处,然后执行A100命令输入汇编程序代码:MOVAX,CSMOVDS,AXMOVDX,200MOVAH,9INT21INT20(说明:前两行汇编指令用于将段寄存器CS的值赋给段寄存器DS。第三到第五行汇编代码的作用是显示以“”为结尾的字符串。最后一行用于结束程序。) G命令作用:执行汇编指令。 G命令的使用方法是:G [=起始地址] [断点地址],意思是从起始地址开始执行到断点地址。如果不设置断点,则程序一直运行到中止指令才停止。 在设置完示例九的的内存数据并且输入完示例九的程序后运行这些汇编代码。在DEBUG中执行命令G=100,观看运行结果。 U命令作用:对机器代码反汇编显示。 U命令的使用方法是:U [范围]。如果范围参数只输入了起始地址,则只对20H个字节的机器代码反汇编。执行命令U100,观看反汇编结果。 N命令作用:设置文件名,为将刚才编写的汇编程序存盘做准备。 以下的DEBUG命令序列作用将刚才的汇编程序存为磁盘的COM可执行程序。 D200 20F U100 10C N E:\FIRST.COM RCX :110 W 第一和第二条命令的作用是检查一下刚才编写的汇编指令。第三条命令的作用是设置存盘文件名为E:\FIRST.COM,第四条命令的作用是设置存盘文件大小为110H个字节。最后一条命令是将文件存盘。 W命令作用:将文件或者特定扇区写入磁盘。 在示例“N命令的使用”中已经实验了如何使用W命令将文件存盘。 在没有很好地掌握汇编语言和磁盘文件系统前,暂时不要使用W命令写磁盘扇区,否则很容易损坏磁盘文件,甚至破坏整个磁盘的文件系统。 L命令的使用L命令作用:从磁盘中将文件或扇区内容读入内存。 将文件调入内存必须先用DEBUG的N命令设定文件名。以下例子是将E:\FIRST.COM读入内容。 N FIRST.COM L 观看调入程序的汇编代码可以使用DEBUG的U命令,用U100观看调入的COM文件。
T命令作用:执行汇编程序,单步跟踪。 T命令的使用方式是T [=地址] [指令数]。如果忽略“地址”的话,T命令从CS:IP处开始运行。“指令数”是要单步执行的指令的数量。 以下示例对E:\FIRST.COM进行单步跟踪。 N E:\FIRST.COM L U100 10B R T=100 T P命令作用:执行汇编程序,单步跟踪。与T命令不同的是:P命令不会跟踪进入子程序或软中断。 P命令的使用方式与T命令的使用方式完全相同。 I命令作用:从计算机输入端口读取数据并显示。 I命令的用法是I [端口地址]。例如从3F8号端口读取数据并显示的命令为:I 3F8。这里不对该命令做解释。 O命令的使用O命令作用:向计算机输出端口送出数据。 O命令的用法是O [端口地址] [字节值]。例如向278号端口发出数据20H的命令为:I 278 20。这里不对该命令做解释。 Q命令的使用Q命令的作用是退出DEBUG,回到DOS状态。 来源:https://www.cnblogs.com/tiger2soft/p/5094917.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |