分享

MASM32新手指南|中文方案文档站(www.cn

 软件团队头目 2006-06-22

[原创]MASM32新手指南

[入库:2005年8月19日]  [来源]

本文简介:选择自 purpleendurer 的 blog

masm32新手指南
作者:purple endurer,广西河池(2002.6.4)


工欲善其事,必先利其器。以下是masm32的一些基本用法。masm32v8下载请到aogo站(3104k)

本文主要说明三点:
1、基本使用方法
如何在masm32中建立、汇编、链接源程序文件和运行生成的可执行文件。
2、如何开启masm32的在线帮助功能
3、汉化qeditor菜单

一、基本使用方法
以在c:\pwin951\temp文件夹下建立test.asm和生成test.exe为例.

安装好masm32后,打开“资源管理器”或“我的电脑”,进入masm32所在文件夹(假设为c:\masm32),双击qeditor.exe
的图标,这就进入了masm32的集成开发环境。

⒈[可选] 输入资源文件。按⒈的方法存盘,注意如果是在集成环境中编译此资源文件,文件名必须是rsrc.rc(大小写均可)。
⒉[可选] 编译资源文件。使用菜单栏上的菜单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窗口,并按错误信息修改资源文件,存盘后,重新编译。直到显示如下成功信息:

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窗口。

⒊输入源程序,然后使用菜单栏上的菜单file -> save 或 快捷工具栏中的代表存盘功能的磁盘状图标,第一次需要输
入文件名,注意要指定扩展名 .asm[本例中为c:\pwin951\temp\test.asm]。

⒋汇编源程序。使用菜单栏上的菜单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的有关信息。


⒌链接目标文件。使用菜单栏上的菜单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的有关信息.


注:没有找到资源文件不属于错误,因此如果你的程序汇编和链接均顺利完成,但运行时却看不到窗口,很可是你将窗口信息放在资源文件中,但资源文件尚未编译或编译没有成功。

⒍ 运行生成的可执行文件.使用菜单栏上的菜单project -> run program。

看到程序运行的结果了吗?

如果看不到窗口,很可能是你将窗口信息放在资源文件中,但资源文件尚未编译或编译没有成功。

总之,要注意的是,对源程序文件或资源文件修改后一定要先存盘,然后再进行后继操作,否则错误依旧。

project菜单中其它菜单项的功能和用法:

assemble & link 汇编源程序并链接,适用于资源文件未修改,但修改了源程序的情况
build all 编译资源文件,汇编源程序并链接,适用于资源文件和源程序均修改的情况


console link obj file 汇编控制台型源程序
&console assemble link 汇编并链接控制台型源程序
console build all 生成控制台可执行程序


二、开启masm32的在线帮助功能
masm32大量使用了windows api函数,众多的函数不同的参数我们很难记住,只能现用现查。
masm32提供了在线帮助功能,但必须进行相应设置,才能“招之即来”。
在qeditor中按功能键 f1 ,弹出对话框,帮助文件?.hlp没找到?怎么办?跟我做:
选择菜单tools -> change editor settings,弹出名为“change quick editor settings”的窗口,从double
click item to edit下的列表框中找到&ldqu

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多