汇编中怎么用DEBUG调试程序

汇编中怎么用DEBUG调试程序,第1张

启动

Debug,它是可用于测试和调试

MS-DOS

可执行文件的程序。

Debug

[[drive:][path]

filename

[parameters]]

参数

[drive:][path]

filename

指定要测搜清试的可执行文件的位置和名称。

parameters

指定要测试的可执行文件所需要的任何命令行信息。

++

说明

使用

Debug

命令但不指定要测试的文件

如果使用没有位置和文件名的

Debug

命令,然后键入所有的

Debug

命令以响应

Debug

提示符,连字符

(-)。

Debug

命令

以下是

Debug

命令列表:

?

显示

Debug

命令列表。

a

汇编

8086/8087/8088

记忆码。

c

比较内存的两个部分。

d

显示部分内存的内容。

e

从指定地址开始,将数据输入到内存。

f

使用指定值填充一段内存。

g

运行在内存中的可执行文件。

h

执行十六进制运算。

i

显示来自特定端口的

1

字节值。

l

将文件或磁盘扇区内容加载到内存。

m

复制内存块中的内容

/n

l

w

命令指定文件,或者指定正在测试的文件的参数。

o

向输出端口发送

1

个字节的值。

p

执行循环、重复的字符串指令、软件中断或子例程。

q

停止

Debug

会话。

r

显示或改变一个或多个寄存器。

s

在部分内存中搜索一个或多个字节值的模式。

t

执行一条指令,然后显示所有寄存器的内容、所有标志的状态和

Debug

下一步要执行的指令的解码形式。

u

反汇编字节并显示相应的原语句。

w

将被测试文件写入磁盘。

xa

分配扩展内存。

xd

释放扩展内存。

xm

映射扩展内存页。

xs

显示扩展内掘漏举存的状态。

分隔命令参数

所有

Debug

命令都接受参数,除了

q

命令之外。可以用逗号或空格分隔参数,但是只有在两个十六进制值之间才需要这些分隔符。因此,以下命令等价:

dcs:100

110

d

cs:100

110

d,cs:100,110

指定有效地址项

Debug

命令中的

address

参数指定内存位置。Address

是一个包含字母段记录的二位名称或一个四位字段地址加上一个偏移量。可以忽略段寄存器或段地址。a,g,l,t,u

w

命令的默认段是

CS。所有其他命令的默认段是

DS。所有数值均为十六进制格式。

有效地址如下:

CS:0100

04BA:0100

在段名和偏移量之间要有冒号。

指定有效范围项

Debug

命令中的

range

参数指定了内存的范围。可以为

range

选择两种格式:起始地址和结束地址,或者起始地址和长度范围(由

l

表示)。

例如,下面的两个语法都可以指定从

CS:100

开始的

16

字节范围:

cs:100

10f

cs:100

l

10

++

Debug

子命令

选择

Debug

命令以获得详细信息。

Debug:A(汇编)

Debug:C(比较)

Debug(转储)

Debug:E(键入)

Debug:F(填充)

Debug:G(转向)

Debug:H(十六进制)

Debug:I(输入)

Debug:L(加载)

Debug:M(移动)

Debug:N(名称)

Debug:O(输出)

Debug:P(执行)

Debug:Q(退出)判碧

Debug:r(寄存器)

Debug:s(搜索)

Debug:T(跟踪)

Debug:U(反汇编)

Debug:W(写入)

Debug:XA(分配扩展内存)

Debug:XD(取消分配扩展内存)

Debug:XM(映射扩展内存页)

Debug:XS(显示扩展内存状态)

详细步骤如下:

1.

将写好的汇编代码保存为1.asm

2.

将1.asm复制到c盘下

3.

点开始辩雹(即左下标那个windows图标),找到运行,或(附件中的命令提示符)

4.

找到运行后,输入cmd

command

5.

进入后输入携游帆cd

c:\

6.

输入masm

1(1后面有分磨稿号),然后回车

7.

输入link

1然后回车

8.

cls清屏然后回车

9.

输入1.exe,然后回车

10.

完成

如果你需要debug,步骤如下:

1

-

8步同上

9. 输入debug

1.exe,然后回车

10

完成

通过以上步骤你便可以通过命令符窗口进行汇编程序。

汇编语言(assembly

language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的 *** 作码,用地址符号(Symbol)或标号(Label)代替指令或 *** 作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

1、点击桌面左下角的【开始】;在搜索栏目中,输入cmd;在d出的菜单中,选中cmd,回车。

2、这个者轮时候打开了win7系统的控制台DOS窗口。在窗口中,输入命令debug。

3、打开了程序debug.exe。使用a命令,在指定地址中,写入指令,为下面的实验准备一下。

4、使用G命令查看ax寄存器的初始值。此时寄存器中,ax寄存器的初始值为0000,ip寄存器初始值为0100。

5、G语言中-t  表示执行IP位置的助记符指令。输入命令-t,此时皮芹(ax)=0012,表示执行有效地址为0100处的指令。

6、-t=地址  表示执行指定地址处的指令。输入-t=0103。程序执燃嫌毕行0103出的指令,(ax)=0034。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12386145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存