Ubuntu环境下DOSBOX的配置

【步骤一】

先打开命令行,进入root模式,输入如下语句:

cs 复制代码
sudo apt-get install dosbox

该语句的作用主要是安装dosbox

【步骤二】

安装完成之后,命令行输入dosbox

会进入dosbox页面:

【步骤三】

在你的主机中,解压如下文件:

链接:https://pan.baidu.com/s/1nASVgCjNMLwKhgs3YRs3jA

提取码:yhlj

然后将解压之后的文件,放到你的Ubuntu系统中,并在你的/home/user目录下,创建一个文件夹,名为masm,将解压之后的文件,全部放入其中:

【步骤四】

再次进入dosbox,输入如下命令:

cs 复制代码
c:

在输入c:之后,发现并未建立连接,这里需要我们修改dosbox的.conf配置文件:

文件目录在:

【步骤五】

修改配置文件:

这里以我上面的路径为例,每个人的路径不同,只需要替换路径即可:(这里需要vim编辑器)

cs 复制代码
vim /home/yang/.dosbox/dosbox-0.74-3.conf

【步骤六】

在进入文件之后,在文件末尾添加如下语句:

cs 复制代码
mount c /home/respecting-god/DOSBox

添加完成之后,保存退出即可。

补充,如果觉得dosbox窗口不够美观,可以调整该配置文件中的如下参数:

cs 复制代码
#fullresolution=original
fullresolution=1024x768
#windowresolution=original
windowresolution=1024x768
output=opengl
hwscale=2.00

【步骤七】

再次进入dosbox,发现会自动连接到C盘:

【步骤八】

创建一个hello.asm的asm文件

cs 复制代码
touch hello.asm

将如下语句写入该asm文件:

cs 复制代码
DATA   SEGMENT                               ;定义数据段
PRINT  DB "Hello World!", 0AH, 0DH, '$'      ;定义一个字符串,以'$'结束
DATA   ENDS                                  ;定义数据段结束
 
STACK  SEGMENT   STACK                       ;定义堆栈段 
       DW  20  DUP(0)                        ;为堆栈段分配空间
STACK  ENDS                                  ;定义堆栈段结束
 
ASSUME CS:CODE, DS:DATA, SS:STACK            ;告诉编译器将段寄存器与符号对应起来
 
CODE   SEGMENT                               ;定义代码段
START:                                       ;程序入口
        MOV AX, DATA                         
        MOV DS, AX                           ;将段地址DATA送入DS中
        MOV DX, OFFSET  PRINT                ;将字符串地址送人DX中
        MOV AH, 09H
        INT 21H                              ;调用INT 21H的9号中断
        MOV AH, 4CH                          ;返回DOS系统
        INT 21H
CODE   ENDS                                  ;定义代码段结束
END    START                                 ;程序结束

保存,退出。

【步骤九】

输入如下语句,将.asm文件转换为.obj文件:

cs 复制代码
masm 文件名.asm
cs 复制代码
masm hello.asm

此处需要输入三个回车键

【步骤十】

输入如下语句,将.obj文件转换为.exe文件

cs 复制代码
link hello.obj
cs 复制代码
link hello.obj

【步骤十一】

运行:

cs 复制代码
hello.exe
相关推荐
吳所畏惧7 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈7 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HiDev_7 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling8 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind8 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森8 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客9 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
久曲健的测试窝9 小时前
智能座舱自动化测试落地方案:数字仿真搭配实车实测,解决用例运维与场景失真难题
运维
XMAIPC_Robot9 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
AOwhisky10 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发