一、介绍RadAsm和Masm相关概念
1.1 什么是Win32Asm?
Win32Asm是一种基于32位汇编语言的编程语言,专门用于在Windows操作系统下进行开发。Win32Asm的全称是“Windows下的32位汇编语言编程”,它使用微软的MASM(Microsoft Macro Assembler)编译器来编译汇编代码。通过Win32Asm,开发者可以深入研究Windows操作系统的底层工作原理,追求高质量的执行效率和空间效率。此外,Win32Asm也是学习逆向工程和加密解密的重要工具。
之前详细介绍了x86汇编的各种知识点,需要补充详细内容可以参考如下书籍:
参考学习书籍
-
《Intel汇编语言程序设计(第四版)》:Kip R. Irvine 著,温玉杰等译。
-
《80X86汇编语言程序设计教程》:杨季文等编著。
1.2 什么是RadAsm?
RadAsm是一种类似于Visual C++(VC)和Visual Basic(VB)的集成开发环境(IDE),专门用于高效开发32位汇编应用程序。RadAsm的全称是“Rapid Application Development Assembler”,它提供了一种快速应用程序开发的环境,但不包括编译器。RadAsm的好处在于它提供了与VB、VC类似的项目管理方案,使得开发者能够更高效地进行汇编语言编程。
汇编开发环境的选择
除了RadAsm,还有其他几种常见的汇编开发环境:
-
WinAsm Studio:专注于MASM32的开发环境,与RadAsm齐名,有些地方做得更好。
-
EasyCode:与VB的开发环境极为相像,使用微软的MASM编译器。
-
MasmPlus:由国内aogosoft站长开发,简单但不简陋,文本编辑功能强大,有较好的辅助功能。
此外,还有一些有趣的汇编工具和框架,如面向对象编程的ObjAsm和高度封装的HLA(High Level Assembler)。
1.3 Masm32开发包
Masm32开发包是使用微软发布的MASM编译器整理的一大堆头文件和库文件,并加入了一些工具组合而成的开发包。为什么要使用Masm32?因为99%的人都用它,其他编译器未能提供完整的头文件和库文件定义。最新发布的Masm32可以在Masm32官网找到。
至此我们知道,RadAsm是集成开发工具,结合masm编译器共同开发编译运行x86汇编代码。当然,支持x86架构汇编代码的编译器还有其他的,但在这篇文章,我们主要使用RadAsm开发集成环境和Masm编译器完成x86汇编开发测试流程。接下来是他们的安装和使用教程。
二、 RadAsm与Masm32的安装流程
2.1、下载并解压所有需要的工具
下载RadAsm的IDE包或已配置好的完整包。
下载地址: http://www.assembly.com.br/
如下截图位置下载完整包
如下位置下载语言支持文件(如MASM、TASM)。
下载masm32v11r 开发包。
下载地址: http://www.masm32.com/
点击上面截图位置下载即可。
全部下载完毕,我们各自解压到各自目录如下:
2.2、添加语言支持文件
解压完毕后,我们先进入RadASM文件夹,管理员运行RadASM.exe
打开后,在File栏,新建工程new project 发现只有html 类型,但是并没有masm类型。
由此我们要把下载好的语言支持文件masm添加进来。首先我们进入下载解压好的Assembly文件夹根目录
把如上文件都拷贝到解压后的RadASM文件夹下,如果提示覆盖其他文件,选择跳过就行。(最好记得这样操作)
然后我们关闭RadASM.exe,然后再重新打开RadASM.exe。在Option项中,点击Programming Languages,按如下点击...添加masm.ini,并置顶即可。
然后我们new project 发现就有masm工程类型了
2.3、安装masm32v11r
进入如下masm32v11r 文件夹,管理员权限运行install.exe,运行后出现下面运行截图,点击Install继续安装进程。
选择安装盘符
本机器安装到其他盘,提示失败,选择C盘系统盘就没问题,后面一直点击确定ok就行。
下面的是安装 masm 创建示例程序
下面进度一直点确定即可
完成后会提示你是否创建masm自带的文本编辑器,可以点击yes
完成后会打开masm介绍
将上面程序关闭即可。
2.4、设置编译器MASM32路径
重新打开RadASM.exe,选择Option项,再点Paths Setup,如下设置MASM32路径及其他路径
其中app路径是安装后的masm32编译器的根目录,Include代表依赖的头文件,Library代表的是依赖的库,Macro是宏定义,Projects是默认创建的工程保存路径。$R表示的路径如下图
配置完后,我们再创建新工程就能看见工程的默认目录是自己设置的目录位置
2.5、测试开发环境
下面我们接着弄一个测试demo,运行看看能不能跑起来,如下新建工程,填好工程名称,工程描述,工程保存位置
其他默认下一步
点击finish后,看最右边是工程程序整个结构,其中testDemo.Asm是汇编代码文件,包含汇编语言代码,用于定义程序的逻辑和功能。 testDemo.Inc是头文件,包含宏定义、常量定义、函数声明等,用于在多个汇编文件之间共享代码和数据。 testDemo.dlg是对话框模板文件,定义对话框的布局和控件,通常用于资源文件中。 testDemo.Rc是资源脚本文件,定义程序的资源,如对话框、菜单、图标、字符串表等。
上图功能栏三个箭头所指功能分别是程序代码的编译,构建,运行按钮。
点击编译后如下表示成功
如下表示构建成功
如下运行成功,弹出一个对话框,标题为 testDemo
至此,测试程序成功运行完毕,即可验证开发环境是否安装配置成功!接下来我们用RadAsm开发工具开始自己愉快的汇编代码之旅吧!