【Masm】使用教程

【Masm】使用教程如果你在用汇编语言来开发windows下的程序的话,MASM32是很好的选择。(Masm32下载地址请用google搜索罢。)工欲善其事,必先利其器。本文主要针对masm32 v8来说明三点:1、基本使用方法如何在MASM32中建立、汇编、链接源程序文件和运行生成的可执行文件。2、如何开启MASM32的在线帮助功能3、汉化QEDITOR菜单

如果你在用汇编语言来开发windows下的程序的话,MASM32是很好的选择。

(Masm32下载地址请用google搜索罢。)

工欲善其事,必先利其器。

本文主要针对masm32 v8来说明三点:


1
、基本使用方法
如何在MASM32中建立、汇编、链接源程序文件和运行生成的可执行文件。


2
、如何开启MASM32的在线帮助功能


3
、汉化QEDITOR菜单

一、基本使用方法

以在C:
\PWIN951\TEMP文件夹下建立TEST.ASM和生成TEST.EXE为例.

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


1
.[这一步是可选的,以下可选的步骤均简称为“可选”] 输入资源文件, 然后使用菜单栏上的菜单File -> Save 或 快捷工具栏中的代表存盘功能的磁盘状图标,第一次需要输入文件名,注意要指定扩展名 .RC并存盘,注意如果是在集成环境中编译此资源文件,文件名必须是RSRC.RC(大小写均可)。


2
.[可选] 编译资源文件。使用菜单栏上的菜单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窗口。

⒊输入源程序,然后使用菜单栏上的菜单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的菜单内容保存在文件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]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/38379.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注