学习OS, 不得不学的一门语言就是汇编了, 说起来这种语言应该是除机器语言外最接近计算机底层的语言了, 但是又不失可读性. 下面我在自己的电脑上配置了masm汇编环境, 并且给出了配置文件的使用方法(dosbox-x默认配置文件并不在其官网所述的目录中!) 包括字体的修改, 环境变量的配置等等.
brew
:
brew install dosbox-x --cask
至于为什么没有使用dosbox呢? 当时好像是
dosbox-x
最先支持了m1, 并且有更多的功能, 就先体验了(后来发现确实比原版的dosbox要好用一些)
关于这个默认的配置文件我找了好久, 因为官网说:
(Windows) C:\Users\<username>\AppData\Local\DOSBox-X\dosbox-x-<version number>.conf (Linux) ~/.config/dosbox-x/dosbox-x-<version number>.conf (macOS) ~/Library/Preferences/DOSBox-X <version number> Preferences
- 1
- 2
- 3
但是对应的目录中并没有这个文件…
后来看issue1, 发现这是一个bug…
因为默认的dosbox安装路径(在win下)中是有一个生成配置文件.bat
这样一个批处理文件的, 但是移植过来的dosb-x
好像去掉了这个文件…
不过, 后来我几经折腾, 找到了这样两个文件:
/Applications/dosbox-x.app/Contents/Resources/dosbox-x.reference.conf
/Applications/dosbox-x.app/Contents/Resources/dosbox-x.reference.full.conf
这不就是配置文件么, 只不过是安装目录中自带的, 先复制一份, 然后就可以进行配置了.
这里我另存了一份此文件在其他目录中, 然后设置了软链接到/Applications/dosbox-x.app/Contents/MacOS/
目录中, 这样做的目的是同步更改配置文件.
因为每次打开dosbox-x, 默认选取的路径是在
/Applications/dosbox-x.app/Contents/MacOS
中, 将配置文件放进去就OK了.
这里设置的软链接命令为:
ln -s ~/code/asm/dosbox-x/dosbox-x.conf /Applications/dosbox-x.app/Contents/MacOS/dosbox-x.conf
最后在打开软件的时候选择/Applications/dosbox-x.app/Contents/MacOS
(默认)即可.
默认的字体真的是一言难尽, 虽然保留了DOS时期的经典字体, 但是现在来看实在是不舒服, 官网给出了配置其他字体的方法2, 就是将配置文件中的output
这一项改为ttf
, 也就是使用TrueType font (TTF)标准字体作为输出.(在配置文件的[sdl]
段中), 官网显示如下:
之后就是环境变量了, 之所以要设置环境变量, 是因为masm
, link
等的汇编工具链在一个文件夹中, 如果不设置环境变量, 那么源代码也必须要在与工具链同级的目录下, 管理起来不太方便.
这里我的工具链目录为~/code/asm/dosbox-x/
, 详细信息:
√ ~/code/asm/dosbox-x
==> tree
.
├── CODE
│ ├── TEST.EXE
│ ├── TEST.OBJ
│ └── test.asm
├── DEBUG.EXE
├── EDIT.COM
├── EDIT.INI
├── EXE2BIN.EXE
├── LIB.EXE
├── LINK.EXE
├── MASM.EXE
├── dosbox-x.conf
├── masm.IMg
└── page1.png
1 directory, 13 files
其中code
目录是我在工具链路径下新建的文件夹, 专门用来存放汇编源代码.
具体配置环境变量的方法很简单, 需要先在[autoexec]
段中写入:
[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
mount c: ~/code/asm/dosbox-x/
c:/
cd code
然后, 在[config]
段的set path
选项后添加;C:\
, 变成
[config]
...
set path = Z:\;Z:\SYSTEM;Z:\BIN;Z:\DOS;Z:\4DOS;Z:\DEBUG;Z:\TEXTUTIL;C:\
最后重启dosbox-x
, 就可以看到:
然后就可以用你喜欢的编辑器写汇编了, 在C:\CODE\
保存源码文件后, 直接在dosbox-x中执行编译(masm
)和链接(link
)即可.