欢迎来到天天文库
浏览记录
ID:6277900
大小:187.50 KB
页数:24页
时间:2018-01-08
《《32位汇编语言程序设计》上机指导》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《32位汇编语言程序设计》上机指导《32位汇编语言程序设计》上机指导1实验一建立windows环境下32位汇编语言开发环境2实验2指令格式与寻址方式4实验3数据操作编程5实验4分支和循环程序设计6实验5子程序设计8实验6输入输出程序设计9实验7:字符串操作10实验8:宏结构设计11实验9:混合编程12Windows环境下32位汇编语言开发环境的建立13调试程序Windbg19宏汇编命令ML和连接命令LINK常用参数速查22输入输出宏命令23实验1建立windows环境下32位汇编语言开发环境实验目的:建立windows环境下32位汇
2、编语言开发环境,并熟悉它的使用方法。实验要求:(1)建立windows环境下32位汇编语言开发环境;(2)熟悉自己建立的开发环境的使用方法;(3)熟悉调试工具的使用实验内容:(1)定制masm32集成开发环境,使之符合教学要求。(2)分别建立汇编,连接,和汇编&连接批处理命令,能够生成包含调试信息的目标文件,列表文件,以及能够进行调试的可执行WIN32控制台程序。(3)建立16位和32位汇编语言框架程序。(4)在自己建立的开发环境下汇编,连接,运行教材中的例3-1和例3-2。实验步骤:1、安装开发环境运行《32位汇编语言程序设计》教
3、材配套开发环境软件“开发工具.exe”,将MASM32安装在根目录下(例如:c:masm32)。接着运行Exmasm32.exe,将其它软件安装在masm32的目录下(例如:c:masm32)。建立masm32文件夹中的qEditor.exe和Windbg.exe桌面快捷方式。2、定制开发环境修改文件msm32binbuildc.bat中的内容,使得执行ProjectConsoleAssemble&Link后能够汇编连接可调试的32位控制台应用程序,同时生成列表文件。汇编命令改为:masm32binml/c/coff
4、/Fl/Zi“%1.asm”连接命令改为:masm32binlink/debug“%1.obj”1、建立汇编连接16位应用程序的批处理文件make16.bat建立汇编连接16位应用程序的批处理文件make16.bat,可以用于汇编连接可调试的实模式应用程序,同时生成列表文件。make16.bat的主要内容:masm32binml/c/Fl/Zi"%1.asm"masm32binLink16/debug"%1.obj"4、建立适合在定制开发环境下使用的32位应用程序框架.386;必须是第一条非注释语句,说明这是一个3
5、2位应用程序.modelflat,stdcall;定义程序的存储模式(32位应用程序中必须采用flat)includemasm32includeio32.inc;可选,如果在程序中使用作者自定义的宏命令需要这一句.stack4096;定义堆栈段.data;定义数据段……;数据定义.code;定义代码段start:;程序起始点……;程序代码ret;程序结束点,返回WINDOWS……;子程序代码endstart;汇编结束5、建立适合在定制开发环境下使用的32位应用程序框架.modelsmall,stdcall;定义程序的存储模式(
6、一般采用small).386;可选,如果有该语句,可以使用386指令集includemasm32includeio16.inc;可选,如果在程序中使用作者自定义的宏命令需要这一句.stack;定义堆栈段.data;定义数据段……;数据定义.code;定义代码段.startup:;程序起始点……;程序代码.exit0;程序结束点,返回DOS……;子程序代码end;汇编结束4、在自己建立的开发环境下汇编,连接,运行教材中的例3-1和例3-2。实验2指令格式与寻址方式实验目的:熟悉汇编语言指令格式,掌握常用数据定义伪指令,理解各种寻
7、址方式的应用。掌握调试工具Windbg.exe的使用。实验要求:(1)通过调试程序理解常用数据定义伪指令的作用。(2)通过调试程序理解各种寻址方式的应用。(3)熟练掌握调试工具Windbg的使用方法。实验内容:(1)上机汇编连接例3-4--例3-9,通过列表文件和windbg察看数据在内存中的分配情况。(2)上机汇编连接例4-1--例4-9,通过windbg察看机器码,并单步执行,观察每一条指令的执行结果。实验步骤:1、上机汇编连接例3-4(1)查看列表文件。根据列表文件画出数据段中数据的分配情况,同时标出const1和const2
8、的内存单元。(2)用Windbg调试例3-4。用memory窗口察看const1开始的29个字节空间的内容,并记录下来。(3)对比源程序中的数据定义,列表文件的数据分配和在Windbg中记录的数据,理解数据定义伪指令的作用。2、按照上
此文档下载收益归作者所有