Windows10下利用DOSBOX和MASM32搭建汇编语言开发环境

 更新时间:2020年01月14日 13:29:15   转载 作者:Roy_Zhang  
这篇文章主要介绍了Windows10下利用DOSBOX和MASM32搭建汇编语言开发环境,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

1 工具准备

1)下载DOSBOX

工具介绍:DOSBox 是一个 DOS 模拟程序,由于它采用的是 SDL 库,所以可以很方便的移植到其他的平台。目前,DOSBox 已经支持在 Windows、Linux、Mac OS X、BeOS 、palmOS、Android 、webOS、os/2等系统中运行。不少DOS下的游戏都可以直接在该平台上运行。

工具官网:http://www.dosbox.com/

项目主页:http://sourceforge.net/projects/dosbox/

下载链接:http://sourceforge.net/projects/dosbox/files/dosbox/0.74/DOSBox0.74-win32-installer.exe/download (32位)

说明:由于项目已经停更,目前官网上指出,DOSBOX可以运行于32位和64位的Windows Vista和Windows 7之上,根据本人亲测,亦可在32位和64位的Windows 10上运行DOSBOX,因此有需要的可以试试。

2)下载MASM32

工具介绍:MASM32是国外的MASM爱好者Steve Hutchesson自行整理和编写的一个软件包,目前最高版本为11r版。MASM32并非指Microsoft的MASM宏汇编器,而是包含了不同版本工具组建的汇编开发工具包。它的汇编编译器是MASM6.0以上版本中的Ml.exe,资源编译器是Microsoft Visual Studio中的Rc.exe,32位链接器是Microsoft Visual Studio中的Link.exe,同时包含有其他的一些如Lib.exe和DumpPe.exe等工具。

工具官网:http://www.masm32.com/

下载链接:http://www.masm32.com/downloads

 3)汇编工具下载:https://www.jb51.net/softs/608800.html

2 安装工具

1)安装DOSBOX

安装下载到的DOSBox0.74-win32-installer.exe,直接一路Next完成安装。

 2)DOSBox使用指南:

  1、创建一个用于保存汇编工具(如MASM、Link、DEBUG等工具)和汇编文件(*.asm)的目录,如:D:\DEBUG。

  2、选中上面汇编工具的链接,下载汇编工具。将下载后的压缩包文件解压到刚才你自己刚才新建的工作目录下。

我们实际会用到的有以下程序:debug.exe edit.com link.exe masm.exe 。

  3、下载并安装DOSBox后打开程序,会出现如图所示的两个界面,

    

    我们只需关心下图所示界面即可,

    

    另外一个界面无需关注,可以最小化但是不能关闭它。

  4、在上面选中界面依次输入以下命令(命令行不区分大小写):

    第一步:MOUNT C D:\DEBUG(回车)(将目录D:\DEBUG挂载为DOSBOX下的C:);注意这里E:\DOS是你之前创建的工作目录,根据自己的目录输入

    第二步:C:(回车)(将D:\DEBUG写入环境变量PATH中)

    前两步执行结果如下图

    

    这样我们就进入了DOS的环境,在这里就可以编写汇编程序了。

    为了避免每一次进入界面都要输入上面的命令,我们可以进行下面的简单配置,使得以后使用时可以直接进入我们想要的目录:

     打开DOSBOX的安装根目录(默认安装路径:C:\Program Files\DOSBox-0.74;若是64位的系统,则默认安装路径:C:\Program Files (x86)\DOSBox-0.74),

    双击文件DOSBox 0.74 Options.bat,运行该批处理文件后系统会用文本文档Notepad打开配置文件dosbox-0.74.conf。

    将光标定位到dosbox-0.74.conf文件的[autoexec]节点(一般在该文件末尾),在文件中添加以下内容:      

MOUNT C D:\DEBUG # 将目录D:\DEBUG挂载为DOSBOX下的C: C:

    最后再次运行DOSBox之时就可以看到直接进入了下图所示界面

    

3)安装MASM32

可解压安装下载到的masm32v11r.zip,按默认配置安装即可。

安装结束后,可直接利用masm32v11r中的gedit.exe程序编写、编译和链接asm汇编程序。

注意:MASM32的替代方案:

可直接从其他电脑或从上述网盘地址提供的压缩包将汇编工具DEBUG.EXE、EDIT.EXE、LINK.EXE、MASM.EXE等工具复制到D:\DEBUG文件夹下(复制时注意不能将32位系统中找到的上述工具复制到64位系统中使用)。

3 程序调试过程

注意:当进入DOSBOX编辑界面,随意可以按Windows键退出DOSBOX编辑界面;以下命令的拼写忽略大小写。

1)运行DOSBOX,在命令符C:\>下输入命令:EDIT文件名.asm,启动EDIT.EXE进入代码编辑状态,输入程序代码:

2)保存文件后返回DOSBOX的命令行,输入命令:MASM文件名.asm,生成目标文件文件名.OBJ(生成过程中可以修改目标文件名,直接回车可保持默认目标文件名)。

3)输入命令:LINK文件名.OBJ,链接生成可执行文件文件名.EXE。

4)输入命令:DEBUG文件名.EXE,在DEBUG的命令提示符“-”出现后开始调试。

4 参考资料

1)DOSBOX百度百科:http://baike.baidu.com/view/716885.htm

总结

以上所述是小编给大家介绍的Windows10下利用DOSBOX和MASM32搭建汇编语言开发环境,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • 浅析shellcode 反汇编模拟运行及调试方法

    浅析shellcode 反汇编模拟运行及调试方法

    这篇文章主要介绍了shellcode 反汇编,模拟运行以及调试方法,本文给大介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 汇编实现冒泡排序的方法示例

    汇编实现冒泡排序的方法示例

    这篇文章主要介绍了汇编实现冒泡排序的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 什么是汇编语言

    什么是汇编语言

    汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言
    2020-01-01
  • 汇编语言伪指令和汇编指令的区别

    汇编语言伪指令和汇编指令的区别

    指令是控制程序运行时的机器代码运作的,是CPU执行的依据,编程、编译、执行都是有效的。伪指令不直接控制运行时刻的机器,但是控制翻译程序如何生成机器指令代码,感兴趣的朋友跟随小编一起看看吧
    2020-01-01
  • 汇编实现的memcpy和memset的方法

    汇编实现的memcpy和memset的方法

    这篇文章主要介绍了汇编实现的memcpy和memset的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 汇编语言:比较指令、跳转指令、JCC的使用

    汇编语言:比较指令、跳转指令、JCC的使用

    这篇文章主要介绍了汇编语言:比较指令、跳转指令、JCC的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 汇编语言之寄存器(详细介绍)

    汇编语言之寄存器(详细介绍)

    这篇文章主要介绍了汇编语言之寄存器(详细介绍),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-01-01
  • 汇编语言软件延时1s的实现方法

    汇编语言软件延时1s的实现方法

    这篇文章主要介绍了汇编语言软件延时1s的实现方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 汇编语言实现电子闹钟思路详解

    汇编语言实现电子闹钟思路详解

    这篇文章主要介绍了汇编语言实现电子闹钟思路详解,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 汇编语言中的各种寄存器介绍

    汇编语言中的各种寄存器介绍

    汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言.这篇文章主要介绍了汇编语言中的各种寄存器介绍,需要的朋友可以参考下
    2020-01-01

最新评论