汇编语言入门--调试工具debug的使用(史上最全,11种常见命令)

本文详细介绍了debug工具的使用,包括启动、检查修改寄存器、显示和修改存储单元、汇编与反汇编、跟踪指令、命名、写入与加载、运行及退出等11种常见命令。通过实例演示,帮助读者掌握调试汇编语言的基本操作。
摘要由CSDN通过智能技术生成

汇编语言入门–调试工具debug的使用(史上最全,11种常见命令)

1.直接启动debug程序

详见:https://bingshuai.blog.csdn.net/article/details/119978461

请添加图片描述

2.检查和修改寄存器内容命令R

检查 -r

请添加图片描述

修改 这里用AX来举例: -r AX 出现冒号(:) 输入要修改的值

请添加图片描述

3.显示和修改标志位状态 RF

其中标志状态的含义如下:

标志名标志为1标志为0
OF溢出(是/否)ovnv
DF方向(减量/增量)DNUP
IF中断(允许/关闭)EIDI
SF符号(负/正)NGPL
ZF零(是/否)ZRNZ
AF辅助进位(是/否)ACNA
PF奇偶(偶/奇)PEPO
CF进位(是/否)CYNC

命令格式 -RF

系统响应,如 NV UP EI PL NZ NA PO NC -

请添加图片描述

此时如果不修改其内容可按enter键,否则,键入想要修改的内容

如:NV UP EI PL NZ NA PO NC - POZRDIOV 键入的顺序是任意的

请添加图片描述

4.显示存储单元的命令D

几种命令:其格式为-D[address]或-D[range]

1.直接输入-D

请添加图片描述

2.输入 -D 083F:0100 (起始位置,段地址:偏移地址)

请添加图片描述

3.显示地址范围-D 100 1201

请添加图片描述

4直接输入起始位置 -D 110

请添加图片描述

5.修改存储单元命令E

方式一:可以用给定的内容表来替代指定的范围的存储单元内容。

命令格式: -E address [list]

-E DS:100 F3’XYZ’8D 其中F3 ,‘X’,‘Y’,'Z’和8D各占一个字节,该命令可以用这五个字节来替代存储单元DS:0100到0104的原先的内容。

请添加图片描述

方式二:采用逐个单元相继修改的方法

命令格式: -E address

-E CS:100 回车

出现073F:0100 F3.

如果需要把单元内容修改为11,可以输入11,再按空格键可接着输入显示下一个单元的内容,这样就可以不断修改相继单元的内容,直到enter键结束该命令。

请添加图片描述

6.填写命令F

其格式为: -F range list

例如:-F 073F:0120 L5 F3’XYZ’8D 使073F:0120-0124单元包含指定的五个字节的内容。

如果list中的字节数超过指定的范围,则忽略超过的项;如果list的字节数小于指定范围,则重复使用list填入,直到填满指定的所有单元为止。

长度刚好合适:
请添加图片描述

长度超过

请添加图片描述

长度少于
请添加图片描述

7.汇编命令A

命令格式:-A[address]

该命令允许键入汇编语言语句,并把它们汇编成机器代码,相继地存入在从指定的地址开始存储区中。注意:debug 把键入的数字均看成十六进制数,所以如要键入十进制数,则后面要说明,如100D

请添加图片描述

8.反汇编命令U

从指定位置开始,反汇编32字节,其格式为:

-U[range]

例如:-U 073F:0120

请添加图片描述

指定范围进行反汇编:

-U 0120 0130

请添加图片描述
-U 073F:0100 0126 使用默认的有些显示不出来,所以使用这个命令,可以完全显示其内容

在这里插入图片描述

9.跟踪指令T

1.逐条指令跟踪:

-T[=address]

从指定地址起执行一条指令后停下来,显示所有存储器内空及标志位的值。如未指定则从当前CS:IP开始执行

例如:

-T =073F:0100

请添加图片描述

2.多条指令跟踪:

-T[=address] [value]

从指定地址起执行n条指令后停下来,n由value指定

例如:-T =073F:0100 3

请添加图片描述

10.命名指令N,写入命令w,装入指令l

1.命名命令n,其格式为

-n filespecs

filespecs 格式为 [c:] [path] filename [.com]

命令把两个文件标识符格式化在CS:5CH和CS:6CH的两个文件控制块中,以便在其后用L或w命令把文件装入或存盘

2.写入命令W

把数据写入磁盘的指定扇区。其格式为:

-w address drive sectot

把数据写入指定的文件中,其格式为

-W [address]

此命令把指定的存储区中的数据写入由CS:5CH处的文件控制块所指定的文件中

如果未指定地址则数据从CS:0100开始。要写入文件的字节数应先放BX和CX中

示例:

请添加图片描述

-n c:\1.com命令的作用是设置存盘文件名为c:\1.com,-R CX作用是设置存盘文件大小为110H个字节。最后一条命令是将文件存盘。

3.装入命令L

把磁盘上指定的扇区范围的内容装入到存储器从指定地址开始的区域中,其格式为

-L[address [dirve sector sector]]

装入指定文件,其格式为:

-L[address]

此命令装入已在CS:5CH中格式化了的文件控制块所指定的文件。如未指定地址,则装入CS:0100开始的存储区中

例如:

请添加图片描述

在这之前先写入

11.运行命令G

其格式为:

-G [=address1] [address2[address3…]]

其中地址1指定了运行的起始地址,如不指定则从当前的CS:IP开始运行。后面的地址均为断点地址,当指令执行到断点时,就停止执行并显示当前所有寄存器及标志位的内容,和下一条将要执行的指令。

请添加图片描述

请添加图片描述

12.退出debug命令Q

其格式为: -Q

请添加图片描述

请添加图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

h1dm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值