如何用Visual Studio 2008写汇编程序?
最近在上夏季小学期,在学汇编语言,关于用什么编辑环境一直很纠结。很想找到一个比较好的IDE,但是试了几个像RadASM之类的,发现还不是很满意。于是,只能用UltraEdit或NotePad之类的文本编辑软件。
今天,课上老师讲了用Visual Studio 2008来写汇编程序,我用了一下,发现用Visual Studio确实很方便,尤其是调试功能很强大(可以运行到断点查看寄存器,或指定内存区域)。特把如何在Visual Studio 2008下配置汇编编辑环境分享给大家。
Visual Studio自带的模板是没有写ASM文件的,因此我们需要换一种方法创建项目。具体做法是,在新建项目对话框中,选择创建一个VC++的空项目。将其命名为我们想要的名称。
之后,需要在新建的工程中选择添加一个源文件,由于模板中没有*.asm文件,因此,你可以随便添一个文件,比如Test.cpp。然后将其重命名为Test.asm。这样,你就可以在打开这个文件进行编辑了。但是如果你想不仅仅是编辑,还想直接在VS 2008中调试运行这个程序,还需要做一些项目属性的更改。
首先在解决方案资源管理器中,右键单击项目,在弹出菜单中选择“自定义生成规则”。
在弹出的对话框中,勾选“Microsoft Macro Assembler"一项,如图:
此外,还要继续作一些设置。我学汇编时用的书是Irvine编的《Intel汇编语言程序设计》,书中提供的每个例程都需要包含作者提供的Irvine32.inc文件。以此为例说明:
在解决方案资源管理器中,右键单击项目,在弹出菜单中选择“属性”。
首先,在“配置属性-Microsoft Macro Assember-General”中,将Include Paths改为你的库文件所在的文件夹,如下图所示(我的库文件在C:Masm615INCLUDE)目录下:
然后,在“配置属性-链接器-输入”中,将附加依赖项改为Irvine32.lib的绝对路径。
最后一步,因为书中的例程都是在Win Console下的,故在“配置属性-链接器-系统”中将子系统设为控制台。
完成了以上的配置之后,就可以在Visual Studio 2008的环境下,编辑,调度,运行汇编程序了。不过比较遗憾的是,好像Visual Studio没有对*.asm文件的语法检查功能。