欢迎来到天天文库
浏览记录
ID:46001787
大小:79.50 KB
页数:3页
时间:2019-11-20
《试验一--汇编语言环境的熟悉及Debug的使用上机指导》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验一汇编语言环境的熟悉及Debug的使用(4学时)实验类别:基本实验实验目的:熟悉汇编语言系统环境,利用Debugger调试工具来调试汇编语言程序。实验内容:熟悉汇编语言系统环境,通过单的程序的调试,掌握MASM,LINK,Debugger的使用。实验步骤:1.将MASM文件夹复制到D:盘根目录下。2.开始一一〉所有程序一一〉附件一一〉命令提示符3.C:DocumentsandSettingsuser>D:D:>CDMASMD:MASM>EDITEXAM.ASM(D:MASM>为盘符和路径,EDIT为编辑环境.)进入了Edit编辑环境。输入代码:
2、DATASEGMENTHELLODB'HELLOWORLD!$,DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETHELLOMOVAH,9INT21HMOVAH,4CHINT21HCODEENDSENDSTART保存退出(也可以用文本等编辑软件编辑一个后缀为.ASM的汇编语言源文件)5。对源文件进行汇编:输入:D:MASM>MASMEXAM・ASM输入3个回车如果有错误回到EDIT里打开此文件,修改并重新汇编,直到没有错误。6。对目标文件进行连接:输入:D
3、:MASM>LINKEXAM・OBJ如果有错误回到EDIT里打开此文件,修改并重新汇编和连接,直到没有错误。7o运行程序:D:MASM>EXAM.EXE如果看到屏幕上输thHELLOWORLD!,那么你的程序是正确的,否则回到EDIT里打开此文件,修改并垂新汇编、连接和执行,直到输出HELLOWORLD!o8。调试程序学会使用D、T、U等命令。D:MASM>DEBUGEXAM.EXE-U你应该看到从START开始到结束的所有程序代码,看不到的就是伪代码。(理解一下伪代码的概念吧)-T看看各个寄存器的值-T看看各个寄存器的值,有什么变化?-T有什么变化?
4、-DDS:0000你将会看到HELLOWORLD!$的ASCII码值。-G•Q9.思考一下如果在在HELLO变量前添加一个变量dataldb22,那么HELLO在数据段的偏移是多少?在程序里执行过程中是可以看岀来的,怎么看岀来呢?10.编写一程序,求出下列公式中的Z值,并存放在RESULT单元中。Z二(X+Y)*2注:Z值对不对呢?如何看出来的?参考:DatasegmentXdb22Ydb32Resultdb9•Dataends11.试编写一程序,要求从键盘输入一个小写字母,变成大写输出到显示器。一定要有输入和输出功能奥!!12.现有一数组,请同学们将这5个
5、数的和放到sum单元:DatasegmentBufferdb22,1,4,5,6Sumdb?Dataends并请验证SUM的正确与否。实验报告要求写明本次实验内容和实验步骤。按实验任务的要求,整理出运行正确运行结果,并进行分析。对本次实验作一个简短的小节。常用的DEBUG命令:1、显示内存单元内容的命令D・D[地址]显示从指定单元开始的80H个单元的内容。■D[始地址][末地址]显示指定范围的内容。2、检查和修改寄存器内容的命令R-R显示CPU内部所有寄存器的内容和全部标志位状态。■R[寄存器名]检查和修改指定寄存器内容。3、运行命令G-G从当前CS:1P开
6、始一直执行下去,直到INT3指令为止。4^跟踪命令T-T[二地址]单步跟踪指令,执行时逐条跟踪,从指定地址开始执行一条指令后停下来,显示所有寄存器的内容及标志位的值。如未指定则从当前CS:IP开始执行。■T[二地址]
7、N
8、多条跟踪,从指定地址开始5、反汇编命令U■U[起始地址]从指定地址开始,反汇编32个字节。若没有指定地址,则以上一个U命令的最后一条指令的下一个单元为起始地址。若未使用过U命令,则从CS:0100H开始。■U[起始地址][结束地址]对指定范围内的存储单元进行反汇编。5、退出DEBUG命令Q-Q退出DEBUG,返回DOS
此文档下载收益归作者所有