实验1_建立windows环境下32位汇编语言开发环境
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1 win 32汇编程序的编程环境
实验步骤:
1安装开发环境
解压masm32v11r.zip,并运行MASM32 SDK开发软件“install.exe”,将MASM32安装在根目录下。
2 EditPlus多功能编辑器
EditPlus的配置方法如下:
1、在“工具”->“首选项…”中转到“文件类型及语法”。
2、在“文件类型”中选中WIN32ASM文件类型,并进行修改,将文件扩展名设为“ASM”,
扩展名设为“ASM”。语法文件选择asm.stx。
3 定制开发环境
为这个环境建立一个设置环境变量的批处理文件 Var.bat,其内容如下:
@echo off
set Masm32Dir=f:\Masm32
set include=%Masm32Dir%\Include;%include%
set lib=%Masm32Dir%\lib;%lib%
set path=%Masm32Dir%\Bin;%Masm32Dir%;%PATH%
set Masm32Dir=
echo on
文件中设置了3个环境变量:
●include变量指定头文件的搜索目录。在asm和rc文件中可以根据这个变量寻找include语句指定的文件名,避免了使用头文件的全路径名,这样以后移动了MASM32的安装位置就不必修改每个源文件中的include语句。如果使用Visual C++的集成环境来建立rc文件的话,为了使rc.exe 能找到头文件,还要把VC++安装目录下的Include和MFC\Include目录包含进来,多个路径之间用
“;”隔开;
● lib变量指定导入库文件的搜索目录。在asm文件中可以根据这个变量寻找includelib语句指定的导入库文件,Link.exe也根据这个变量寻找库文件的位置。
● path变量就不必多解释了。它只是使我们不必在键入命令时带长长的路径而已。
4、使用EditPlus建立TEST.asm源程序并保存
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
.const
szCaption db '恭喜',0
szText db '当您看到这个信息的时候,您已经可以编译Win32汇编程序了!',0
.code
start:
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
invoke ExitProcess,NULL
end start
5 、建立汇编连接32位应用程序的makefile文件
make可以根据文件的时间正确判断文件的新旧并执行相应的步骤。Makefile作为一个描述文件来告知make文件之间的依赖关系。执行make工具的时候,它会默认用makefile做描述文件名来进行相应的工作,书写描述文件有规定的语法。本试验使用的makefile内容如下:EXE = Test.exe #指定输出文件
OBJS = Test.obj #需要的目标文件
RES = Test.res #需要的资源文件
LINK_FLAG = /subsystem:windows #连接选项
ML_FLAG = /c /coff #编译选项
$(EXE): $(OBJS) $(RES)
Link $(LINK_FLAG) $(OBJS) $(RES)
.asm.obj:
ml $(ML_FLAG) $<
.rc.res:
rc $<
clean:
del *.obj
del *.res
6 、在命令行窗口下运行nmake,进行编译连接,显示结果