如何用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:\Masm615\INCLUDE)目录下:

然后,在“配置属性-链接器-输入”中,将附加依赖项改为Irvine32.lib的绝对路径。

最后一步,因为书中的例程都是在Win Console下的,故在“配置属性-链接器-系统”中将子系统设为控制台。

完成了以上的配置之后,就可以在Visual Studio 2008的环境下,编辑,调度,运行汇编程序了。不过比较遗憾的是,好像Visual Studio没有对*.asm文件的语法检查功能。

如何用Visual Studio 2008 写汇编程序?的更多相关文章

  1. Visual Studio 2008常见问题

    1.asp.net在什么软件上运行?学习asp往往需要测试asp程序,电脑不能直接测试,需要装IIS才能运行,但装IIS要么需要安装盘,要么需要安装包,而且设置也很复搜索杂.这里给大学推荐两个替代II ...

  2. 【转】Visual Studio 2008 可扩展性开发(二):Macro和Add-In初探

    前言 在VS概览中,我们简单回顾了一下VS的历史.本文将通过两个简单的例子来说明Macro和Add-In的开发.通过Macro我们把VS中的一些重复操作录制下来,之后可以多次运行,节省时间并保持好的心 ...

  3. Visual Studio 2008破解激活升级方法

    声明:本文中涉及到的序列号及更新方法均来自互联网,请支持正版. 微软为业余爱好者.热衷者和学生提供了免费版——Express Edition (轻型.易学.易用的开发工具). 如不想支付任何费用,建议 ...

  4. VISUAL STUDIO 2008 WINDOWS FORM项目发布生成安装包详解(转)

    转自:http://www.cnblogs.com/killerofyang/archive/2012/05/31/2529193.html Visual Studio 2008 Windows Fo ...

  5. Visual Studio 2008中FormatX源代码格式化插件

    原地址:http://www.cr173.com/html/15492_1.html 我总是对组里的兄弟代码规范性近乎完美的要求,举个简单的例子: 1.  每个方法必须有注释,方法参数详细说明 2.  ...

  6. 如何用Visual Studio 2013 (vs2013)编写C语言程序

    如何用Visual Studio 2013 (vs2013)编写C语言程序 (2014-05-16 10:58:15)   Visual Studio 2013是一个很强大的软件,但是刚开始用Visu ...

  7. 关于在Visual Studio 2008/2010 和Opencv平台下出现LINK : fatal error

    http://blog.sina.com.cn/s/blog_9015f3230101bbef.html 关于在Visual Studio 2008/2010 和Opencv平台下出现LINK : f ...

  8. 本周ASP.NET英文技术文章推荐[02/03 - 02/16]:MVC、Visual Studio 2008、安全性、性能、LINQ to JavaScript、jQuery...

    摘要 继续坚持,继续推荐.本期共有9篇文章: 最新的ASP.NET MVC框架开发计划 Visual Studio 2008 Web开发相关的Hotfix发布 ASP.NET安全性教程系列 ASP.N ...

  9. [vs2008]Visual Studio 2008 SP1添加或删除功能提示查找SQLSysClrTypes.msi文件

    前言 今天接到领导布置的一个任务,是之前同事负责的项目.离职了,现在客户有些地方需要修改,由于我之前参与过,就落在我的头上了. 然后我就把代码弄了过来,打开发现其中需要用到水晶报表.(我觉得不好用,不 ...

随机推荐

  1. filter 和 struts 拦截器的区别

    观点1: 比较一,filter基于回调函数,我们需要实现的filter接口中doFilter方法就是回调函数,而interceptor则基于java本身的反射机制,这是两者最本质的区别. 比较二,fi ...

  2. Delphi 内存分配 StrAlloc New(转)

    源:Delphi 内存分配 StrAlloc New 引自:http://anony3721.blog.163.com/blog/static/5119742010824934164/   给字符指针 ...

  3. My97DatePicker显示时间控件的使用方法

    1.下载My97DatePicker到项目的WebContent文件夹,下载地址http://www.my97.net/dp/down.asp,项目文件夹目录如图所示 2.页面调用 在这里我的路径出现 ...

  4. UVa 594 - One Little, Two Little, Three Little Endians

    题目大意:大小端模式的转换.所谓的小端模式,是指数据的高位保存在内存的高地址中,而数据的低位保存在内存的低地址中.与此相对,所谓的大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内 ...

  5. JDK8新特性面试

    java8:http://ifeve.com/java-8-features-tutorial/ 一.Lambda表达式和函数式接口 Lambda表达式(也叫做闭包) 它允许我们将一个函数当作方法的参 ...

  6. VC创建多级目录

    BOOL ForceCreateDirectory(string strDir)  {    BOOL bRet = FALSE;    //确保以"\"结尾,以创建最后一个目录  ...

  7. 【Xilinx-VDMA模块学习】-01- VDMA IP的GUI配置介绍

    使用的是Vivado 2015.4,XC7Z020, AXI Video Direct Memory Acess(6.2). 在我的系统中,GUI配置图片如下:(其实和默认配置没有太大区别) 下面介绍 ...

  8. Mysql表锁、行锁、页锁

    参考 http://www.jb51.net/article/50047.htm <MySQL行级锁.表级锁.页级锁详细介绍> 页级:引擎 BDB.表级:引擎 MyISAM , 理解为锁住 ...

  9. php AES 加密类

    <?php class CryptAES { protected $cipher = MCRYPT_RIJNDAEL_128; protected $mode = MCRYPT_MODE_ECB ...

  10. Bmob 之 简单使用

    1. pod pod 'BmobSDK' 与 pod "BmobSDK" 好像没什么区别 2. 导入 在AppDelegate中: #import <BmobSDK/Bmob ...