这几天看罗老师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 ...