• 在macOS上使用dosbox-x配置masm汇编环境



    tags: ASM Tips MacOS

    写在前面

    学习OS, 不得不学的一门语言就是汇编了, 说起来这种语言应该是除机器语言外最接近计算机底层的语言了, 但是又不失可读性. 下面我在自己的电脑上配置了masm汇编环境, 并且给出了配置文件的使用方法(dosbox-x默认配置文件并不在其官网所述的目录中!) 包括字体的修改, 环境变量的配置等等.

    下载安装

    brew:

    brew install dosbox-x --cask
    
    • 1

    至于为什么没有使用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
    
    • 1
    • 2

    这不就是配置文件么, 只不过是安装目录中自带的, 先复制一份, 然后就可以进行配置了.

    这里我另存了一份此文件在其他目录中, 然后设置了软链接到/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
    
    • 1

    最后在打开软件的时候选择/Applications/dosbox-x.app/Contents/MacOS(默认)即可.

    修改字体和环境变量

    字体

    默认的字体真的是一言难尽, 虽然保留了DOS时期的经典字体, 但是现在来看实在是不舒服, 官网给出了配置其他字体的方法2, 就是将配置文件中的output这一项改为ttf, 也就是使用TrueType font (TTF)标准字体作为输出.(在配置文件的[sdl]段中), 官网显示如下:

    DOSBox-X:TrueType_Font_Default.png (1924×1304)

    环境变量

    之后就是环境变量了, 之所以要设置环境变量, 是因为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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    其中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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    然后, 在[config]段的set path选项后添加;C:\, 变成

    [config]
    ...
    set path    = Z:\;Z:\SYSTEM;Z:\BIN;Z:\DOS;Z:\4DOS;Z:\DEBUG;Z:\TEXTUTIL;C:\
    
    • 1
    • 2
    • 3

    最后重启dosbox-x, 就可以看到:

    截屏2022-10-31 17.46.16

    然后就可以用你喜欢的编辑器写汇编了, 在C:\CODE\保存源码文件后, 直接在dosbox-x中执行编译(masm)和链接(link)即可.

    ref


    1. Can’t generate dosbox.conf file [on Mac OS X] · Issue #573 · joncampbell123/dosbox-x (github.com); ↩︎

    2. TrueType font output in DOSBox-X; ↩︎

  • 相关阅读:
    【数值分析】1 - 误差及有关概念
    智工教育:公务员网上报名确认事项与流程的状态标识
    Vue3 使用 Event Bus
    员工上网行为监控能监控到哪些内容?员工上网行为监控有哪些?
    【异常的打卡记录】python实现-附ChatGPT解析
    论文速览 | TRS 2023: 使用合成微多普勒频谱进行城市鸟类和无人机分类
    spring的bean创建流程源码解析
    [附源码]计算机毕业设计JAVA鞋店销售管理
    论文解读(LG2AR)《Learning Graph Augmentations to Learn Graph Representations》
    zip()并行迭代多个序列
  • 原文地址:https://blog.csdn.net/qq_41437512/article/details/127620587