-
2015-05-02 11:08:42
------------------------------------ 版权信息 ------------------------------------
此文链接: http://blog.csdn.net/doniexun/article/details/45438457
此文作者: Windness
版权说明: 此文为作者经过检索网上资源及根据个人开发经验整理所得,所有参考文献均已在文末标注,转载请务必保留本文链接及作者信息!
------------------------------------ 版权信息 ------------------------------------
学一门语言,最好的方法便是在实践中学习。对于不少初学者来说,首先要面临的是如何搭建开发平台/环境的问题。由于汇编语言的特殊性,不少初学者会担心自己直接对寄存器进行操作会不会导致系统崩溃或者系统硬件损坏,再加上现如今高级程序设计语言大行其道,真正需要写汇编语言的情境已经不那么多了,所以不少初学汇编语言的同学都还停留在纸上谈兵的状态。
本人初次学习汇编语言已经是五年前,但一直都未亲自实践过,最近工作上需要用到反汇编二进制可执行文件,因此计划重新拾起曾经学过的汇编语言,以便能够顺利完成手头上的项目。以下是搭建基于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作者提供的masm工具压缩包,里面包含必要的汇编、链接、调试工具,百度网盘下载链接:https://pan.baidu.com/s/1skL2bVJ,密码:7uv1。
2 安装工具
1)安装DOSBOX
安装下载到的DOSBox0.74-win32-installer.exe,直接一路Next完成安装。
2)配置DOSBOX
创建一个用于保存汇编工具(如MASM、Link、DEBUG等工具)和汇编文件(*.asm)的目录,如:D:\DEBUG。
打开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: set PATH=$PATH$;D:\DEBUG # 将D:\DEBUG写入环境变量PATH中
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进入代码编辑状态,并输入如下样例程序:
code segment assume cs:code start: mov ax,5h mov bx,6h add ax,bx mov ah,4ch ; 调用DOS的4C号功能 int 21h ; 退出DEBUG状态,返回DOS code ends end start
2)保存文件后返回DOSBOX的命令行,输入命令:MASM 文件名.asm,生成目标文件文件名.OBJ(生成过程中可以修改目标文件名,直接回车可保持默认目标文件名)。
注意:此时可能生成三个文件:*.obj、*.lst和*.crf文件(Windows10 x64系统可能只会生成*.obj文件)。其中,列表文件*.lst和交叉引用文件非必选,前者是汇编语言汇编的机器语言与汇编语言对照表,可用于调试;后者给出了用户定义的所有符号和对每个符号定义、引用的行号。
3)输入命令:LINK 文件名.OBJ,链接生成可执行文件文件名.EXE。
注意:由于在上述代码中未定义堆栈段,故在链接时会提示:LINK : warning L4021: no stack segment,因不会影响执行文件的生成,故暂时忽略。
另外,此时可能生成两个文件:*.exe和*.map文件(Windows10 x64系统可能只会生成*.exe文件)。其中,地址映射文件*.map给出内存地址分配的有关信息。
4)输入命令:DEBUG 文件名.EXE,在DEBUG的命令提示符“-”出现后开始调试,以下是部分调试命令及截图:
输入命令:R,查看程序运行前的寄存器组初始值;
输入命令:U,查看程序反汇编代码。从反汇编代码中可看出,变量会被汇编为直接寻址方式,使用变量在数据段内的有效地址表示。
输入命令:T,单步调试;
输入命令:D,观察内存变化(D后不带地址或范围,默认显示上一个D命令之后的80字节内容);
输入命令:G 地址,程序从当前位置直接运行到指定地址处停下。
输入命令:E 地址修改内存中的内容,如:E DS:0100,输入空格可逐个字节修改,回车停止修改。
4 参考资料
1)MASM百度百科:http://baike.baidu.com/view/1754206.htm
2)DOSBOX百度百科:http://baike.baidu.com/view/716885.htm
3)Win8下用DOSBox编写汇编语言:http://www.tuicool.com/articles/v2A3mm
更多相关内容 -
Win10 MASM(16位+32位)汇编开发工具包
2019-04-22 04:08:11包内含有Notepad,link,ml,lib,windbg等进行MASM汇编开发所需的所有工具,且附带大量开发示例,IO库以及一键编译脚本,无需任何配置,解压即用。 -
tasm32 Win32汇编 编译器下载
2020-02-07 19:56:46tasm32是Borland公司开发的Win32汇编编译器,被广泛用于各种等编译器,用作中间过渡编译。它也能独立的编译纯汇编或是Win32Asm的代码。具有编译快速,高效的特点,至今依然是汇编开发的首选利器。 /* fp8文件是应用... -
masm32v8 Win32汇编编译器下载
2020-02-07 20:04:44masm32v8 Win32汇编编译器下载 /* fp8文件是应用世界上压缩率最高的paq压缩算法的FastPAQ压缩软件的专有格式,你可在CSDN上下载【FastPAQ--世界最强压缩软件下载】以解压fp8文件*/ -
Win10运行汇编所需的编译程序MASM.exe和连接程序Link.exe
2018-10-13 11:23:11Win10运行汇编所需的编译程序MASM.EXE文件和连接文件Link.exe文件,请需要的自取 -
win32汇编编译器
2010-09-24 20:05:41win32汇编编译器 可用于汇编语言的编译 集合较全的头文件和库文件 -
win64汇编-UASM64(win10可用)
2019-07-01 08:34:53UASM64自己打包:包含vs21017的ml64,link;jwasm,jwlink;uasm;环境设置脚本;例子程序等 配置方法见:https://my.oschina.net/u/2245781/blog/3062540 -
Win10下搭建汇编语言开发环境(利用DOSBOX和MASM32)
2017-12-04 10:21:44它的汇编编译器是MASM6.0以上版本中的Ml.exe,资源编译器是Microsoft Visual Studio中的Rc.exe,32位链接器是Microsoft Visual Studio中的Link.exe,同时包含有其他的一些如Lib.exe和DumpPe.exe等工具。 工具...------------------------------------ 版权信息 ------------------------------------
此文链接: http://blog.csdn.net/doniexun/article/details/45438457
此文作者: Windness
版权说明: 此文为作者经过检索网上资源及根据个人开发经验整理所得,所有参考文献均已在文末标注,转载请务必保留本文链接及作者信息!
------------------------------------ 版权信息 ------------------------------------
学一门语言,最好的方法便是在实践中学习。对于不少初学者来说,首先要面临的是如何搭建开发平台/环境的问题。由于汇编语言的特殊性,不少初学者会担心自己直接对寄存器进行操作会不会导致系统崩溃或者系统硬件损坏,再加上现如今高级程序设计语言大行其道,真正需要写汇编语言的情境已经不那么多了,所以不少初学汇编语言的同学都还停留在纸上谈兵的状态。
本人初次学习汇编语言已经是五年前,但一直都未亲自实践过,最近工作上需要用到反汇编二进制可执行文件,因此计划重新拾起曾经学过的汇编语言,以便能够顺利完成手头上的项目。以下是搭建基于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作者提供的masm工具压缩包,里面包含必要的汇编、链接、调试工具,百度网盘下载链接:https://pan.baidu.com/s/1skL2bVJ,密码:7uv1。
2 安装工具
1)安装DOSBOX
安装下载到的DOSBox0.74-win32-installer.exe,直接一路Next完成安装。
2)配置DOSBOX
创建一个用于保存汇编工具(如MASM、Link、DEBUG等工具)和汇编文件(*.asm)的目录,如:D:\DEBUG。
打开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:
- set PATH=$PATH$;D:\DEBUG # 将D:\DEBUG写入环境变量PATH中
通过模拟器直接进入到本地磁盘,必须要使用mount命令将指定磁盘上的文件夹挂载.挂载命令就是mount, dosbox有一个配置文件,在dosbox每一次运行之前都会读取这个配置文件去初始化dosbox这个软件 , 然后我们可以吧mount命令写入到这个文件中,这样,程序在打开后,我们本地的磁盘的指定文件夹就直接被挂载了 . 而在个配置文件(win7 64位)一般是在C:\Users\Administrator\AppData\Local\DOSBox. 文件名一般是这个:dosbox-0.74.conf
用记事本打开它, 拉到末尾会看到一句:# You can put your MOUNT lines here.
然后你就可以把mount命令写到它下面了
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进入代码编辑状态,并输入如下样例程序:
- code segment
- assume cs:code
- start:
- mov ax,5h
- mov bx,6h
- add ax,bx
- mov ah,4ch ; 调用DOS的4C号功能
- int 21h ; 退出DEBUG状态,返回DOS
- code ends
- end start
2)保存文件后返回DOSBOX的命令行,输入命令:MASM 文件名.asm,生成目标文件文件名.OBJ(生成过程中可以修改目标文件名,直接回车可保持默认目标文件名)。
注意:此时可能生成三个文件:*.obj、*.lst和*.crf文件(Windows10 x64系统可能只会生成*.obj文件)。其中,列表文件*.lst和交叉引用文件非必选,前者是汇编语言汇编的机器语言与汇编语言对照表,可用于调试;后者给出了用户定义的所有符号和对每个符号定义、引用的行号。
3)输入命令:LINK 文件名.OBJ,链接生成可执行文件文件名.EXE。
注意:由于在上述代码中未定义堆栈段,故在链接时会提示:LINK : warning L4021: no stack segment,因不会影响执行文件的生成,故暂时忽略。
另外,此时可能生成两个文件:*.exe和*.map文件(Windows10 x64系统可能只会生成*.exe文件)。其中,地址映射文件*.map给出内存地址分配的有关信息。
4)输入命令:DEBUG 文件名.EXE,在DEBUG的命令提示符“-”出现后开始调试,以下是部分调试命令及截图:
输入命令:R,查看程序运行前的寄存器组初始值;
输入命令:U,查看程序反汇编代码。从反汇编代码中可看出,变量会被汇编为直接寻址方式,使用变量在数据段内的有效地址表示。
输入命令:T,单步调试;
输入命令:D,观察内存变化(D后不带地址或范围,默认显示上一个D命令之后的80字节内容);
输入命令:G 地址,程序从当前位置直接运行到指定地址处停下。
输入命令:E 地址修改内存中的内容,如:E DS:0100,输入空格可逐个字节修改,回车停止修改。
4 参考资料
1)MASM百度百科:http://baike.baidu.com/view/1754206.htm
2)DOSBOX百度百科:http://baike.baidu.com/view/716885.htm
3)Win8下用DOSBox编写汇编语言:http://www.tuicool.com/articles/v2A3mm
-
nasm-2.09.06-win32汇编编译器
2011-03-12 18:44:39nasm-2.09.06-win32汇编编译器,支持64位指令,把源代码打包在一起了 -
win32汇编语言编译器(支持win7)
2013-04-21 12:02:38这个工具在网上找了好长时间,普遍的版本是9,在部分系统中安装,容易出现问题,这个是10,在win7版本上测试通过,win8没有环境测试,其他win的版本均可以使用。 安装后里面有许多代码可以参考和学习。 优点:不... -
汇编编译器
2018-02-27 22:08:49RadASM是一款著名的WIN32汇编编辑器,支持MASM、TASM等多种汇编编译器,Windows界面,支持语法高亮,自带一个资源编辑器和一个调试器。拥有较强的工程管理功能,加之众多插件的支持,使得它用汇编语言编写Windows... -
winmasm汇编编译器(win-masm)v2.2免费安装版
2019-07-27 10:45:11WinMasm汇编编译器是一个界面友好、操作简单,并且非常实用的8086汇编IDE开发环境。 inMasm是一个界面友好、操作简单,并且非常实用的8086汇编IDE开发环境。它基于masm6.15编译核心(同时兼容masm5.1)。支持语法... -
win32汇编语言编译器
2008-10-21 12:04:36基于windows32的x86汇编语言编译器 -
RadASM_ha_jb51汇编编译器
2018-10-08 17:19:23RadASM_ha_jb51 汇编编译器. RadASM是一款著名的WIN32汇编编辑器,支持MASM、TASM等多种汇编编译器,Windows界面,支持语法高亮,自带一个资源编辑器和一个调试器. -
汇编编译器fasmw17116
2014-01-05 18:19:41汇编编译器,开源免费的,含源码。支持64位指令。win版的,其它版本可以自己编译,也可以作者的网站下载。 -
ASM汇编软件RadASM(汇编编译器) 2.2.1.9 汉化版_20161223.zip
2019-05-09 21:05:093、添加了由怜香整理的8086汇编教程、Venjiang整理的 Win32 汇编教程、陈国强整理的Win32 API参考(VB描述)、www.vcok.com整理的C语言教程及经典的 Windows 程序设计电子书。 4、添加了一个Cpp的对话框程序模板... -
Asm汇编编译器(VC++6.0源代码)
2011-08-16 17:04:01Asm汇编编译器(VC++6.0源代码).用于编译Windows下的汇编文件 -
Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )
2019-08-08 20:47:28Windows10下搭建汇编语言开发环境(利用DOSBOX和MASM32):https://www.cnblogs.com/zyever/p/7919007.html 如何在win10 64位下搭载汇编环境(包含汇编dosbox和masm文件):...win10等环境下配置汇编程序的运行环...Windows10下搭建汇编语言开发环境(利用DOSBOX和MASM32):https://www.cnblogs.com/zyever/p/7919007.html
如何在win10 64位下搭载汇编环境(包含汇编dosbox和masm文件):https://blog.csdn.net/xyisv/article/details/69062382
win10等环境下配置汇编程序的运行环境:https://www.jianshu.com/p/0c42f6b4b11f
win10 64 使用 visual studio 2017 搭建汇编开发环境:https://www.e-learn.cn/content/qita/2227999
以下是搭建基于 DOSBOX + MASM32 的汇编语言开发环境记录。
汇编 IDE :radasm、MasmPlus、Easy Code、Visual Studio、Emu8086、ASM-Tool 等。使用比较多的就是 radasm、MasmPlus、Visual Studio。
masmplus 和 Radasm 汇编工具.zip:https://download.csdn.net/download/freeking101/11665308
在 64位系统下,使用 RadASM IDE 写 32 位及 16 位的汇编程序(中文版报有木马,英文版没报,可以使用英文版的):https://blog.csdn.net/Alisebeast/article/details/79868992
汇编语言集成开发环境 RadASM 中文版:https://blog.csdn.net/qq_35699073/article/details/86362558RadAsm 3.x支持中文注释:https://bbs.pediy.com/thread-210513.htm
在64位系统下,使用 RadASM IDE 写 32 位及 16 位的汇编程序
https://blog.csdn.net/Alisebeast/article/details/79868992Win64下RadASM运行16位DOS程序
http://www.hankcs.com/program/asm/win64-running-under-16-bit-dos-program-radasm.htmlMasmPlus
详解从零开始配置汇编开发环境(DosBox,MasmPlus):https://blog.csdn.net/yongf2014/article/details/46273949
64位Windows10下实现MasmPlus 一键执行16位程序:http://www.360doc.com/content/16/0519/20/33311358_560523404.shtml
window7下完美运行masmplus+dosbox,解决64位widnows无法运行16位程序问题
https://blog.csdn.net/xxt9388/article/details/799878651. 工具准备
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
创建两个目录,
- 一个用来保存汇编工具,如:D:\huibian\masm 。将汇编工具 放到新建的工作目录下。( 实际会用到的有以下程序:debug.exe edit.com link.exe masm.exe )
- 一个用来保存汇编源文件( 如:D:\huibian\debug )。
打开 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:\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 )现在,打开 dosbox,输入 dir 。看看有没有 DEBUG,MASM 等文件。如果有的话就说明成功了,可以开始写汇编了。
安装结束后,可直接利用 masm32v11r 中的 gedit.exe 程序编写、编译 和 链接 asm 汇编程序。
3. 编辑和调试程序
3.1. 编辑 源程序。
有 两种方法 编辑 汇编源程序:
- 新建 文本文件,修改 文件名 和 文件扩展名 为 test.asm,将 test.asm 放到 D:\huibian\debug 文件夹。
- 也可以运行 DOSBOX,在命令符 C:\DEBUG> 下输入命令:edit test.asm,启动 EDIT.EXE 进入代码编辑状态,并输入如下样例程序:
也可以使用 edit 命令直接编辑。使用 edit 命令进去后光标会消失,此时调用任务管理器 alt+ctrl+del 即可释放光标。
如果你觉得窗口太小,字体太小,你可以按 alt+enter 切换到全屏模式
同时在配置文件的第26行有一行字符 “fullresolution=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,然后输入汇编源文件名,其他都默认即可。
命令执行完后,会生成目标文件文件名 .OBJ(生成过程中可以修改目标文件名,直接回车可保持默认目标文件名)。
注意:此时可能生成三个文件:*.obj、*.lst和*.crf文件( Windows10 x64系统只会生成*.obj文件 )。其中,列表文件*.lst和交叉引用文件非必选,前者是汇编语言汇编的机器语言与汇编语言对照表,可用于调试;后者给出了用户定义的所有符号和对每个符号定义、引用的行号。
3.3. 连接。
先输入link,再输入文件名,之后一直回车。
LINK 文件名.OBJ,链接生成可执行文件文件名.EXE。
注意:由于在上述代码中未定义堆栈段,故在链接时会提示:LINK : warning L4021: no stack segment,因不会影响执行文件的生成,故暂时忽略。
另外,此时可能生成两个文件:*.exe和*.map文件(Windows10 x64系统可能只会生成*.exe文件)。其中,地址映射文件*.map给出内存地址分配的有关信息。
3.4. 运行。
直接运行生成的 exe 程序
3.5. 调试。
汇编语言之 Debug 教程篇:https://blog.csdn.net/qq_36215315/article/details/79893476
输入命令:debug 文件名.EXE,在 DEBUG 的命令提示符 '-' 出现后开始调试,
注意:是针对 可执行程序。debug 文件名.exe。进入调试模式,在短横线后输入命令。
网上可查到命令集。以下是部分调试命令及截图:
R:查看程序运行前的寄存器组初始值;
U:查看程序反汇编代码。从反汇编代码中可看出,变量会被汇编为直接寻址方式,使用变量在数据段内的有效地址表示。
T:单步调试;
D:观察内存变化(D后不带地址或范围,默认显示上一个D命令之后的80字节内容);
G 地址:程序从当前位置直接运行到指定地址处停下。
E 地址:修改内存中的内容,如:E DS:0100,输入空格可逐个字节修改,回车停止修改。例如,g:运行程序。q:退出调试模式。
4. 其他工具
1. emu8086。直接编译、运行、调试,不需要dosbox。
2. masm for windows,友好的文本编辑器,但是运行和调试仍会调出dosbox。
链接:https://pan.baidu.com/s/16DxS5Yjizc-mve_5oUShBg 密码:3z3e
-
masm5.0适用于win7下的汇编编译器
2013-11-26 10:06:23适用于win7下的汇编编译器 编译时:(关键之处)1.调用window7 的 cmd (按住键盘ctrl与alt之间的开始键(start)+R) 2.然后把目录转至 C:\masm 3.然后输入 c:\masm\masm.exe 回车 4.然后 在光标提示下首先输入源程序... -
汇编编译器nasm
2011-11-08 22:21:32和masm还是有一些不一样的,不过貌似操作更简单,而且更适合编译操作系统,还是不错的,win7下txt记得改成ansi码格式 -
WIN10下的 16位汇编学习环境的搭建 及编译、链接和调试
2021-08-17 14:40:35第一步:安装 16位DOS虚拟机:DOSBox0.74 第二步:把编译、链接、调试等软件复制到自己指定的文件夹下面 第三步:建立一个存放源文件的文件夹 第四步:DOS虚拟机里面设置编译环境所在的目录 ...环境搭建
第一步:安装 16位DOS虚拟机:DOSBox0.74
第二步:把编译、链接、调试等软件复制到自己指定的文件夹下面
第三步:建立一个存放源文件的文件夹
第四步:DOS虚拟机里面设置编译环境所在的目录
mount c d:\masm16\masm
第五步:自动配置第四步的目录,不用每次打开都设置
找到配置文件:dosbox-0.74.conf
方法1:运行安装目录下的 DOSBox 0.74 Options.bat(有可能打不开,就用第二种方法)
方法2:自己在启动窗口找
添加到 配置文件
运行结果
编译
编译命令: masm
链接
链接命令 link
调试
调试名 debug
r 命令查看当前寄存器 -
VB制作的编译器.rar
2021-05-05 18:22:20使用VB6制作的win32编译器,全中文变量,不需要注释也能很方便阅读代码,直接编译成机器码,VB语法,https://blog.csdn.net/qq_19592713/article/details/116549035 -
最好用的Win32汇编编译器——WinAsm515Full(附带中文插件)
2009-03-23 10:48:40这是我最喜欢的一个Win32汇编环境,相当的不错!! -
汇编编译器MASM5.0
2012-12-02 10:13:54汇编编译工具 MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合... -
汇编程序编译器
2018-08-15 20:18:10汇编程序支持新手上手,支持WIN7 XP。里面有教程安装说明 -
nasm汇编编译器,强烈推荐
2010-12-17 21:15:22NASM是一个为可移植性与模块化而设计的一个80x86的汇编器。它支持相当多的目标文件格式,包括Linux和'NetBSD/FreeBSD','a.out','ELF','COFF',微软16 位的'OBJ'和'Win32'。它还可以输出纯二进制文件。它的语法设计得... -
masm5汇编编译器
2014-10-09 15:30:14MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm,是Windows下开发汇编的利器。 汇编语言的实现也是先利用某种编辑... -
如何使用MASM 5.0汇编语言编译器
2022-03-12 17:23:27预先在解压后文件夹中写ASM(汇编源文件)文件。 进入masm5.0所在路径(装入-连接-运行-调试均在masm5.0所在目录中进行) (我这里masm5.0所在路径是E:\masm5.0\) Win+R 打开运行框 cmd 运行命令提示符 E: 进入E盘... -
Win-Masm v2.2 汇编集成编译器
2010-08-01 22:55:59Win-Masm是一个界面友好、操作简单,并且非常实用的8086汇编IDE开发环境。它基于masm6.15编译核心(同时兼容masm5.1)。支持语法高亮显示(并可自定义修改)、错误行快速定位、无限次Undo/Redo功能、Word式查找/替换...