第一个win32汇编程序开发步骤
1.下载并安装MASM,下载nmake.exe工具,把namake.exe放到MASM安装目录的bin下。
2.编写一个用于设置环境变量的批处理文件var.bat(放到masm根目录即可) 文件的内容如下:
@echo off
rem 请根据Masm32 软件包的安装目录修改下面的Masm32Dir 环境变量!
set masm32Dir=D:\masm32
set include=%masm32Dir%\Include;%include%
set lib=%masm32Dir%\lib;%lib%
set path=%masm32Dir%\Bin;%masm32Dir%;%PATH%
set masm32Dir=
echo on
3.每打开一个新的命令行控制台,就要执行一次var.bat(否则控制台会找不到masm,link,nmake等命令),省力的做法是把环境变量添加到用户变量,或系统变量中去。
4.用编辑器写一个.asm文件,在命令提示符下切换到相应目录,用MASM编译和链接一个Win32汇编源程序常用的命令是:
ml /c /coff xx.asm
link /subsystem:windows xx.obj yy.lib zz.res (普通PE文件)
link /subsystem:console xx.obj yy.lib zz.res (控制台文件)
link /subsystem:windows /dll /def:aa.def xx.obj yy.lib zz.res (DLL文件)
4.显然使用ml ,Link比较复杂,我们可以事先写好一个makefile,然后通过用nmake工具链接。
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
然后切换到相应文件目录下使用nmake就可以了。
5.总结起来步骤为:
自己写程序代码 -->修改makefile --> 命令提示符下运行var.bat --> nmake
则.exe文件生成。