这几天看罗老师win32汇编语言程序设计,其推荐的MASM32真的不错,其IDE的功能就太弱了,找到RadAsm,配置了半天才成功,总算能正常编译程序,MASM32+RadAsm真是黄金组合.
一. 下载masm5.0
masm5.0 最干净的汇编编译环境,不包括任何SDK库,适合初学者.
编译: masm test.asm
连接: link test.asm, 生成test.exe
二.下载MASM32
下载后安装MASM32, 打开qeditor.exe, 其集成了很多Complier/link/Assembly命令,倒是比命令行方便多了. 利用其编译资源文件时出错: fatal error RC110: could not open rsrc.rc, 其默认的资源文件名是rsrc.rc, 然后也没有工程这概念, 源文件不能高亮显示. 还不如手动编写Makefile来的快.
下面命令行编译我们第一个汇编程序:
Test.asm:
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .386 .model flat,stdcall option casemap:none ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; Include 文件定义 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> include windows.inc include user32.inc includelib user32.lib include kernel32.inc includelib kernel32.lib ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; 数据段 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .const szCaption db '恭喜',0 szText db '当您看到这个信息的时候,您已经可以编译Win32汇编程序了!',0 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; 代码段 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .code start: invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK invoke ExitProcess,NULL ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> end start
Makefile:
EXE = Test.exe #指定输出文件 OBJS = Test.obj #需要的目标文件 RES = Test.res #需要的资源文件 LINK_FLAG = /subsystem:windows #连接选项 ML_FLAG = /c /coff /I"D:\masm32\include" #编译选项,必须指定include路径 $(EXE): $(OBJS) $(RES) Link $(LINK_FLAG) $(OBJS) $(RES) .asm.obj: ml $(ML_FLAG) $< .rc.res: rc $< clean: del *.obj del *.res
dos下输入命令:
set MASM=D:\masm32
set path=%MASM%;%MASM%\bin;%path%; // 将MASM32添加至环境变量中
cd d:/Test
nmake
三. 安装配置RadAsm
MASM32是windows下汇编SDK开发包,整合一些常用的工具,RadAsm是Win32下功能比较强大的IDE, 打开 http://www.oby.ro/rad_asm/ 主页,依次下载四个压缩包,分别是IDE,支持语言扩展包,代码高亮插件,国际化包.
3.1 解压文件
将RadAsm.zip解压至D:\RadAsm下, Assembly.zip解压后的Assembly文件夹所有内容拷贝至D:\RadAsm,HighLevel.zip解压后的HighLevel所有内容拷贝至D:\RadAsm,RadLNG的Language目录拷贝至D:\RadAsm中.
3.2 配置RadAsm,添加masm模板
添加masm等语言支持: RadAsm -> Option -> Progrmming Languages -> Add , 添加masm.ini,fasm.ini,nasm.ini,fasm.ini
添加语言高亮支持: RadAsm -> Option -> Programming Languages -> Add , 添加bcc.ini,cpp.ini,lcc.ini,bcet.ini,dm.ini,fb.ini
3.3 汉化
RadAsm -> Option -> Language 选择简体中文
3.4 代码编辑器中文乱码
目前已经可以编写代码了,但是发现无法在输入中文,而且拷贝的中文也无法正常显示. 此时需要配置中文字体
RadAsm -> Option -> Font Options -> Code Edit 选择中文字体微软雅黑, 并设置字符集 CHINESE_GB2312
3.5 设置库路径
Option -> Set Paths, 设置App($A):d:\Masm32
Option -> Envrionment Variables, 添加d:\Masm32\bin
3.6 测试
New Project -> masm (Win32 App), next ...