|
软件标签: masm32 编程软件
masm32 sdk其内包含了用户们所需要的无数编程数据信息,提供各类源代码例子,让你能够通过其内的各类信息,达到更好的编程操作,支持编辑器环境搭建,给你最佳的编程效果!
官方介绍
本文主要针对masm32 v8来说明三点:
1、基本使用方法

如何在masm32中建立、汇编、链接源程序文件和运行生成的可执行文件。
2、如何开启masm32的在线帮助功能
3、汉化qeditor菜单
masm32汉化介绍
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,资源编译器是microsoftvisual studio中的rc.exe,32位链接器是microsoft visual studio中的link.exe,同时包含有其他的一些如lib.exe和dumppe.exe等工具。
masm32使用教程:
如果你在用汇编语言来开发windows下的程序的话,masm32是很好的选择。
(masm32下载地址请用google搜索罢。)
工欲善其事,必先利其器。
基本使用方法
以在c:pwin951 emp文件夹下建立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 emp
ca83947 -g c:pwin951 emp
da83947 -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 emp
ca81843 -g c:pwin951 emp
da81843 -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 emp est.asm]。
4.链接目标文件。使用菜单栏上的菜单project -> link obj file。这时系统会打开一个dos窗口运行相关的批处理文件,并弹出名为"masm32inlnk.txt"的窗口报告结果如下:
volume in drive c is liu
volume serial number is 4061-17
d7
directory of c:pwin951 emp
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窗口运行相关的批处理文件。结束后会弹出一个名为"masm32inasmbl.txt"的窗口报告结果。
若汇编不成功,则显示信息如下(具体错误信息因错误而异):
assembling: c:pwin951 emp est.asm
c:pwin951 emp est.asm(60) : error a2006: undefined symbol : null
c:pwin951 emp est.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 emp
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 emp est.asm(60) : error a2006: undefined symbol : null
中
c:pwin951 emp est.asm 为源程序文件的文件说明符
(60) 其中60为源程序中引起错误的语句的行号
error a2006 a2006为错误类型代号
undefined symbol : null 为具体错误信息
这时应按这些信息修改源程序中相应行,存盘后重新汇编。直至窗口显示如下成功信息:
assembling: c:pwin951 emp est.asm
volume in drive c is liu
volume serial number is 4061-17d7
directory of c:pwin951 emp
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的有关信息。

|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|