如何用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. leetcode day5

    [242]Valid Anagram: Given two strings s and t, write a function to determine if t is an anagram of s ...

  2. Linux之文件备份与恢复

    文件备份与恢复 1.dump命令 dump命令用于备份ext2或者ext3文件系统.可将目录或整个文件系统备份至指定的设备,或备份成一个大文件. 语法 dump(选项)(参数) 选项 -0123456 ...

  3. javascript-变量-作用域

    1.var message;   ----这样定义的变量值为undefined 2.去掉var则为全局变量--message = “100”: 3.function fun(){ var messag ...

  4. 添加Pods依赖

    1. 添加所需文件 1.1. 添加 .podspec 文件 1.1.1.  创建 必须文件 使用命令 pod spec create name.podspec 或者直接拷贝一份 1.1.2.  添加内 ...

  5. Android应用性能优化方案

    1.避免创建不必要的对象 2.如果方法用不到成员变量,可以把方法声明为静态(static),这样性能会提高百分之十五到百分之二十 3.避免使用get/set存取字段,可以把字段声明为public直接访 ...

  6. Angular - - angular.identity和angular.noop

    angular.identity 函数返回本身的第一个参数.这个函数一般用于函数风格. 格式:angular.identity() 使用代码: (function () { angular.modul ...

  7. 位运算,算术、逻辑运算详解-java篇

    /** * 功能: * 位运算符,原码.反码.补码规则: * 1.二进制的最高位是符号位:0表示正数,1表示负数 * 2.正数的原码.反码.补码都一样 * 3.负数的反码=它的原码符号位不变,其他位取 ...

  8. HDU-1275-两车追及或相遇问题(数学题目)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1275 这题是一个数学题目,知道两个公式那就好办了: 对头相遇时:time*(v1+v2)=d*(2*i ...

  9. Unity基础学习-Unity概述

    Unity 概述 Unity是一个强大的引擎,里面包括大量的工具用来满足各种各样的需求.Unity的编辑器是直观的可定制的,让您在您的工作流中有较大的自由度. 本小节是开始学习Unity的关键部分.里 ...

  10. Callback Promise Generator Async-Await 和异常处理的演进

    根据笔者的项目经验,本文讲解了从函数回调,到 es7 规范的异常处理方式.异常处理的优雅性随着规范的进步越来越高,不要害怕使用 try catch,不能回避异常处理. 我们需要一个健全的架构捕获所有同 ...