zoukankan      html  css  js  c++  java
  • Ubuntu18.04/Linux下安装DosBox进行8086汇编

    在windowsXP等32位系统会自带有debug等汇编调试工具,但是到之后的win7等64位系统之后移除了这个功能,其他系统诸如linux,Mac OS等等则没有,学习汇编,需要用到一些工具及软件,其中dosbox则是一个很好的选择,这里只介绍在汇编中如何使用dosbox。1、系统:ubuntu18.04

     

    一、DOSBox简介

    1、DOSBox 是一款模拟的 X86 机器,集成了 DOS 系统,可以运行旧的 DOS 游戏。这个模拟机允许你控制老游戏的速度,以及模拟旧的硬件,比如声卡和显卡,不管操作系统。这个集成的DOS系统还可以使你直接的启动游戏而无须安装DOS在虚拟机上。

    2、DOSBox 开始在2002年,也就是window2000发布时间左右。win2000这个版本与微软过去的版本断绝了关系,并且导致大量的DOS游戏变得不能使用。有一些其他的办法在windows2000下面运行DOS游戏,但是他们并不提供Windows下运行这些游戏的能力。这样DOSBox诞生了。

     3、现在的版本是DOSBox 0.74 ,很难得的更新维护版本,它支持 Linux、Windows(7、8、10)、Mac OS、FreeBSD 平台,可以在这些平台中运行旧的 DOS 游戏。

    DOSBox 0.74主要更新:

    Windows:修复 Windows 7 上的 auto/max 循环算法。Mac OS X:带来 64 位版本并提高性能。Linux:修复 64 位 dynrec cpu 核心和很多编译问题。为 WINE 团队添加补丁。

    官方网站:https://www.dosbox.com/

     

    二、软件安装:

    ------------------------------------------------------

    root@HP:~# apt install dosbox 

    ------------------------------------------------------

    三、编译环境准备

    MASM、Debug.exe、Link.exe,这是进行汇编的三个基本软件,其中MASM的部分高版本是不支持8086汇编的,这也是为什么VS2017下的8086汇编失败的原因(笔者个人观点)

    Vim:文本编辑软件不再多做说明

    上述软件均打包在:

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

    四、编译环境配置

    1、创建目录

    ~$ mkdir DOSBox           #在用户主目录创建DOSBox目录(这个目录的名字和位置可以自由指定)作为C盘的映射地址,在DOSBox里通过挂载后C盘的目录其实就是DOSBox目录了,DOSBox的盘符为c:> 其实是个虚拟C盘,

     在DOSBox里你可以在该文件夹下运行任何的DOS程序. 如果这些DOS程序是独立的可执行文件,仅仅需要把它们复制到~/DOSBox目录下并在DOSBox内运行它们.对于另外的程序,你可能需要它们的安装程序,进行安装。


    ~$ cd DOSBox            #进入DOSBox 目录创建下面的目录
    ~$ mkdir MASM             #MASM编译程序存放目录
    ~$ mkdir -p VIM/VIM71         #VIM安装的路径
    ~$ mkdir ASM                                          #汇编程序存放的目录
    ~$ mkdir FILE             #备用

    2、放置软件

    将链接下载的软件解压,并将:

    MASM.EXE、debug.exe、LINK.EXE移动到:文件夹~/MASM,构建编译环境

     

     

    vim-install.zip解压后,将里面的所以文件移动到文件夹 ~/VIM/VIM71

     

     

    3、配置DOSbox环境文件

    ------------------------------------------------
    ~$ vim .dosbox/dosbox-0.74.conf          #dosbox程序运行后才会生产这个文件
    -----------------------------------------------

    末尾添加:
    -----------------------------------------------
    mount c ~/DOSDox
    path=%path%;MASM
    path=%path%;VIMVIM71
    c:
    -----------------------------------------------
    mount c ~/DOSBox : 这行是挂载驱动器c盘到目录~/DOSbox(这里我们也可以用绝对路径),从而使C盘映射到~/DOSBox目录
    默认情况下DOSBox并没有开启C:.如果要给一个,我们必须在虚拟机挂载一个. 实际上, 这意味着我们必须为DOSBox创建一个可以做为C:的目录.

    path=%path%;MASM : 相当于将目录MASM路径加入了path中,当执行masm,link,debug命令时不用进入目录MASM。不添加该路径必须进入MASM目录才能够进行masm,link,debug操作。

    path=%path%;VIMVIM71 : 相当于将目录VIMVIM71路径加入了path中,当执行vim命令时不用进入目录VIMVIM71。不添加该路径必须进入VIMVIM71目录才能够进行vim操作。

    五、在上面的配置完成后在打开DOSBox进行VIM的安装,实际上现在是可以使用的,只是没有高亮等配置,完整安装:

    -----------------------------------------------

    c:>cd VIMVIM71
    c:VIMVIM71>install

    -----------------------------------------------

     

    打开vim

    c:>vim

     

     

    六、Ubuntu下安装DOSbox,及窗口缩放配置(解决字太小问题)
    这里主要讲一下DOSbox的缩放。
    装完DOSbox之后发现字真的非常小,快瞎了,找到了一个解决方法。
    使用vim(或者其他软件)修改配置文件:

    -----------------------------------------------
    ~$ vim .dosbox/dosbox-0.74.conf
    -----------------------------------------------

    修改配置文件中的
    -----------------------------------------------
    #fullresolution=original
    fullresolution=1024x768
    #windowresolution=original
    windowresolution=1024x768
    output=opengl
    hwscale=2.00
    -----------------------------------------------
    注意事项:
    1.其中1024x768的x是字母不能用星号(×)
    2.需要添加一句hwscale=2.00,原本是不存在的。

    七、DOSBOX 快捷键及 MS-DOS 命令

    1、全屏/退出全屏:alt+enter
    2、释放鼠标:ctrl+F10
    3、exit:退出DOSBOX
    4、dir 显示目录内容,可选参数:/w 只显示文件名,/P 显示部分内容,*.exe 筛选出可执行文件
    5、cd 进入目录,cd .. 退回上一级目录
    6、md 新建目录
    7、rd 删除目录
    8、cls 清空屏幕
    9、copy 复制文件
    10、del 删除文件
    11、deltree 删除整个文件夹
    12、ren 重命名
    13、ver显示当前版本号
    14、type 输出文本文件内容
    15、echo 显示消息

    参考:

    https://wiki.ubuntu.org.cn/DOSBox

    https://www.jianshu.com/p/b0ff4da31480

    https://www.bbsmax.com/A/VGzlBQEw5b/

    http://blog.sina.com.cn/s/blog_14f9d2b790102x3at.html

    https://blog.csdn.net/weixin_38709708/article/details/83057207

    https://blog.csdn.net/qq_41584385/article/details/101855795

     
  • 相关阅读:
    javascript中的继承实现
    【414】Code::Blocks增加主题
    【413】C 语言 Command line
    【412】Linux 系统编译 C 程序
    【411】COMP9024 Assignment1 问题汇总
    【410】Linux 系统 makefile 文件
    Solr的入门知识
    Java8新特性
    Linux命令大全
    为博客园博文添加目录的两种方法
  • 原文地址:https://www.cnblogs.com/pipci/p/12382824.html
Copyright © 2011-2022 走看看