如何用Visual Studio 2008 写汇编程序?
如何用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 写汇编程序?的更多相关文章
- Visual Studio 2008常见问题
1.asp.net在什么软件上运行?学习asp往往需要测试asp程序,电脑不能直接测试,需要装IIS才能运行,但装IIS要么需要安装盘,要么需要安装包,而且设置也很复搜索杂.这里给大学推荐两个替代II ...
- 【转】Visual Studio 2008 可扩展性开发(二):Macro和Add-In初探
前言 在VS概览中,我们简单回顾了一下VS的历史.本文将通过两个简单的例子来说明Macro和Add-In的开发.通过Macro我们把VS中的一些重复操作录制下来,之后可以多次运行,节省时间并保持好的心 ...
- Visual Studio 2008破解激活升级方法
声明:本文中涉及到的序列号及更新方法均来自互联网,请支持正版. 微软为业余爱好者.热衷者和学生提供了免费版——Express Edition (轻型.易学.易用的开发工具). 如不想支付任何费用,建议 ...
- VISUAL STUDIO 2008 WINDOWS FORM项目发布生成安装包详解(转)
转自:http://www.cnblogs.com/killerofyang/archive/2012/05/31/2529193.html Visual Studio 2008 Windows Fo ...
- Visual Studio 2008中FormatX源代码格式化插件
原地址:http://www.cr173.com/html/15492_1.html 我总是对组里的兄弟代码规范性近乎完美的要求,举个简单的例子: 1. 每个方法必须有注释,方法参数详细说明 2. ...
- 如何用Visual Studio 2013 (vs2013)编写C语言程序
如何用Visual Studio 2013 (vs2013)编写C语言程序 (2014-05-16 10:58:15) Visual Studio 2013是一个很强大的软件,但是刚开始用Visu ...
- 关于在Visual Studio 2008/2010 和Opencv平台下出现LINK : fatal error
http://blog.sina.com.cn/s/blog_9015f3230101bbef.html 关于在Visual Studio 2008/2010 和Opencv平台下出现LINK : f ...
- 本周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 ...
- [vs2008]Visual Studio 2008 SP1添加或删除功能提示查找SQLSysClrTypes.msi文件
前言 今天接到领导布置的一个任务,是之前同事负责的项目.离职了,现在客户有些地方需要修改,由于我之前参与过,就落在我的头上了. 然后我就把代码弄了过来,打开发现其中需要用到水晶报表.(我觉得不好用,不 ...
随机推荐
- leetcode day5
[242]Valid Anagram: Given two strings s and t, write a function to determine if t is an anagram of s ...
- Linux之文件备份与恢复
文件备份与恢复 1.dump命令 dump命令用于备份ext2或者ext3文件系统.可将目录或整个文件系统备份至指定的设备,或备份成一个大文件. 语法 dump(选项)(参数) 选项 -0123456 ...
- javascript-变量-作用域
1.var message; ----这样定义的变量值为undefined 2.去掉var则为全局变量--message = “100”: 3.function fun(){ var messag ...
- 添加Pods依赖
1. 添加所需文件 1.1. 添加 .podspec 文件 1.1.1. 创建 必须文件 使用命令 pod spec create name.podspec 或者直接拷贝一份 1.1.2. 添加内 ...
- Android应用性能优化方案
1.避免创建不必要的对象 2.如果方法用不到成员变量,可以把方法声明为静态(static),这样性能会提高百分之十五到百分之二十 3.避免使用get/set存取字段,可以把字段声明为public直接访 ...
- Angular - - angular.identity和angular.noop
angular.identity 函数返回本身的第一个参数.这个函数一般用于函数风格. 格式:angular.identity() 使用代码: (function () { angular.modul ...
- 位运算,算术、逻辑运算详解-java篇
/** * 功能: * 位运算符,原码.反码.补码规则: * 1.二进制的最高位是符号位:0表示正数,1表示负数 * 2.正数的原码.反码.补码都一样 * 3.负数的反码=它的原码符号位不变,其他位取 ...
- HDU-1275-两车追及或相遇问题(数学题目)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1275 这题是一个数学题目,知道两个公式那就好办了: 对头相遇时:time*(v1+v2)=d*(2*i ...
- Unity基础学习-Unity概述
Unity 概述 Unity是一个强大的引擎,里面包括大量的工具用来满足各种各样的需求.Unity的编辑器是直观的可定制的,让您在您的工作流中有较大的自由度. 本小节是开始学习Unity的关键部分.里 ...
- Callback Promise Generator Async-Await 和异常处理的演进
根据笔者的项目经验,本文讲解了从函数回调,到 es7 规范的异常处理方式.异常处理的优雅性随着规范的进步越来越高,不要害怕使用 try catch,不能回避异常处理. 我们需要一个健全的架构捕获所有同 ...