Reading view

There are new articles available, click to refresh the page.

macOS 下用 DOS 模拟器进行汇编实验

学微机原理的同学都是要求学汇编语言的,但是这种古老的语言并没有良好的移植性,用 Mac 的同学深受其害,往往都需要在 Windows 虚拟机下运行 Dos 模拟器完成,但是 macOS 下也有很棒的 DOS 模拟器,让我们可以跳过 Window 虚拟机这一环。

不要给我说 nasm 命令!!那个东西基本跟学校学习的汇编不兼容,劝发现这个命令的人老老实实用 DOS 模拟器吧。

DOSBox

Windows 下著名的 DOS 模拟器,华中科技大学自动化学生御用 DOS 模拟器,其官网已经多年没有更新了,所以对于最新的系统可能有一些兼容问题。
最新的版本是 2010 年推出的 0.74 版,之后就再也没有更新。细心的读者可能会发现,DOSBox 居然有 MAC OS X 版!各位,先别急着欢呼,我这里之所以用 MAC OS X 而没用 macOS 就是想提醒大家这个版本已经很老了,最新版的兼容性堪忧。

DOSBox

所以广大的 macOS 该怎么办呢?大家放心,既然我博文都写出来了,肯定有比装虚拟机更好的方法。

Boxer

就是我们大名鼎鼎的 Boxer!虽然最新更新日期是 2016 年 2 月,快有一年没有更新了,但是相比于 DOSBox, 已经好太多。官网地址
软件本身自带几个 DOS 游戏,大家可以试着玩玩,但是我们今天的主题不是这个,而是用它进行汇编语言实验。

搭建环境

有了著名的 DOS 操作环境,下面我们需要搭建开发环境,毕竟 Boxer 本身是不包含编译汇编程序的。
这是我找的一份 DOS 环境下汇编语言开发包,提取码是 je38。至于从哪找的我已经忘了,反正好用无毒!
下载好后把里面的程序放到你的汇编语言开发环境中,即在同一个目录下。

挂载项目

打开 Boxer 后选择 Open a DOS prompt, 即进入的我们熟悉又和蔼的 DOS 操作环境。但是我们目前处于一个神奇的位置 — — Z 盘!Z 盘是在哪里呢?抱歉我也不知道,也不想知道。

Boxer

我们目前要做的就是定位到我们的项目文件夹。方法很简单,也有多种,这里我介绍最方便的一种,其他的读者可以自己探索。
把你的项目文件夹直接拖动到 Boxer 窗口中,Boxer会把你拖动的文件夹当成 C 盘挂载。
挂载成功后,就是这样的!

Cdrive

输入 dir 我们可以浏览当前文件夹下都有哪些文件。

编译并运行程序

编译文件用 masm 命令,如:

masm example.asm

编译成功后会生成 .obj 文件,用命令 link 链接对应的文件生成可执行文件,如:

link example.obj

运行生成的 .exe 文件即可!

program
❌