实验1 建立windows环境下32位汇编语言开发环境

  • 格式:doc
  • 大小:31.00 KB
  • 文档页数:2

实验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调试程序,查看各变量。