分享
 
 
 

[原创]MASM32新手指南

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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下的列表框中找到“F1 Help File = ?.hlp”项,刚才我们看到的?.hlp就在其中,原来MASM32

不知我们的帮助文件放在何处,所以只能由我们用户自己来指定位置。

双击这一项,弹出一个对话框,直接输入我们所用的帮助文件的文件说明符,[如我的是“C:\\PWIN951\\HELP\\WIN32.HLP”,

是DLEPHI附带的。],或则单击"Browse..."按钮从选择文件对话框中选择。做完后单击"Save"按钮,然后关闭此窗口。

重新启动QEDITOR,将光标定位在一个API函数名,如MessageBox上,按下功能键 F1, 帮助信息出来了吧!

注意:修改设置后要重新启动,新的设置才起作用

三、汉化QEDITOR菜单

QEDITOR的菜单内容保存在文件QEDITOR.INI中,将其中的菜单项文本改为中文,就完成汉化了(当然你要使用中文版的

WINDOWS)。

由于QEDITOR.INI是非常重要的文件,所以修改前一定要备份,修改时也要小心。下面是我将其中对应Project菜单的菜

单项文本的汉化后的内容。

; --------------------------------------------------------

; Do not edit this file manually, the sequence of settings

; must be in the correct order and it must have the correct

; number of settings otherwise the editor may not function

; properly.

; --------------------------------------------------------

[editor settings]

MASM32 Version 6

command.com

0

1

1

4

2

2

76

80

70

*

*

*

*

\\pwin951\\help\\win32.hlp

0

[menu settings]

;------------------------------------------------------------

; File paths should have the drive added so that the relative

; paths become absolute paths. This allows the tools to be

; accessed from different drives on the computer.

; -----------------------------------------------------------

[&R工程]

&R 编译资源文件,\\MASM32\\BIN\\Bres.bat {b}

&A 汇编源程序文件,\\MASM32\\BIN\\Assmbl.bat {b}

-

&L 链接目标文件,\\MASM32\\BIN\\Lnk.bat {b}

汇编源程序并链接目标文件,\\MASM32\\BIN\\Build.bat {b}

&B 编译资源文件、汇编源程序并链接目标文件,\\MASM32\\BIN\\Bldall.bat {b}

运行 &Makeit.bat 生成可执行文件,makeit.bat

-

&O 链接控制台目标文件,\\MASM32\\BIN\\Lnkc.bat {b}

&C 汇编和链接控制台文件,\\MASM32\\BIN\\Buildc.bat {b}

&A 一步生成控制台可执行文件,\\MASM32\\BIN\\Bldallc.bat {b}

-

&R 运行程序,{b}.exe

[&Tools]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有