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图像合成…

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

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

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在科…

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)的空间…

【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…

解析生效探测方法

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) 一、​​​​​​​创建导入

算法通关村第五关—Hash基础知识(青铜)

Hash基础 一、Hash的概念和基本特征 哈希(Hash)也称为散列,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,这个输出值就是散列值。很多人可能想不明白,这里的映射到底是啥意思,为啥访问的时间…

基于SpringBoot的旅游网站的设计与实现

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势,旅游网站当然也不能排除在外,随着旅游网站的不断成熟,它彻底改变了过去传统的旅游网站方式,不仅使旅游管理…

支持中文,性能超GPT-4!为开发人员而生的 AI 搜索引擎

生成式AI代码开发平台Phind在官网发布了最新V7版本,性能方面超越GPT-4,运行效率提升了5倍,并且支持中文和16K超长上下文。 据悉,Phind V7是基于Phind的开源代码模型CodeLlama-34B V2,以及700亿个高质量代码和推理问题…

企业数字化转型应对传统网络挑战的关键策略

数字化变革正在以前所未有的速度和规模改变着我们的生活和工作方式,使得传统网络架构面临着巨大的挑战。其中包括带宽需求增加、多云应用增加、安全威胁增加以及传统网络设备无法满足需求等问题。 数字化时代需要更高速、更可靠、更安全的网络支持,传统网…

西安数字孪生赋能工业制造,加速推进制造业数字化转型

西安数字孪生、5G、工业物联网、工业互联网等新一代信息通信技术与工业制造业经济深度融合,通过对人、机、物、系统等全面连接,构建覆盖全产业链、全价值链的全新制造和服务体系,为工业乃至产业数字化、网络化、智能化发展提供实现途径&#…

Redis String类型

String 类型是 Redis 最基本的数据类型,String 类型在 Redis 内部使用动态长度数组实现,Redis 在存储数据时会根据数据的大小动态地调整数组的长度。Redis 中字符串类型的值最大可以达到 512 MB。 关于字符串需要特别注意∶ 首先,Redis 中所…