资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划debug的使用实验报告南昌理工学院实验报告二O一二年月日课程名称:微机原理与接口技术实验名称:调试程序DEBUG的使用班级:姓名:同组人:指导教师评定:签名:【一、实验名称】调试程序DEBUG的使用【二、实验目的】1.掌握汇编程序的编辑,编译,连接和执行的全过程;2.学习和掌握用DEBUG调试程序的方法。【三、实验内容和原理】1.用编辑软件,输入以下汇编语言源程序:DATSEGMENTMOVAL,BMOVZ+1,ALADB20;(自定)CALLSUB1BDB15;(自定)YDB3DUP(0)ADDWORDPTRY,AXZDB0,0ADCBYTEPTRY+2,0DATENDSRETSTASEGMENTSTACKSTARENDPDW50DUP(?)SUB1PROCSTAENDSMOVAL,ZCODSEGMENTMOVAH,Z+1ASSUMECS:COD,DS:DATMULAHSTARPROCFARADDWORDPTRY,AXPUSHDSADCBYTEPTRY+2,0XORAX,AXRETPUSHAXSUB1ENDPMOVAX,DATCODENDSMOVDS,AXENDSTARMOVAX,STAMOVSS,AXMOVAL,AMOVZ,ALMOVZ+1,ALCALLSUB1MOVAL,BMOVZ,ALMOVZ+1,ALCALLSUB1MOVAL,AMOVZ,AL2.通过编译,连接形成可执行文件;3.用DEBUG将可执行文件调入,并进行调试;(1)用D命令观察数据区在内存中的具体内容,记录单元A和B的具体地址;(2)用U命令对目标代码反汇编,观察反汇编后的结果.注意发现源程序的起始位置,并记录这个起始地址;(3)用T命令作单步跟踪调试.比较每条指令执行后的结果和原来的理解是否一致.得出程序运行的结果:它们是写在什么单元,具体内容是什么,并判断结果是否正确;(4)在子程序SUB1的入口处设一断点,用G命令执行程序,在断点处观察堆栈的内容,比较堆栈的内容和程序返回地址是否一致;(5)用E命令修改单元A,B的内容,重新执行程序,并记录结果;(6)用M命令和A命令对程序进行修改:将主程序中最后两条指令(ADD和ADC)修改为一条CALLSUB1指令,重新执行程序;(7)退出DEBUG;4.重新使用编辑软件,把源程序最后一句中的STAR去掉.再次生成可执行文件,并用DEBUG调入内存.当使用U命令时,显示的结果与前一次(未加STAR)的结果有何不同?【四、实验条件】微型计算机一台,软件MASM【五、实验过程】根据实验内容,按步骤完成。【六、实验结果】U命令对目标代码反汇编,注意发现源程序的起始位置,并记录这个起始地址。答:源程序起始地址:1512:0000H。(2)D命令观察数据区在内存中的具体内容,记录单元A和B的具体地址。答:150A:0000H是A的具体地址,150A:0001H是B的具体地址。(3)T命令作单步跟踪调试.比较每条指令执行后的结果和原来的理解是否一致。得出程序运行的结果:它们是写在什么单元,具体内容是什么,并判断结果是否正确。答:由于单步调试的结果较多,在这里仅说几项以示情况。PUSHAX后观察得到IP值自加2。MOVDS,AX后DS的值由14FAH变成150AH。Z的偏移地址为0005H,而寻址Z中的内容成为0005H。所以结果一致正确。(4)在子程序SUB1的入口处设一断点,用G命令执行程序,在断点处观察堆栈的内容,比较堆栈的内容和程序返回地址是否一致。答:SS=150BH,IP=0017H,和程序返回地址一致。(5)重新使用编辑软件,把源程序最后一句中的STAR去掉.再次生成可执行文件,并用DEBUG调入内存.当使用U命令时,显示的结果与前一次(未加STAR)的结果有何不同?答:整个代码段仅有一条指令,ADDBX+SI,AL。由于把源程序最后一句中的STAR去掉,那么程序就不一定是从STAR开始,会造成程序混乱。【七、实验结果分析、讨论】掌握了汇编程序的编辑、编译、连接和执行的全过程,初步掌握了DEBUG的使用。【八、实验结论】初步掌握了汇编程序的编辑、编译、连接和执行的全过程,学习了用DEBUG调试程序的方法,了解了另一种程序语言的编写。感觉它比其他高级语言确实要复杂,但是能更一步体会计算机是如何操作的。DEBUG命令的使用一、实验目的1练习简单的DOS命令2学习使用DEBUG程序的常用命令。3了解8086内存地址空间分配二、实验任务1.用DIR命令查看当前工作目录的文件。2.用命令CD进入下一级子目录,用命令MD建立子目录。3.用命令CLS清屏。4.用R命令查看8086/8088CPU在开机后执行的第一条指令。实验步骤:5.用命令D查看DS:20022F和F000:20022F两内存块内容,用命令F将字符“A”分别填入这两个内存块,比较填入前后结果,了解可读写内存RAM和只读内存ROM的区别。实验步骤及实验现象:6.PC机主板上的ROM中写有一个生产日期,在内存FFF00HFFFFFH的某个单元中,请找到这个生产日期并试图改变它。实验步骤:三、实验报告1记录CPU在开机后执行的第一条指令。2说明可读写内存RAM和只读内存ROM的区别。3记录任务4、5、6的产生的现象,说明原因。4针对实验目的认真做小结。实验一DEBUG的应用班级学号姓名得分一、实验目的:1、熟悉汇编语言程序设计、编写、调试和运行程序的方法。2、熟悉DEBUG的功能,运行并掌握其常用命令。熟悉CPU内部的寄存器。二、实验内容:用汇编语言程序实现S=三、实验环境硬件环境:微型电子计算机一台软件环境:WindowsXX/XP操作系统编辑器、汇编程序、连接程序、调试程序、和文件位于D:asm文件位于D:asm四、实验步骤1.在编辑器EDIT中建立ASM源程序,命名为保存到目录D:asm源程序如下:DATASEGMENTADB23HBDB14HCDB43HDDB3DHSDW0DATAENDSSTACK1SEGMENTPARASTACKDW20HDUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AXMOVBL,AADDBL,BMOVAL,CSUBAL,DMULBLMOVS,AXHLTCODEENDSENDSTART2.用汇编程序MASM对源文件汇编产生目标文件OBJ命令为:masmdajiba如果编译成功会提示如下两条信息:0WaringErrors0SevereErrors3.用连接程序LINK产生执行文件EXE命令为:linkdajiba4.执行程序命令为:dajiba终端没有显示程序的运行结果5.用DEBUG调试程序Debug调试命令为:分别使用RUDG等命令,并写出每次运行结果。-RAX=0000BX=0000CX=006ADX=0000SP=0040BP=0000SI=0000DI=0000DS=13D0ES=13D0SS=13E1CS=13E5IP=0000NVUPEIPLNZNAPONC13E5:0000B8E013MOVAX,13E0-U13E5:ADDBX+SI,AL13E5:004XX0ADDBX+SI,AL13E5:ADDBX+SI,AL13E5:ADDBX+SI,AL13E5:ADDBX+SI,AL13E5:004A0000ADDBX+SI,AL13E5:004C0000ADDBX+SI,AL13E5:004E0000ADDBX+SI,AL13E5:ADDBX+SI,AL13E5:005XX0ADDBX+SI,AL13E5:ADDBX+SI,AL13E5:ADDBX+SI,AL13E5:ADDBX+SI,AL13E5:005A0000ADDBX+SI,AL13E5:005C0000ADDBX+SI,AL13E5:005E0000ADDBX+SI,AL-D13E5:000013E5:001013E5:002013E5:003013E5:004013E5:005013E5:006013E5:0070B8E0138ED88A1E00-00021E0100A00200.2AF6E3A304-00F00*.00000-00000.00000-00000.00000-00000.00000-00000.00000-00000.00000-00000.-GAX=014ABX=0037CX=006ADX=0000SP=0040BP=0000SI=0000DI=0000DS=13E0ES=13D0SS=13E1CS=13E5IP=0070NVUPEIPLNZNAPONC13E5:ADDBX+SI,ALDS:0037=6E-五、实验结果:AX=S=BX=目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号