首页 > 系统相关 >Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )

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

时间:2022-12-20 17:07:17浏览次数:57  
标签:汇编 exe MASM32 文件 masm Windows10 dosbox DOSBOX


以下是搭建基于 DOSBOX + MASM32 的汇编语言开发环境记录。

 

汇编 IDE :radasmMasmPlus、Easy Code、Visual Studio、Emu8086、ASM-Tool 等。使用比较多的就是 radasmMasmPlus、Visual Studio。

masmplus 和 Radasm 汇编工具.zip64位系统下,使用 RadASM IDE 写 32 位及 16 位的汇编程序(中文版报有木马,英文版没报,可以使用英文版
汇编语言集成开发环境 RadASM

RadAsm 3.x支持中文注释:https://bbs.pediy.com/thread-210513.htm

在64位系统下,使用 RadASM IDE 写 32 位及 16 位的汇编程序

Win64下RadASM运行16位DOS程序
​​​http://www.hankcs.com/program/asm/win64-running-under-16-bit-dos-program-radasm.html​

 

MasmPlus

详解从零开始配置汇编开发环境(DosBox,MasmPl10下实现MasmPlus 一键执行16位程序:​​http://www.360doc.com/content/16/0519/20/33311358_560523404.shtml​​​ window7下完美运行masmplus+dosbox,解决64位widnows无法运行16位程序问题

 

 

 

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/download.htm​

汇编文件2019年7月 ​​https://pan.baidu.com/s/1w27JQtrklbaM4ZpzGVZr7A​

masm文件夹内至少要包含这4个文件:masm.exe, link.exe, debug.exe, exe2bin.exe。其中:
masm.exe:汇编程序,用于汇编源程序(.asm),得到目标程序(.obj);
link.exe:连接程序,用于连接目标程序,得到可执行程序(.exe);
debug.exe:调试程序,用于调试可执行程序。
还可以下载其他的程序。

注意:masm工具压缩包,里面包含必要的汇编、链接、调试工具

 

 

2. 安装工具

 

1)安装 DOSBOX

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

 

2)配置 DOSBOX  

创建两个目录,

  1. 一个用来保存汇编工具,如:D:\huibian\masm
  2. 一个用来保存汇编源文件( 如:D:\huibian\debug

Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )_文件名

如果双击没反应,直接命令行执行

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

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

MOUNT C D:\huibian               # 将 目录 D:\huibian 挂载为 DOSBOX 下的 C:
set PATH=$PATH$;C:\masm # 将 映射后 C:\masm 写入环境变量 PATH 中
# 环境变量添加 c:\masm,这样就可以调用 d:\huibian\masm\下的编译工具;
# 注意:不能设置成 set path=%path%;d:\masm\,因为此时 d盘 已挂载到 c盘 上
C: # 进入 dosbox 系统 的 C 盘

mount 的作用是将 pc 目录映射到 dos 系统的目录。这里是将我电脑中 D:\huibian 映射到了 dos 系统 c 盘,这样你对 dos 的c盘的操作就相当于是对 D:\huibian 的操作。

其实可以不修改 conf 文件,只要在每次运行时输入这两个命令就行了。

保存文件后关闭。

为什么要修改 dosbox 的 conf 文件 ? dosbox 的 conf 文件的 [autoexec]标签 下面的代码会在 dosbox 启动时运行,这样就不用在 dosbox 中每次输入代码了。

 

  3)安装 MASM32

将压缩包里面的 MASM 文件夹里面的东西放到一个文件夹,路径 尽量为 英文,其他路径也可以,但是路径不要有中文和空格。 
我的电脑中路径:( D:\huibian\masm

Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )_汇编程序_03

现在,打开 dosbox,输入 dir 。看看有没有 DEBUG,MASM 等文件。如果有的话就说明成功了,可以开始写汇编了。

Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )_文件名_04

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

 

 

 

3. 编辑和调试程序

 

3.1. 编辑 源程序。

有 两种方法 编辑 汇编源程序:

  1. 新建 文本文件,修改 文件名 和 文件扩展名 为 test.asm,将 test.asm 放到 D:\huibian\debug
  2. 也可以运行 DOSBOX,在命令符 C:\DEBUG> 下输入命令:edit test.asm,启动 EDIT.EXE 进入代码编辑状态,并输入如下样例程序:

也可以使用 edit 命令直接编辑。使用 edit 命令进去后光标会消失,此时调用任务管理器 alt+ctrl+del 即可释放光标。

如果你觉得窗口太小,字体太小,你可以按 alt+enter 切换到全屏模式
同时在配置文件的第26行有一行字符 “fullresolutinotallow=original”,这是用来调节DOS窗口全屏下的分辨率的,默认original的值是640x480(中间是小写x),我个人的电脑将 original 改为 800x600 就比较舒服

;完整段的 Hello World 程序
DATAS SEGMENT
STRING DB 'Hello World!',13,10,'$'
DATAS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,STRING
MOV AH,9
INT 21H

MOV AH,4CH
INT 21H
CODES ENDS
END START

 

3.2. 汇编。

打开 dosbox,输入命令:masm,然后输入汇编源文件名,其他都默认即可。

Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )_文件名_05

命令执行完后,会生成目标文件文件名 .OBJ(生成过程中可以修改目标文件名,直接回车可保持默认目标文件名)。

Windows10 x64系统只会生成*.obj文件

 

3.3. 连接。

先输入link,再输入文件名,之后一直回车。

LINK 文件名.OBJ,链接生成可执行文件文件名.EXE。

Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )_文件名_06

     注意:由于在上述代码中未定义堆栈段,故在链接时会提示:LINK : warning L4021: no stack segment,因不会影响执行文件的生成,故暂时忽略。

     另外,此时可能生成两个文件:*.exe和*.map文件(Windows10 x64系统可能只会生成*.exe文件)。其中,地址映射文件*.map给出内存地址分配的有关信息。

 

3.4. 运行。

直接运行生成的 exe 程序

Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )_汇编程序_07

 

 

3.5. 调试。

汇编语言之 Debug 教

输入命令:debug 文件名.EXE,在 DEBUG 的命令提示符 '-' 出现后开始调试,

注意:是针对 可执行程序。debug 文件名.exe。进入调试模式,在短横线后输入命令。

网上可查到命令集。以下是部分调试命令及截图:

Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )_汇编程序_08

    R:查看程序运行前的寄存器组初始值;
    U:查看程序反汇编代码。从反汇编代码中可看出,变量会被汇编为直接寻址方式,使用变量在数据段内的有效地址表示。
    T:单步调试;
    D:观察内存变化(D后不带地址或范围,默认显示上一个D命令之后的80字节内容);
    G 地址:程序从当前位置直接运行到指定地址处停下。
    E 地址:修改内存中的内容,如:E DS:0100,输入空格可逐个字节修改,回车停止修改。

例如,g:运行程序。q:退出调试模式。

Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )_文件名_09

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

 

 

4. 其他工具

 

1. emu8086。直接编译、运行、调试,不需要dosbox。

2. masm for windows,友好的文本编辑器,但是运行和调试仍会调出dosbox。

链接:​​https://pan.baidu.com/s/16DxS5Yjizc-mve_5oUShBg​​ 密码:3z3e

Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )_汇编程序_11

 

 

 

标签:汇编,exe,MASM32,文件,masm,Windows10,dosbox,DOSBOX
From: https://blog.51cto.com/csnd/5956107

相关文章

  • windows10 netsh wlan命令连接新wifi
    通过修改已存在的profile的ssid和密码来连接新的wifi。1. 查看当前存在的profile(本机连接过的wifi会生成一个profile)netshwlanshowprofilesUserprofiles------......
  • windows10卸载小娜
    适用于2004版本往后的win+x如图输入如下代码Get-AppxPackage-allusersMicrosoft.549981C3F5F10|Remove-AppxPackage运行结束后小娜就卸载了 windows其他版......
  • windows10的睡眠问题(切回win7时代正常睡眠S3方法)
    最近换了新电脑,也从win7系统换成了win10,随之而来的是睡眠变的极端难用,经过一番搜索,终于搞清了原因:首先上概念:S-State,它是指电脑的系统睡眠状态,共有S0-S5六个等级......
  • 仿真环境设置(一)- windows10, python 3.8
    1安装miniconda参考网上材料,打开Miniconda官网,点击对应系统版本的安装器,然后安装即可。安装过程中推荐:为所有人/只为我:只为我;将conda添加到PATH中,是/否:是。(虽然不......
  • Windows10/11上VirtualBox中安装CentOS Stream8前要做的事情
    Windows10/11中VirtualBox预安装CentOSStream8零.为什么要用虚拟机Windows是如何普及的?为什么这么多人在用Windows系统,个人愚见:Windows的容错比GNU+Linux做的可能好一......
  • 老笔记本电脑安装windows10,蓝屏重启
    1首先,以前装WIN7,不会蓝屏重启2其次,win10安装盘从MSDN下载的,安装的是专业版。按理应该是没有问题的。3没有什么特殊软件,只安装了Itunes和火绒安全软件4命令提示符下......
  • windows10 配置回环网卡loopback网络适配器
    文章转载CSDN,地址:如何在windows电脑端添加本地环回网卡loopback网络适配器_年华学习日记的博客-CSDN博客_添加环回适配器电脑端添加本地环回网卡loopback网络适配器在使......
  • Windows10 gitbook本地搭建(nodejs v10.23.0)
    1.下载Nodejs并安装,默认路径即可。(用最新的版本没成功,按照一篇博客里提示的版本nodejsv10.23.0,成功创建gitbook)https://nodejs.org/download/release/v10.23.0/node-v1......
  • Ubuntu——在Windows10安装ubuntu18.04双系统的方法
    Ubuntu——在Windows10安装ubuntu18.04双系统的方法​​一、方法一​​​​1、参考博客​​​​2、小贴士​​​​二、方法二​​​​1、参考博客​​​​2、小贴士​​​​......
  • 汇编debug工具Dosbox使用
    汇编debug工具DOSBOX使用说明 首先新建文件,更改后缀名为asm,然后写入一段汇编程序 之后打开DosBox  输入masm+文件名(加不加文件名后缀都可以)但如果要加的话,应......