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

article/2025/10/11 17:34:43

汇编语言入门–调试工具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

请添加图片描述

请添加图片描述


http://chatgpt.dhexx.cn/article/U8vOht8S.shtml

相关文章

汇编语言入门(二)

汇编语言入门(一) 文章目录 寄存器【内存访问】内存中字的存储DS和【address】字的传送mov、add、sub指令数据段栈栈顶越界的问题PUSH和POP指令栈的综述栈段【栈的综述】 寄存器【内存访问】 内存中字的存储 4E20是两个字节构成一个字。 上图中0地址单…

汇编语言学习入门+亲自实操+图形并茂

汇编器 汇编器是将汇编语言转化为机器码的程序。或许你会以为汇编转化到机器码没什么大不了的,毕竟几乎是一对一的转换。但nasm存在的意义在于它可以很好的适应多种处理器平台,让编写汇编这件事都变得可移植了。nasm可以在Ubuntu下汇编,使用…

ARM 汇编语言入门

[翻译]二进制漏洞利用(二)ARM32位汇编下的TCP Bind shell:https://bbs.pediy.com/thread-253511.htm ARM汇编语言入门 From:ARM汇编语言入门(一):https://zhuanlan.zhihu.com/p/109057983 原文地址:https://azeria-labs.com/writi…

基础汇编语言编程

目录 什么是汇编语言? 工程搭建 新建工程 环境设置 测试是否成功 正式学习汇编语言 数据处理指令 填充,加,减,乘 思考:我们可以看到R0寄存器可以存放8位十六进制数,那么0x12345678能不能用mov存入&am…

汇编入门学习

学自狂神:最通俗易懂的计算机底层教学,二进制到汇编学习! 1、概述 学习路线: 语言 进制 进制如何运算 二进制 数据宽度 有符号数和无符号数 原码反码补码 位运算 位运算计算 汇编 寄存器 内存 汇编指令 内存复制 …

【学习笔记】汇编语言入门

汇编语言入门 概述 指令格式(最多包含4个区段):各区段之间用规定的分隔符分开 [标号:] 操作码 [操作数] [;注释]标号区段(当前指令行的符号地址)操作码区段(指令的操作行为,由操作…

关于汇编语言入门的几个案例

哈喽,大家好呀~这篇呢我们来看看汇编语言的几个入门小案例。 🥇个人主页:个人主页 🥈系列专栏:日常解决的问题 🥉与这篇汇编相关的文章: …

什么是汇编语言

汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号&#…

汇编语言系列教程之基础入门 (一)

汇编语言系列教程之基础入门 (一) http://www.cnblogs.com/flyor/p/7208948.html 机器字长 机器字长是指CPU一次运算所能处理的数据的位数,一般来说这个数的和CPU的通用寄存器长度、数据总线的宽度等相等,在8086中为16bit。由于历…

快速入门汇编语言

这篇是我在先后学习了《汇编原理》、《CSAPP》第三章和《x86 data sheet》,以及经历了大量google后写出的总结性文档,用于自查和复习。若能有所助益,不胜荣幸。如有错漏,烦请不吝赐教。 1. 从C到汇编 在初学C语言时,…

汇编语言(一)

一、编程语言 1)机器语言 机器语言是机器指令的集合。在计算机中是一串0、1二进制数,计算机转变为高低电平,器件受到震动,进行运算。由于硬件设计和内部结构的不同,需要不同的电平脉冲来控制使它工作,所以…

汇编语言程序设计入门

前言:公号 「编程有料」后台回复 “大礼包” 即可获取近1000本助力你编程之路的电子书 汇编语言程序设计 一,汇编语言程序设计概述1,程序设计语言2,汇编语言源程序3,汇编语言程序开发过程 二,汇编语言基本语…

手把手教你学习汇编语言——从入门到起飞

专接本交流群:1051749714 (有什么问题欢迎进群讨论) 关于这篇博客,笔者会尽量用最简单的方式教会大家汇编语言以便应付各种考试 有什么不足的忘大佬评论或私信指出。 汇编环境安装 汇编运行调试 汇编指令 希望大家看完这些找一些…

小白的入门之——汇编语言程序设计教程

目录 第一章 基础知识 1.1汇编语言的特点 1.2计算机中数据表示的特点 【BCD码表示法(Binary Coded Decimal)】 【定点数】 —原码表示法— —反码表示法— —补码表示法— 浮点数 1.3 ​​​​​​计算机的数据存储 寄存器 存储器 数据在主…

汇编入门基础

1.什么是汇编语言? 汇编语言就是低级语言,直接描述/控制 CPU 的运行,我们知道,CPU 只负责计算,本身不具备智能。你输入一条指令(instruction),它就运行一次,然后停下来&…

汇编语言入门教程

一、汇编语言是什么 ​ 汇编语言是二进制指令(操作码)的文本形式,与指令是一一对应的关系。比如加法指令00000011写成汇编语言就是ADD 二、前置知识——寄存器 ​ 1、寄存器不依靠地址区分,而依靠名称,CPU通过名字去…

南邮《汇编语言程序设计》期末复习 CH3: 汇编语言指令集

本文转载自厉害的 孔姐姐 的 博客 。 由一只孔姐姐的小迷弟负责排版和整理~ 一、基本概念 1.指令:单个的 CPU 操作,通知 CPU 执行某种操作的 “命令” 指令集:所有指令的集合 机器指令:用二进制序列(0、1&#xff09…

汇编语言程序格式

1 逻辑段 汇编语言源程序由一个或多个逻辑段组成。 ❖ 一个程序中可以有几个同一类型的逻辑段。 ❖ 必须至少有一个代码段。 [注]源程序分段的目的在于程序结构清晰、便 于内存分配,寻址方便,一个源程序需要设置 几个段应根据具体…

汇编常用指令

通用寄存器及使用 IA-32系列有8个32位通用寄存器&#xff0c;名称分别为&#xff1a;EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI&#xff0c;如图&#xff1a; 简单传送指令 指令中文名格式解释备注MOV传送指令MOV DEST,SRCDEST<SRCXCHG交换指令XCHG OPER1,OPER2把操作数oper1的内容…

第一章 汇编语言和汇编指令

【用最少的指令来实现功能】 自用 文章基于《计算机体系结构新讲》&#xff08;中国地质大学出版社&#xff09; 目录 一、汇编指令 &#xff08;1&#xff09;MIPS汇编指令示例解析 &#xff08;2&#xff09;MIPS指令集 二、汇编指令中的操作数 &#xff08;1&#xff0…