实验1 建立windows环境下32位汇编语言开发环境
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1 建立windows环境下32位汇编语言开发环境
实验目的:建立windows环境下32位汇编语言开发环境,并熟悉它的使用方法。
实验要求:(1)建立windows环境下32位汇编语言开发环境;
(2)熟悉自己建立的开发环境的使用方法;
(3)熟悉调试工具的使用
实验内容:(1)定制masm32集成开发环境,使之符合教学要求。
(2)分别建立汇编,连接,和汇编&连接批处理命令,能够生成包含调试信息的目标文件,列表文件,以及能够进行调试的可执行WIN32控制台程序。
(3)建立16位和32位汇编语言框架程序。
(4)在自己建立的开发环境下汇编,连接,运行教材中的例3-1和例3-2。
(5)练习使用WinDbg调试工具,运行教材中的例3-5。
实验步骤:
1、安装开发环境
运行《32位汇编语言程序设计》教材配套开发环境软件“开发工具.exe”,将MASM32安装在根目录下(例如:c:\masm32)。
接着运行Exmasm32.exe,将其它软件安装在masm32的目录下(例如:c:\masm32)。
建立masm32文件夹中的qEditor.exe和Windbg.exe桌面快捷方式。
2、定制开发环境
修改文件msm32\bin\buildc.bat中的内容,使得执行Project\Console Assemble & Link后能够汇编连接可调试的32位控制台应用程序,同时生成列表文件。
汇编命令改为:
\masm32\bin\ml /c /coff /Fl /Zi “%1.asm”
连接命令改为:
\masm32\bin\link /debug “%1.obj”
3、建立汇编连接16位应用程序的批处理文件make16.bat
建立汇编连接16位应用程序的批处理文件make16.bat,可以用于汇编连接可调试的实模式应用程序,同时生成列表文件。
make16.bat的主要内容:
\masm32\bin\ml /c /Fl /Zi "%1.asm"
\masm32\bin\Link16 /debug "%1.obj"
4、建立适合在定制开发环境下使用的32位应用程序框架
.386 ;必须是第一条非注释语句,说明这是一个32位应用程序
.model flat, stdcall ;定义程序的存储模式(32位应用程序中必须采用flat)
include \masm32\include\io32.inc ;可选,如果在程序中使用作者自定义的宏命
令需要这一句
.stack 4096 ;定义堆栈段
.data ;定义数据段
……;数据定义
.code ;定义代码段
start: ;程序起始点
……;程序代码
ret ;程序结束点,返回WINDOWS
……;子程序代码
end start ;汇编结束
5、建立适合在定制开发环境下使用的32位应用程序框架
.model small ;定义程序的存储模式(一般采用small)
.386 ;可选,如果有该语句,可以使用386指令集
include \masm32\include\io16.inc ;可选,如果在程序中使用作者自定义的宏命
令需要这一句
.stack ;定义堆栈段
.data ;定义数据段
……;数据定义
.code ;定义代码段
.startup: ;程序起始点
……;程序代码
.exit 0 ;程序结束点,返回DOS
……;子程序代码
end ;汇编结束
在自己建立的开发环境下汇编,连接,运行教材中的例3-1和例3-2。
6、运行教材中的例3-5,使用WinDbg调试程序,查看各变量。