构建汇编编程环境(MASM32V10)
构建汇编编程环境(MASM32V10)
作者:wibe
本文介绍在Windows操作系统里怎样搭建32位的汇编语言编程环境。
MASM32是一种非常流行的集成了微软的MASM汇编语言编译器的软件包,目前最新版本为10。0版。MASM32version10的下载地 址:http://www.masm32.com/masmdl.htm 注意:MASM32不支持Win9x或者Me。(我想,现在大概也没有人用 Win9x了吧!)
第一步:
选择一个驱动器安装MASM32软件包,例如C盘,安装好的目录是c:\Masm32目录,对我们来说,整个软件包中重要的只有3个目录:bin目录中有 汇编编译器ml.exe,资源编译器rc.exe和链接器Link.exe等执行文件;include目录中有各种头文件;lib目录中有全部导入库。
第二步:
由于MASM32软件包中没有nmake.exe文件,所以要单独寻找nmake.exe并拷贝到c:\Masm32\bin目录中。注意:若我们电脑上 安装了VC++6.0,VC++2005,VC++2008等多个版本的微软的C++软件,则应注意nmake.exe的版本。
第三步:
为这个环境建立一个设置环境变量的批处理文件,假设文件名为Var.bat,那么这个文件内容如下:
@echo off
set include=c:\masm32\Include
set lib=c:\masm32\lib
set path=c:\masm32\bin;%path%
echo on
文件中设置了3个环境变量:
● include变量指定头文件的搜索目录。在asm和rc文件中可以根据这个变量寻找include语句指定的文件名,避免了使用头文件的全路径 名,这样以后移动了MASM32的安装位置就不必修改每个源文件中的include语句。如果使用Visual C++的集成环境来建立rc文件的话,为 了使rc.exe能找到头文件,还要把VC++安装目录下的Include和MFC\Include目录包含进来(注 意:VC++2005,VC++2008只需要把把VC++安装目录下的Include目录包含进来即可),中间用“;”隔开:
set include=c:\masm32\Include;VC目录\Include;VC目录\MFC\Include
VC++安装目录一般为C:\Program Files\Microsoft Visual Studio\VC98\。
● lib变量指定导入库文件的搜索目录。在asm文件中可以根据这个变量寻找includelib语句指定的导入库文件,Link.exe也根据这 个变量寻找库文件的位置。
● path变量就不必多解释了。它只是使我们不必在键入命令时带长长的路径而已。
按照上面的步骤安装完成后,下面来编译一个程序测试一下。打开一个文件浏览窗口,切换到源文件目录c:\Source。打开一个MS-DOS窗口,并键入 Var执行已建立的Var.bat,这时环境变量和路径已经设置好了,可以键入SET命令验证一下include和path等环境串是否正确,然后键入 c:以及cd \Source切换到要工作的目录中,并键入nmake,当屏幕上出现如下所示的正确的编译链接信息后,Test.exe就建立完成 了。(注:该实例源代码系《Windows环境下32位汇编语言程序设计(第2版)》中的源代码)
参考资料
罗云彬,《Windows环境下32位汇编语言程序设计(第2版)》,电子工业出版社,2003年
MASM32官网,www.masm32.com
附录
Vc++6.0环境下的var.bat
@echo off
set include=c:\masm32\Include;d:\Program Files\Microsoft Visual Studio\VC98\include;d:\Program Files\Microsoft Visual Studio\VC98\MFC\Include
set lib=c:\masm32\lib
set path=c:\masm32\bin;%path%
echo on
VC++2005环境下的var.bat
@echo off
set include=c:\masm32\Include;D:\Program Files\Microsoft Visual Studio 8\VC\include
set lib=c:\masm32\lib
set path=c:\masm32\bin;%path%
echo on
VC++2008环境下的var.bat
@echo off
set include=c:\masm32\Include;D:\Program Files\Microsoft Visual Studio 9.0\VC\include
set lib=c:\masm32\lib
set path=c:\masm32\bin;%path%
echo on
作者:wibe
本文介绍在Windows操作系统里怎样搭建32位的汇编语言编程环境。
MASM32是一种非常流行的集成了微软的MASM汇编语言编译器的软件包,目前最新版本为10。0版。MASM32version10的下载地 址:http://www.masm32.com/masmdl.htm 注意:MASM32不支持Win9x或者Me。(我想,现在大概也没有人用 Win9x了吧!)
第一步:
选择一个驱动器安装MASM32软件包,例如C盘,安装好的目录是c:\Masm32目录,对我们来说,整个软件包中重要的只有3个目录:bin目录中有 汇编编译器ml.exe,资源编译器rc.exe和链接器Link.exe等执行文件;include目录中有各种头文件;lib目录中有全部导入库。
第二步:
由于MASM32软件包中没有nmake.exe文件,所以要单独寻找nmake.exe并拷贝到c:\Masm32\bin目录中。注意:若我们电脑上 安装了VC++6.0,VC++2005,VC++2008等多个版本的微软的C++软件,则应注意nmake.exe的版本。
第三步:
为这个环境建立一个设置环境变量的批处理文件,假设文件名为Var.bat,那么这个文件内容如下:
@echo off
set include=c:\masm32\Include
set lib=c:\masm32\lib
set path=c:\masm32\bin;%path%
echo on
文件中设置了3个环境变量:
● include变量指定头文件的搜索目录。在asm和rc文件中可以根据这个变量寻找include语句指定的文件名,避免了使用头文件的全路径 名,这样以后移动了MASM32的安装位置就不必修改每个源文件中的include语句。如果使用Visual C++的集成环境来建立rc文件的话,为 了使rc.exe能找到头文件,还要把VC++安装目录下的Include和MFC\Include目录包含进来(注 意:VC++2005,VC++2008只需要把把VC++安装目录下的Include目录包含进来即可),中间用“;”隔开:
set include=c:\masm32\Include;VC目录\Include;VC目录\MFC\Include
VC++安装目录一般为C:\Program Files\Microsoft Visual Studio\VC98\。
● lib变量指定导入库文件的搜索目录。在asm文件中可以根据这个变量寻找includelib语句指定的导入库文件,Link.exe也根据这 个变量寻找库文件的位置。
● path变量就不必多解释了。它只是使我们不必在键入命令时带长长的路径而已。
按照上面的步骤安装完成后,下面来编译一个程序测试一下。打开一个文件浏览窗口,切换到源文件目录c:\Source。打开一个MS-DOS窗口,并键入 Var执行已建立的Var.bat,这时环境变量和路径已经设置好了,可以键入SET命令验证一下include和path等环境串是否正确,然后键入 c:以及cd \Source切换到要工作的目录中,并键入nmake,当屏幕上出现如下所示的正确的编译链接信息后,Test.exe就建立完成 了。(注:该实例源代码系《Windows环境下32位汇编语言程序设计(第2版)》中的源代码)
参考资料
罗云彬,《Windows环境下32位汇编语言程序设计(第2版)》,电子工业出版社,2003年
MASM32官网,www.masm32.com
附录
Vc++6.0环境下的var.bat
@echo off
set include=c:\masm32\Include;d:\Program Files\Microsoft Visual Studio\VC98\include;d:\Program Files\Microsoft Visual Studio\VC98\MFC\Include
set lib=c:\masm32\lib
set path=c:\masm32\bin;%path%
echo on
VC++2005环境下的var.bat
@echo off
set include=c:\masm32\Include;D:\Program Files\Microsoft Visual Studio 8\VC\include
set lib=c:\masm32\lib
set path=c:\masm32\bin;%path%
echo on
VC++2008环境下的var.bat
@echo off
set include=c:\masm32\Include;D:\Program Files\Microsoft Visual Studio 9.0\VC\include
set lib=c:\masm32\lib
set path=c:\masm32\bin;%path%
echo on