VS2010汇编环境搭配

  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  ;告诉编译器这是程序入口点


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值