注:目前开通个人网站朝思录,之后的博文将在上面更新,CSDN博客会滞后一点
该文是针对《汇编语言 基于x86处理器》(机械工业出版社)而写的,该书为译版,原版为《Assembly Language for x86 Processors》第七版,著者Kip Irvine
所有内容基于以下网址:
Getting Started with MASM and Visual Studio 2013
该文的配置方式主要针对那些学习x86而不想把其他时间浪费在配置环境上的人群,故欲使用x86开发软件的人群请绕道
使用vs编译x86汇编语言无需安装MASM,因为所有的vs版本都集成了MASM12.0(All versions of Visual Studio include the Microsoft Assembler (MASM) version 12.0.)。其安装目录(C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin)都会有一个ml.exe,这是MASM汇编器和链接器,如果没有找到的话,在重装vs之前请绕道
——————————————正文——————————————
1、去往Link Libraries and Example Programs下载文件,我下的是 Example programs and link library source code for the Seventh Edition
2、下载的文件应该是一个.msi文件,点击安装。它会把书中的例子和库默认安装到C:/Irvine/目录下。这个目录是可以更改的,但是建议不要改,因为里面的配置文件是针对这个目录的,改动之后需要修改会很麻烦。注意确保你的目录是可读可写的
若需要改动的话,参考Creating a Project From Scratch
3、设定“开始执行(不调试)”(Start Without Debugging command)
设定这个的目的是:使得汇编程序执行不需要经过调试阶段
(1)、进入“工具”->“自定义”
(2)、选择 “命令”选项卡,并单击“添加命令”
(3)、在添加“添加命令”对话框里找到“调试”类别,并在右侧命令栏中找到“开始调试(不执行)”,最后单击确定按钮
(4)、最后关闭“自定义”对话框
4、配置C++开发环境
这一步的目的我还不是很清楚,不过选定之后发现界面变成了VC++的布局方式(UI没有变化),或许只是配置一下环境布局,去掉一些用不到的Tab,对于编程应该是没有影响的。
(1)、进入“工具”->“导入和导出设置”
(2)、选择“导入选定的环境设置”
(3)、选择“否”
(4)、点击“visual C++”,然后进入下一步
(5)、直接点“完成”
5、接下来就可以打开作者提供的文件。打开 C:\Irvine\Examples\Project32(注意该目录一定是可读可写的)下的Project.sln即可
双击该文件或者在VS中打开该文件都可以
有可能弹出以下对话框,点“确定”即可
最终打开的界面:
6、现在就可以编写自己的x86汇编程序了(我做到这里还是蛮期待的)。
(1)右击“解决方案资源管理器中的”Project,选择“添加”->“新建项”
(2)在弹出的以下对话框里输入你的文件名和文件路径,注意事项如图所示
我添加的是test.asm,然后存在了D:\
VS是允许项目文件和源文件不在同一个目录下的,这很方便源代码的管理
(3)于是可以看到项目里添加的test.asm。如果不玩多文件编译的话,项目里只能包含一个源文件,这时把项目里自己带的short_exercises.asm移除。这时右击该文件,选“移除”,如下图所示:
注意“移除”命令只是将源文件从该项目中排除出来,但并不在磁盘上删除该文件。(记住这一点,下面会提及)
(4)这时就可以在Test.asm写入自己的代码了!
以我参考的书:《汇编语言 基于x86处理器》的第一个程序AddTwo为例:
.386
.model flat,stdcall
.stack 4096
ExitProcess PROTO,dwExitCode:DWORD
.data
sum DWORD 0
.code
main PROC
mov eax,5
add eax,6
mov sum,eax
INVOKE ExitProcess,0
main ENDP
END main
这个程序做了一次加法运算,并将结果保存到内存中。不过在当前并没有语法高亮,暂且忍一忍吧
然后点击“调试”->“开始运行(不调试)”即可
一般而言是会成功的。不过笔者第一次的时候编译失败了,并没有找到原因,后来重启一次VS就可以了。之后再其他人电脑上尝试都是可以的。
2016.12.15补充
若出现因为语法检查而产生的红色波浪线(毕竟不是很好看)
则进入“工具”->“选项”,在左侧栏中找到“文本编辑器”(展开)->“C/C++”(展开)->“高级”,把左侧的“禁用波形曲线”的布尔值改成“True”即可。
至于语法高亮,还有其他一些我想补充说明的之后更新
重申一次
所有内容基于以下网址:
Getting Started with MASM and Visual Studio 2013
语法高亮,或者改变C:/Irvine/的安装目录而配置VS的方法都在里面。虽然是英文,就当做阅读理解吧。编程路上不止这一个坎。