您的位置:首页 > 其它

VS2010汇编环境搭配

2013-11-07 10:12 337 查看
用Visual Studio.net 2010构建MASM编程环境并不复杂,这里将关键步骤总结一下,方便学习。如需进一步学习,可以参阅《Inetl汇编语言程序设计》一书的作者Kip
R. Irvine的文章Getting
Started with MASM 。



1. 构建空的解决方案

我的习惯是将每一章中的所有例子放置在同一个解决方案中。比如《Inetl汇编语言程序设计》(第5版)第三章《汇编语言基础》,我就构建一个basic的解决方案。

在File菜单中点击New->Project,弹出New Project对话框,选择Other Project Types->Visual Studio Solutions,选中右侧的Blank Solution项,在下方输入解决方案的名称,设置适当的路径,点击OK。





2. 添加空的Visual C++工程

在Solution Explorer窗口中右键单击解决方案,选择Add->New Project。






在New Project对话框中,选则Visual C++,在右侧选中Empty Project,在下方输入项目名称。





3. 定制Visual C++工程的构建规则

这一步非常重要,必须在添加源文件之前设置,否则在后续的项目属性设置对话框中将看不到MASM的设置选项。

在Solution Explorer窗口中右键单击Visual C++项目,选择Build Customizations…项,弹出Visual C++ Build Customization FIles对话框,勾选masm项,点击OK。







4. 添加源文件

在Solution Explorer窗口中右键单击Source Files,选择Add->New
Item项,打开Add New Item对话框。





在Add New Item对话框中,选中C++ Files(.cpp),在下方输入源文件名称,使用.asm后缀。如addsub.asm。





5. 设置Visual C++工程的项目属性

在菜单Project中选择addsub Properties…,弹出addsub Property Pages对话框。



1)设置库路径

选择Configuration Property->Linker->General,在右侧Additonal Library Directories栏中输入库路径。如果正在学习《Inetl汇编语言程序设计》中的示例,则输入示例的安装路径,如d:/Irvine。





(2)设置包含路径

选择Configuration Property->Microsoft Macro Assembler->General,在右侧Include Paths栏中输入包含路径。如果正在学习《Inetl汇编语言程序设计》中的示例,则输入示例的安装路径,如d:/Irvine。





(3)设置依赖库文件

选择Configuration Property->Linker->Input,在右侧Additonal Dependencies栏中,在%(AdditionalDependencies)之前插入irvine32.lib。注意,用分号分隔各项。





(4)设置项目输出

选择Configuration Property->Linker->System,在右侧SubSystem栏中选择Console (/SUBSYSTEM:CONSOLE),是项目输出到命令行窗口。





(5)设置生成汇编代码列表

选择Configuration Property->Microsoft Macro Assembler->Listing File,在右侧Assembled Code Listing File栏中输入$(ProjectName).lst,使项目在生成过程中产生汇编代码列表。





6.添加其它工程

重复步骤2,可以在解决方案中添加多个Visual C++工程。



7.设置启动项目

在Solution Explorer窗口中右键单击工程名称,选择Set as StartUp Project项,使该项目成为解决方案中的当前项目,即启动项目。



PS:笔者使用的是中文版的VS2010,第一个工程建立的就是C++的空项目,至于各种库则是在http://kipirvine.com/asm/examples/index.htm这里下载的,

实验代码是

Title Add and Subtract second Title进行的是行注释



include Irvine32.inc

.386 ;指出了该程序要求的最低CPU(Intel386)

.model flat,stdcall ;指示汇编器为保护模式程序生成代码,Stdcall允许调用MS-Windows函数

.stack 4096



.code

main PROC

mov eax,10000h

add eax,40000h

sub eax,20000h

call DumpRegs

invoke ExitProcess,0 ; 通过调用ExitProcess来结束程序

main ENDP

end main ;告诉编译器这是程序入口点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: