当前位置: 首页 > ops >正文

汇编语言学习(三)——DoxBox中debug的使用

目录

一、安装DoxBox,并下载汇编工具(MASM文件)

二、debug是什么

三、debug中的命令


一、安装DoxBox,并下载汇编工具(MASM文件)

链接:

https://pan.baidu.com/s/1IbyJj-JIkl_oMOJmkKiaGQ?pwd=j4th

提取码:j4th

 1、下载安装之后双击DOSBox0.74-win32-installer.exe文件进行安装。

2、配置DOS汇编器

       (1) 直接将下载好的MASM文件夹直接复制到自己安装DosBox文件夹下面即可。

  • MASM.EXE文件用于编译;
  • LINK.EXE文件用于链接;
  • debug.exe文件用于调试;

        

        (2)打开DosBox,输入以下命令将Debug工具挂载到虚拟C盘:

mount C d:/Dosbox/masm

        

         其中:d:/Dosbox/masm路径下存放着debug.exe文件;

        (3)运行debug工具,输入一下两条命令,即可运行debug.exe文件。

二、debug是什么

        Debug是DOS系统中著名的调试程序,也可以在Windows系统中以实模式运行。Debug的主要功能包括查看和修改寄存器内容、查看和修改内存内容、将内存中的机器指令翻译成汇编指令、执行机器指令、以汇编指令格式写入内存等。

三、debug中的命令

        (1)R命令用于查看或改变CPU寄存器的内容

                查看所有寄存器的内容

-r  用于查看寄存器的值

                查看指定寄存器的内容

-r 寄存器名     

                修改寄存器的内容,debug会提示输入新的值(以“:”表示) 

-r 寄存器名
:值

                实例演示: 

        (2)D命令用于查看内存中的内容

                 指定段地址和偏移地址

-d 段地址:偏移地址

从段地址1000和偏移地址0开始显示内存内容              

                使用段寄存器

-d 段寄存器:偏移地址

 从 DS 段寄存器中的段地址和偏移地址 100 开始显示内存内容

                 不指定地址

-d

                指定指定段地址和偏移地址以及结尾偏移地址

-d 段地址:偏移地址 结尾偏移地址

从段地址1000和偏移地址0开始显示内存内容,结束位置在段地址1000和偏移地址1f

  • 如果指定了段地址和偏移地址,d 命令将从该地址开始显示内存内容。
  • 如果未指定地址,d 命令将从上次 d 命令显示的最后一个单元的下一个单元开始显示,或者从默认地址开始显示。
  • 默认情况下,d 命令从 DS:100H 地址开始显示 128 个单元的内容,但实际行为可能因环境而异。

                  输出格式:

  • 每行显示 16 个字节的内容。
  • 左边是每行的起始地址。
  • 中间是每个内存单元中的数据对应的十六进制值。
  • 右边是每个内存单元中的数据对应的可显示的 ASCII 码字符。若没有对应可显示的 ASCII 字符,DEBUG 就用“.”来代替

        (3)E命令用于修改内存中的内容

                批量修改内存单元

E 段地址:偏移地址  数据1 数据2...

           逐个修改内存单元

E 段地址:偏移地址逐个询问式修改空格 -接受,继续回车 -结束

   

        (4)U命令用于将内存中的机器指令翻译成汇编指令

汇编指令

mov ax,0123H

mov bx,0003H

mov ax, bx

add ax,bx

对应的机器码为

B8 23 01

BB 03 00

89 D8

01 D8

e 段地址:偏移地址 数据(机器码)-------写入

d 段地址:偏移地址    -----------------查看

u 段地址:偏移地址  ------------查看对应的汇编指令

 

        (5)A命令用于以汇编指令格式在内存中写入机器指令

a  段地址:偏移地址 数据(写入汇编指令)

d 段地址:偏移地址 --------查看数据

u 段地址:偏移地址 -----------查看代码

 

        (6)T命令用于执行cs:ip处的机器指令

                先在CS:IP地址处写入几条指令

                使用-t执行

        (7)Q命令用于退出Debug

-q 退出debug

http://www.xdnf.cn/news/12615.html

相关文章:

  • Android启动时长优化(kernel部分)
  • 硬件电路设计-开关电源设计
  • PLC有脉冲输出,但伺服电机无法旋转
  • Linux安装jdk、tomcat
  • gopool 源码分析
  • 今天对C语言中static和extern关键字的作用认识又深刻了
  • Mysql 插入中文乱码
  • 牛客练习赛140
  • 广东餐饮服务中高级证备考指南:高效学习与应试技巧
  • H_Prj06_02 8088单板机串口读取内存块
  • 瀑布流布局
  • Vue2 模板中使用可选链操作符(?.)的坑
  • gRPC 的四种通信模式完整示例
  • 自动驾驶---SD图导航的规划策略
  • 【CSS-5】掌握CSS文本样式:从基础到高级技巧
  • C# 中替换多层级数据的 Id 和 ParentId,保持主从或父子关系不变
  • Python_day47
  • burpsuite安装与入门使用
  • 【C++特殊工具与技术】优化内存分配(二):allocator类
  • excel中数字不满六位在左侧前面补0的方法
  • 数据通信与计算机网络——数字传输
  • Redis:过期删除策略与内存淘汰策略的解析指南
  • 如何处理双面沉金线路板上的定位孔?
  • 如何在Lyra Starter Game中使用EOS(Epic Online Services)
  • python将图片颜色显示在三维坐标系
  • Qt学习及使用_第1部分_认识Qt---学习目的及技术准备
  • 集运维_安装centso7.9和麒麟v10国产系统
  • Redis主从复制原理二 之 主从复制工作流程
  • C++2025.6.7 C++五级考题
  • CADisplayLink、NSTimer、GCD定时器