1-3、DOSBox环境搭建

语雀原文链接

文章目录

    • 1、安装DOSBox
    • 2、Debug
      • 进入Debug
      • r
      • d
      • e
      • a
      • u
      • t
      • q

1、安装DOSBox

  • 官网下载下载地址:https://www.dosbox.com/download.php?main=1
  • 此处直接下载这个附件(内部有8086的DEBUG.EXE环境)8086汇编工作环境.rar
  • 执行安装DOSBox0.74-win32-installer.exe,安装完成打开应用出现以下界面

image.png

  • 将MASM拷贝到非C盘的目录下,例如此处是d:\IT\MASM

image.png

  • 在DOSBox的串口输入以下命令(d:\IT\MASM 和上一步复制的目录是一样的),出现上图中的字符表示成功
// 这里大致意思就是将这个d:\IT\MASM目录作为c盘挂载起来
C:\>mount c d:\IT\MASM
Drive C is mounted as local directory d:\IT\MASM\C:\>c:C:\>debug
  • Mac系统下也是一样的操作

截屏2023-11-30 22.32.04.png

2、Debug

  • 使用Debug程序,可以查看CPU各种寄存器中的内容、内存的情况,并且在机器指令级跟踪程序的运行
  • R命令:查看、改变CPU寄存器的内容
  • D命令:查看内存中的内容
  • E命令:改变内存中的内容
  • U命令:将内存中的机器指令翻译成汇编指令
  • A命令:以汇编指令的格式在内存中写入机器指令
  • T命令:执行机器指令

进入Debug

  • 实际就是运行D:\IT\MASM\DEBUG.EXE

image.png

r

  • 写法1:-r
  • 作用:查看寄存器内容

image.png

  • 写法2:-r 寄存器名字
  • 作用:改变寄存器内容

截屏2023-11-30 22.40.18.png

d

  • 写法1:-d
  • 作用:查看预设地址内存处128个字节的内容
    • 2000:0080,段地址2000,偏移地址0080,表示的物理地址是20080
    • 2000:0090,表示的物理地址是20090
    • 这两行之间有16个内存单元(20080~2008F),每个内存单元一个字节,8位二进制,2位16进制,就是第一行16个字节的00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00

截屏2023-11-30 22.43.18.png

  • 写法2:-d 段地址:偏移地址
  • 作用:查看指定地址的内容,此处查看的是2222的内容,前面的两个2220 2221显示空了

截屏2023-11-30 22.45.00.png

  • 写法3:-d 段地址:偏移地址开始 偏移地址结束
  • 作用:查看指定地址范围的内容

截屏2023-11-30 22.45.41.png

  • 写法4:连续使用d
  • 作用:可以列出后续的内容

image.png

e

  • 用法1:-e 段地址:偏移地址 数据1 数据2
  • 作用:批量修复数据

image.png

  • 用法2:-e 段地址:偏移地址
    • 逐个询问式修改
    • 空格表示接受,继续修改
    • 回车表示结束
  • 作用:逐个修改数据

image.png

  • 用法3:写入字符

image.png

  • 用法3:写入字符串

image.png

a

  • 写法1:-a 段地址:偏移地址
  • 作用:以汇编指令的格式在内存中写入机器指令
  • 此处写入的地址是:073f:0100,对应CS IP
    • mov ax,0123
    • mov bx,0003
    • mov ax,bx
    • add ax,bx

image.png

u

  • 写法1:-u 段地址:偏移地址
  • U命令:将内存中的机器指令翻译成汇编指令

截屏2023-11-30 22.54.51.png

t

  • 写法:-t
  • 作用:执行CS:IP处的指令,逐条执行,每执行一条,IP寄存器偏移一次
  • 执行上述的几条命令
    • mov ax,0123
    • mov bx,0003
    • mov ax,bx
    • add ax,bx

image.png

q

  • 退出debug

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/186528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决CentOS下PHP system命令unoconv转PDF提示“Unable to connect or start own listener“

centos系统下,用php的system命令unoconv把word转pdf时提示Unable to connect or start own listene的解决办法 unoconv -o /foo/bar/public_html/upload/ -f pdf /foo/bar/public_html/upload/test.docx 2>&1 上面这个命令在shell 终端能执行成功&#xff0c…

基于GAN的多尺度门合并多模态MRI图像合成

Multi-Modal MRI Image Synthesis via GAN With Multi-Scale Gate Mergence 基于GAN的多尺度门合并多模态MRI图像合成背景贡献实验方法生成器gate mergence (GM) strategy(门控融合策略)判别器 损失函数Thinking 基于GAN的多尺度门合并多模态MRI图像合成…

深入了解接口测试:揭秘网络分层和数据处理!

网络分层和数据 上一小节中介绍了接口测试中一些必要重要的定义,这一节我们来讨论一下在学习接口测试过程中我们要关注的最重要的东西:网络分层和数据。 首先,我们来尝试理解一下,为什么网络是要分层的呢? 我们可以…

PP生产模式和计划策略

以前的笔记,现在回头看看还挺全面的。 1.1 生产模式和计划策略 不同的生产模式对应着不同的计划策略 ,SAP中通过定义不同的计划策略组(Planning strategy Group),确定计划策略、需求类型以及相对应的需求…

python文件读取

相对路径 读文件 打印txt文件 fopen(".\data.txt","r",encoding"utf-8") contentf.read() print(content) f.close()with open(".\data.txt","r",encoding"utf-8") as f:contentf.read()print(content)contentf…

Ilya Sutskever:师从Hinton,“驱逐”奥特曼,一个改变AI世界的天才科学

ChatGPT 已经在全球爆火,但大众在两周之前似乎更熟悉Sam Altman,而对另一位创始人 Ilya Sutskever 却了解不多。 直到前几天因为OpenA眼花缭乱的政权争夺大戏,OpenAI 的首席科学家Ilya Sutskever的名字逐渐被世人所知。 Ilya Sutskever在科…

深入了解 Python 集合:操作、实现原理与应用场景

基本概念 在Python中,集合(Set)是一种无序、可变且不包含重复元素的数据结构。集合的创建使用花括号 {} 或者 set() 构造函数。例如: my_set {1, 2, 3}集合中的元素是唯一的,这意味着无论你添加多少次同一个元素&…

STM32 CUBEIDE Outline is disabled due to scalability mode

项目场景: 问题描述 Outline is disabled due to scalability mode 看不到函数 解决方案:

继承中的析构函数的权限的深入了解

如果一个父类中的析构函数如果设置为 private 权限 ,一个子类public继承了这个父类,那么 这个父类可以创建对象吗? 答案是 不可以 看看下面的代码 class A { public:private:~A() {} };class B :public A {A a; // 这个地方编译不报错&…

【CAN通信】CanIf模块详细介绍

目录 1.内容简介 2.CanIf详细设计 2.1 CanIf功能简介 2.2 一些关键概念 2.3依赖的上下层模块 2.4 功能详细设计 2.4.1 Hardware object handles 2.4.2 Static L-PDUs 2.4.3 Dynamic L-PDUs 2.4.4 Dynamic Transmit L-PDUs 2.4.5 Dynamic receive L-PDUs 2.4.6Physi…

PostGIS学习教程八:空间关系

PostGIS学习教程八:空间关系 到目前为止,我们只使用了测量(ST_Area、ST_Length)、序列化(ST_GeomFromText)或者反序列化(ST_AsGML)几何图形(geometry)的空间…

利用 Golang 中的 Recover 处理错误

关注公众号【爱发白日梦的后端】分享技术干货、读书笔记、开源项目、实战经验、高效开发工具等,您的关注将是我的更新动力! Golang 中的 recover 是一个鲜为人知但非常有趣和强大的功能。让我们看看它是如何工作的,以及在 Outreach.io 中如何…

I Hate Non-integer Number,(线性dp,计数类)

D - I Hate Non-integer Number (atcoder.jp) Problem Statement You are given a sequence of positive integers A(a1​,…,aN​) of length N. There are (2N−1) ways to choose one or more terms of A. How many of them have an integer-valued average? Find the co…

【MATLAB】异常数据识别

基于分位数的异常点识别 首先,给定了一个原始数据序列x。然后,计算了序列x的上四分位数和下四分位数,并根据这两个值计算了异常点的阈值。上四分位数减去1.5倍的四分位数范围得到异常值下界,下四分位数加上1.5倍的四分位数范围得…

运行新vue3项目

一,下载node并安装 官网:https://nodejs.org/en/ 查看版本: node -v二,cd进入到vue3项目目录 cd D:\Program-space\HBuilderXProject\Vue3project三,npm install npm install四,查看安装 npm list五&a…

YoloV5改进策略:AKConv即插即用,轻松涨点

文章目录 摘要论文:《AKConv:具有任意采样形状和任意数目参数的卷积核》1、引言2、相关工作3、方法3.1、定义初始采样位置3.2、可变卷积操作3.3、扩展AKConv4、实验4.1、在COCO2017上的目标检测实验4.2、在VOC 7+12上的目标检测实验4.3、在VisDrone-DET2021上的目标检测实验4…

解析生效探测方法

linux dig命令 1.最常用的查询命令 dig baidu.com2 . 根据记录类型进行查询,比如MX,CNAME,NS,PTR等,只需将类型加在命令后面即可。 dig a.shifen.com ns3 . 指定域名DNS服务器测试解析是否生效的命令,以…

centos8 下载

下载网址 Download 直接下载地址 https://mirrors.cqu.edu.cn/CentOS/8-stream/isos/x86_64/CentOS-Stream-8-20231127.0-x86_64-dvd1.iso 这个版本安装的时候方便

一个函数最好只做一件事?未必!这是一个例子

编程实践中,为了模块化设计,降低程序的复杂度,提高程序的可读性,通常设计一个函数时应尽可能简单,简单到只做一件事。然而,工程实践中,有时候受制于一些因素,如内存空间、程序执行效…

大数据Doris(二十九):数据导入(Insert Into)

文章目录 数据导入(Insert Into) 一、​​​​​​​创建导入