1-3、DOSBox环境搭建

2023-11-30 23:36
文章标签 搭建 环境 dosbox

本文主要是介绍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

这篇关于1-3、DOSBox环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/438964

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

Go Playground 在线编程环境

For all examples in this and the next chapter, we will use Go Playground. Go Playground represents a web service that can run programs written in Go. It can be opened in a web browser using the follow

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom