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

【微机】DOSBox在windows上的安装和masm的配置

本文首发于 ❄️慕雪的寒舍

最近学校学习微型计算机原理与接口技术,需要用到DOSBox来模拟DOS环境进行汇编编程的学习。

本文记录了如何在windows11/10上安装DOSBox0.74并配置masm5

1.安装

这两个软件我打包上传到了百度云盘。放心,加起来也就2mb,下载应该不会很久

链接: https://pan.baidu.com/s/1vjbSL7iwP8WpMVA9K505ZA
提取码: kr4x

1.1 DOSBox

点击DOSBox0.74的安装包,无脑下一步安装即可

image-20231017015458406

安装出来的图标如下

image-20231017015529621

1.2 masm5

找一个空的文件夹,文件路径中不能包含空格、特殊字符和中文,将masm5.zip中的文件全部解压到这个文件夹中,如下图

image-20231017015700958

随后修改DOSBox软件的配置文件,右键桌面上Dosbox软件的快捷图标,选择打开文件所在位置找到DOSBox软件的安装路径,点击DOSBox 0.74 Options.bat文件,稍等片刻,会以记事本的方式打开配置文件。

image-20231017015801923

拉到配置文件最底下,新增如下配置。你只需要修改D:\GAME\masm为你的masm5文件的解压目录就行了。这个文件路径中不能有空格,也不能有特殊字符和中文!

MOUNT C D:\GAME\masm
path=%path%; \masm
C: 
cd \asm

配置完成后,启动DOSbox,查看masm命令是否能正常使用。如图所示,没有报错masm命令不存在,那么就是配置好了。

image-20231017020002774

2.修改DOSBox窗口大小

默认情况下DOSBox的命令行窗口是非常非常非常小的,我们需要将其改大。同样是修改DOSBox的配置文件,如何打开配置文件参考上文。

按下图所示修改

image-20231017020347782

请注意,这里的1280和1080中间的是大写的X,并不是乘号

windowresolution=1280X1080
output=opengl

修改了之后保存,再重新打开DOSBox,界面就应该会变大了。如果你觉得还是小了,可以修改这里的分辨率,继续让他变大一点。

3.编译一个汇编程序

用下面最简单的汇编程序做测试,将如下内容写入到test.asm中,并放入和masm的同一目录下(必须要是同一目录)

CODE SEGMENT ;USE16ASSUME CS:CODE
BEG: MOV DL,'H'MOV AH, 2 ; 调用2号DOS系统调用输出字符到屏幕上INT 21HMOV AH, 4CHINT 21H
CODE  ENDSEND BEG

打开DOSBox,输入如下命令

masm test.asm
link test.obj

输出如下图所示,第一个命令的作用是编译源文件(注意看有没有编译报错);第二个命令的作用是链接obj文件,最终会弹出来一个警告,不用管他。

image-20231017020903839

最终执行test,成功输出字符H到终端上。

image-20231017020946832

能走到这一步,就代表你的masm基本环境已经配置好了。可以用来编译运行汇编代码了


http://www.mrgr.cn/news/20675.html

相关文章:

  • 计算机网络基础 - 应用层(2)
  • 认知杂谈48
  • 华为OD机试真题-猜字谜-2024年OD统一考试(E卷)
  • 每日一练5:最小花费爬楼梯(含链接)
  • 今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 9月6日,星期五
  • sync 命令
  • Docker 部署 Kibana (图文并茂超详细)
  • 读软件设计的要素02概念的目的
  • Flask如何传递URL参数
  • 使用sysctl
  • 创建一个桌面便签程序:Python和tkinter的应用
  • c++ 指针的用法详解
  • 彻底解决 node/npm, Electron下载失败相关问题, 从底层源码详解node electron 加速配置
  • 远程教育与学习:探索远程控制技术在教育领域的新机遇
  • SQL的高级查询练习知识点中(day25)
  • C++封装、继承和多态
  • 使用PowerShell检查Exchange服务状态:详细教程
  • 听故事学习 GAN
  • 智能家居系统(基于STM32F103C8T6标准库+FreeRTOS+Qt串口开发实现)
  • Python 人脸识别实战教程