原文地址:Getting Started with MASM ,在翻译过程中,我省略了一些无关紧要的内容.而且有些句子我没按原文翻译,而是根据我的理解翻译的.下面是译文
如果你最近购买了《Intel汇编语言程序设计》第五版,你可能想安装相关的软件以便开始学习,这个教程将告诉你如何做。
下载 Microsoft Express Edition
请在安装的过程中记录C++编译器的安装位置,稍后这个信息将被用到。
你可以通过在Visaul Studio安装目录下的/vc/bin文件夹下寻找ml.exe来验证MASM是否被成功安装,
例如:c:/Program Files/Microsoft Visual Studio 9.0/vc/bin
下载并安装Microsoft Assembler 8.0: 访问MASM 8.0下载站点 .请按照微软页面上的提示进行下载与安装。注意:这个版本的MASM仅适用于visual c++ 2005速成版。
点击此链接 下载最新的链接库与例子。下载得到的是一个自解压文件,默认的解压位置为c:/Irvine ,除非你有什么特殊的用途,请不要修改路径。如果你准备修改安装路径,请阅读修改工程属性s .
下列文件将会被拷贝至c:/Irvine directory下:
Filename |
Description |
GraphWin.inc |
Include file for writing Windows applications |
Irvine16.inc |
Include file used with the Irvine16 link library (16-bit applications) |
Irvine16.lib |
16-bit link function library used with this book |
Irvine32.inc |
Include file used with the Irvine32 link library (32-bit applications) |
Link16.exe | 16-bit linker |
Irvine32.lib |
32-bit link function library used with this book |
Macros.inc |
Include file containing macros (explained in Chapter 10) |
SmallWin.inc |
Small-sized include file, used by Irvine32.inc |
make16.bat | Batch file for building 16-bit applications |
VirtualKeys.inc |
Keyboard code definitions file, used by Irvine32.inc |
在 Examples 子目录下包含了书中所有的例子。
启动Visual C++速成版,在Tools 菜单下选择Options 。依次选择 Text Editor , All Languages , Tabs :
将Tab大小设置成5。
在Visual Studio和Visual C++ Express中,一个汇编源文件必须被放置在一个叫工程的容器中。一个工程 包含了相关的配置信息,如:汇编器、连接器的位置及必要的库。一个工程有属于自己的文件夹,相关的文件被放置其中。我们已经在c:/Irvine/Examples 下创建了一个示例工程,名字叫Project_Sample 。
按顺序执行下列步骤:
在编辑窗口中,你应该看到如下程序:
TITLE MASM Template (main.asm) ; Description: ; ; Revision date: INCLUDE Irvine32.inc .data myMessage BYTE "MASM program example",0dh,0ah,0 .code main PROC call Clrscr mov edx,OFFSET myMessage call WriteString exit main ENDP END main |
编译并链接例子程序:
在屏幕底部的输出窗口中,你会看到和下面类似的信息:
1>------ Build started: Project: Project, Configuration: Debug Win32 ------ 1>Assembling... 1>Assembling: ./main.asm 1>Linking... 1>Embedding manifest... 1>Build log was saved at "file://g:/masm/Project_sample/Debug/BuildLog.htm" 1>Project - 0 error(s), 0 warning(s) ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== |
在Debug菜单下选择Start without Debugging ,应该会出现类似控制台窗口。
"Press any key to continue..."是Visual C++ Express自动生成的。
恭喜你,你已经运行了你的第一个汇编语言程序。
按任意键关闭窗口。
当你编译并链接这个project,在工程的Debug目录下会生成一个名叫Project.exe的文件,它在你运行工程时被执行。如果你双击执行此程序,它仅仅会一闪即逝,因为在程序运行完毕之后,命令行被自动关闭了。 |
你可能想创建一个属于自己的工程,最简单的方法是复制 c:/Irvine/Examples/Project_Sample 整个目录内容到一个新的位置。请确认在新的目录下你有读写的权限。
在这一步中,你将会在程序中设置断点,使用Visual C++的调试器单步跟踪程序的执行。
如果你想查看寄存器的状态,执行下列操作:开始调试程序,在Debug菜单下选择Windows,在下拉菜单中选择Registers。在窗口的底部将会显示寄存器的内容。在窗口上右击,勾选Flags,这样将会显示标志寄存器的内容.
你可以通过在Debug菜单下选择Stop Debugging在任意时刻终止调试,也可以通过在工具栏上点击蓝色的方形按钮达到相同的目的。
如果在程序中设置了断点,那么程序会在运行到断点处暂停并进入单步跟踪模式。
你可以通过在红色圆点上点击来移除断点。
如果你想运行其它示例程序或者你自己的程序。你可以编辑main.asm,或者移除main.asm然后插入其它.asm文件到工程中。
最简单的方法是用鼠标拖拽一个汇编语言源文件名到Solution Explorer窗口中,这样一个文件的引用就会被插入到工程的目录中。现在就尝试一下:
你应该会在控制台窗口看到如下类似内容:
如果你想拷贝一份源文件到工程中,请使用资源管理器拷贝文件至工程目录下,然后在Solution Explorer窗口中点击右键选择Add-->Existing Item,选择拷贝生成的文件。