2024年3月31日发(作者:)

MASM32使用教程

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

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

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

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

1、基本使用方法

如何在MASM32中建立、汇编、链接源程序文件和运行生成的可执行文件。

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

3、汉化QEDITOR菜单

一、基本使用方法

以在C:PWIN951TEMP文件夹下建立和生成为例.

安装好MASM32后,打开“资源管理器”或“我的电脑”,进入MASM32所在文件夹(假设为C:MASM32),

双击

的图标,这就进入了MASM32的集成开发环境。

1.[这一步是可选的,以下可选的步骤均简称为“可选”] 输入资源文件, 然后使用菜单栏上的菜单File ->

Save 或 快捷工具栏中的代表存盘功能的磁盘状图标,第一次需要输入文件名,注意要指定扩展名 .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

RC: RCPP -CP 936 -f C:PWIN951TEMPRCa83947 -g C:PWIN951TEMPRDa83947 -DRC_IN

VOKED -D_WIN32 -pc:/ -E -I. -I .

.

(1): error RC2135 : file not found: .

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 for reading

Press any key to continue . . .

其中给出了出错语句的行号,错误类型代码及错误信息。

按任一键结束,再关闭此DOS窗口,并按错误信息修改资源文件,存盘后,重新编译。

技巧小提示: 在中,按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

RC: RCPP -CP 936 -f C:PWIN951TEMPRCa81843 -g C:PWIN951TEMPRDa81843 -DRC_IN

VOKED -D_WIN32 -pc:/ -E -I. -I .

.

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 . . .

说明生成了和文件,按任一键结束,再关闭此DOS窗口。

⒊输入源程序,然后使用菜单栏上的菜单File -> Save 或 快捷工具栏中的代表存盘功能的磁盘状图标,第

一次需要输入文件名,注意要指定扩展名 .ASM[本例中为C:]。

⒋汇编源程序。使用菜单栏上的菜单Project -> Assemblier ASM file。这时系统会打开一个DOS窗口运行

相关的批处理文件。结束后会弹出一个名为“”的窗口报告结果。

若汇编不成功,则显示信息如下(具体错误信息因错误而异):

Assembling: C:

C:(60) : error A2006: undefined symbol : NULL

C:(60) : error A2114: INVOKE argument type mismatch : argument : 1

Volume in drive C is LIU

Volume Serial Number is 4061-17D7