/中文/
/中文/
/多国语言[中文]/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/英文/
软件Tags: MASM32编程软件
masm32 SDK其内包含了用户们所需要的无数编程数据信息,提供各类源代码例子,让你能够通过其内的各类信息,达到更好的编程操作,支持编辑器环境搭建,给你最佳的编程效果!
本文主要针对masm32 v8来说明三点:
1、基本使用方法
如何在MASM32中建立、汇编、链接源程序文件和运行生成的可执行文件。
2、如何开启MASM32的在线帮助功能
3、汉化QEDITOR菜单
MASM32 SDK 这个资源包里附带的很多例子工具代码,都是无价之宝,能完全吃透这个包,你差不多天下无敌了,很多玩MASM的人都用这个包,可这个包里的很多东东,有多少人看过一边。
该工具是由Steve Hutchesson开发的。MASM32是国外的MASM爱好者自行整理和编写的一个软件包,目前最高版本为11.0版,MASM32并不是微软官方发布的软件,微软官方发布的软件最新版本也只到6.15版,微软发布的MASM系列版本从6.11版才开始支持windows编程,6.11版以前的版本都不支持windows编程,只能用来写DOS程序。
MASM32并非是指Microsoft的MASM宏汇编器。MASM32 是一个为那些对学习或者编写 32 位微软汇编( MASM )感兴趣 的程序员提供的工作环境,MASM32是一个由个人开发的包含了不同版本工具组建的汇编开发工具包。它的汇编编译器是MASM6.0以上版本中的Ml.exe,资源编译器是Microsoft visual studio中的Rc.exe,32位链接器是Microsoft Visual Studio中的Link.exe,同时包含有其他的一些如Lib.exe和DumpPe.exe等工具。
MASM32使用教程:
如果你在用汇编语言来开发windows下的程序的话,MASM32是很好的选择。
(Masm32下载地址请用google搜索罢。)
工欲善其事,必先利其器。
以在C:\PWIN951\TEMP文件夹下建立TEST.ASM和生成TEST.EXE为例.
安装好MASM32后,打开"资源管理器"或"我的电脑",进入MASM32所在文件夹(假设为C:\MASM32),双击QEDITOR.EXE
的图标,这就进入了MASM32的集成开发环境。
1.[可选] 编译资源文件。使用菜单栏上的菜单project -> Compile Resource File。这时系统会打开一个DOS窗口运行相关的批处理文件,并报告结果。
若不编译成功,信息为(具体错误信息因错误而异):
Microsoft (R) Windows (R) Resource Compiler, Version 5.00.1823.1 - Build 1823
Copyright (C) Microsoft Corp. 1985-1998. All rights reserved.
Using codepage 936 as default
Creating rsrc.RES
RC: RCPP -CP 936 -f C:\PWIN951\TEMP\RCa83947 -g C:\PWIN951\TEMP\RDa83947 -DRC_IN VOKED -D_WIN32 -pc\:/ -E -I. -I .
rsrc.rc.
rsrc.rc (1): error RC2135 : file not found: MAINICON.ICO.
Writing MENU:600, lang:0x409, size 128
Microsoft (R) Windows Resource To Object Converter Version 5.00.1736.1
Copyright (C) Microsoft Corp. 1992-1997. All rights reserved.
CVTRES : fatal error CVT1101: cannot open rsrc.res for reading
Press any key to continue . . .
其中给出了出错语句的行号,错误类型代码及错误信息。
按任一键结束,再关闭此DOS窗口,并按错误信息修改资源文件,存盘后,重新编译。
技巧小提示: 在qeditor.exe中,按Ctlr+G可跳到指定的行
直到显示如下成功信息:
Microsoft (R) Windows (R) Resource Compiler, Version 5.00.1823.1 - Build 1823
Copyright (C) Microsoft Corp. 1985-1998. All rights reserved.
Using codepage 936 as default
Creating rsrc.RES
RC: RCPP -CP 936 -f C:\PWIN951\TEMP\RCa81843 -g C:\PWIN951\TEMP\RDa81843 -DRC_IN
VOKED -D_WIN32 -pc\:/ -E -I. -I .
rsrc.rc.
Writing MENU:600, lang:0x409, size 128
Microsoft (R) Windows Resource To Object Converter Version 5.00.1736.1
Copyright (C) Microsoft Corp. 1992-1997. All rights reserved.
Press any key to continue . . .
说明生成了rsrc.RES和rsrc.obj文件,按任一键结束,再关闭此DOS窗口。
2. [这一步是可选的,以下可选的步骤均简称为"可选"] 输入资源文件, 然后使用菜单栏上的菜单File -> Save 或 快捷工具栏中的代表 存盘功能的磁盘状图标,第一次需要输入文件名,注意要指定扩展名 .RC并存盘,注意如果是在集成环境中编译此资源文件,文件名必须是RSRC.RC(大 小写均可)。
⒊输入源程序,然后使用菜单栏上的菜单File -> Save 或 快捷工具栏中的代表存盘功能的磁盘状图标,第一次需要输入文件名,注意要指定扩展名 .ASM[本例中为C:\PWIN951\TEMP\TEST.ASM]。
4.链接目标文件。使用菜单栏上的菜单Project -> Link OBJ file。这时系统会打开一个DOS窗口运行相关的批处理文件,并弹出名为"\masm32\bin\lnk.txt"的窗口报告结果如下:
Volume in drive C is LIU
Volume Serial Number is 4061-17D7
Directory of C:\PWIN951\TEMP
TEST ASM 8,401 06-05-02 19:34 test.asm
TEST OBJ 3,720 06-05-02 19:35 test.obj
TEST EXE 4,608 06-05-02 19:38 test.exe
3 file(s) 16,729 bytes
0 dir(s) 24,395,776 bytes free
其中包括新生成的可执行文件TEST.EXE的有关信息.
注:没有找到资源文件不属于错误,因此如果你的程序使用了窗口,汇编和链接均顺利完成,但运行时却看不到程序窗口,很可是你将窗口信息放在资源文件中,但资源文件尚未编译或编译没有成功。
5.汇编源程序。使用菜单栏上的菜单Project -> Assemblier ASM file。这时系统会打开一个DOS窗口运行相关的批处理文件。结束后会弹出一个名为"\masm32\bin\asmbl.txt"的窗口报告结果。
若汇编不成功,则显示信息如下(具体错误信息因错误而异):
Assembling: C:\PWIN951\TEMP\test.asm
C:\PWIN951\TEMP\test.asm(60) : error A2006: undefined symbol : NULL
C:\PWIN951\TEMP\test.asm(60) : error A2114: INVOKE argument type mismatch : argument : 1
Volume in drive C is LIU
Volume Serial Number is 4061-17D7
Directory of C:\PWIN951\TEMP
TEST ASM 8,402 06-05-02 19:29 test.asm
1 file(s) 13,010 bytes
0 dir(s) 24,403,968 bytes free
其中包括了详细出错信息。如
C:\PWIN951\TEMP\test.asm(60) : error A2006: undefined symbol : NULL
中
C:\PWIN951\TEMP\test.asm 为源程序文件的文件说明符
(60) 其中60为源程序中引起错误的语句的行号
error A2006 A2006为错误类型代号
undefined symbol : NULL 为具体错误信息
这时应按这些信息修改源程序中相应行,存盘后重新汇编。直至窗口显示如下成功信息:
Assembling: C:\PWIN951\TEMP\test.asm
Volume in drive C is LIU
Volume Serial Number is 4061-17D7
Directory of C:\PWIN951\TEMP
TEST ASM 8,401 06-05-02 19:34 test.asm
TEST OBJ 3,720 06-05-02 19:35 test.obj
2 file(s) 16,729 bytes
0 dir(s) 22,298,624 bytes free
其中包括了新生成的目标文件TEST.OBJ的有关信息。