资源描述:
《总结上机调试程序的过程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划总结上机调试程序的过程 南昌理工学院实验报告 二O一二年月日 课程名称:微机原理与接口技术实验名称:调试程序DEBUG的使用班级:姓名:同组人: 指导教师评定:签名: 【一、实验名称】 调试程序DEBUG的使用 【二、实验目的】 1.掌握汇编程序的编辑,编译,连接和执行的全过程; 2.学习和掌握用DEBUG调试程序的方法。 【三、实验内容和原理】 1.用编辑软件,输入以下汇编语言源程序: DATSEGMENTMO
2、VAL,B MOVZ+1,ALADB20;(自定) CALLSUB1BDB15;(自定) YDB3DUP(0)ADDWORDPTRY,AXZDB0,0ADCBYTEPTR[Y+2],0DATENDSRET STASEGMENTSTACKSTARENDP DW50DUP(?)SUB1PROC目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 STAEN
3、DSMOVAL,Z CODSEGMENTMOVAH,Z+1 ASSUMECS:COD,DS:DATMULAH STARPROCFARADDWORD(来自:写论文网:总结上机调试程序的过程)PTRY,AXPUSHDSADCBYTEPTR[Y+2],0XORAX,AXRET PUSHAXSUB1ENDP MOVAX,DATCODENDS MOVDS,AXENDSTAR MOVAX,STA MOVSS,AX MOVAL,A MOVZ,AL MOVZ+1,AL CALLSUB1 MOVAL,B MOVZ,AL MOVZ+1,
4、AL CALLSUB1 MOVAL,A MOVZ,AL 2.通过编译,连接形成可执行文件; 3.用DEBUG将可执行文件调入,并进行调试;目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 (1)用D命令观察数据区在内存中的具体内容,记录单元A和B的具体地址; (2)用U命令对目标代码反汇编,观察反汇编后的结果.注意发现源程序的起始位置,并记录这个
5、起始地址; (3)用T命令作单步跟踪调试.比较每条指令执行后的结果和原来的理解是否一致.得出程序运行的结果:它们是写在什么单元,具体内容是什么,并判断结果是否正确; (4)在子程序SUB1的入口处设一断点,用G命令执行程序,在断点处观察堆栈的内容,比较堆栈的内容和程序返回地址是否一致; (5)用E命令修改单元A,B的内容,重新执行程序,并记录结果; (6)用M命令和A命令对程序进行修改:将主程序中最后两条指令(ADD和ADC)修改为一条CALLSUB1指令,重新执行程序; (7)退出DEBUG; 4.重新使用编辑软件,把源程序最后一句
6、中的STAR去掉.再次生成可执行文件,并用DEBUG调入内存.当使用U命令时,显示的结果与前一次(未加STAR)的结果有何不同? 【四、实验条件】 微型计算机一台,软件MASM 【五、实验过程】目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 根据实验内容,按步骤完成。 【六、实验结果】 U命令对目标代码反汇编,注意发现源程序的起始位置,并记录这个
7、起始地址。答:源程序起始地址:1512:0000H。 (2)D命令观察数据区在内存中的具体内容,记录单元A和B的具体地址。 答:150A:0000H是A的具体地址,150A:0001H是B的具体地址。 (3)T命令作单步跟踪调试.比较每条指令执行后的结果和原来的理解是否一致。得出程序运行的结果:它们是写在什么单元,具体内容是什么,并判断结果是否正确。 答:由于单步调试的结果较多,在这里仅说几项以示情况。 ①PUSHAX后观察得到IP值自加2。 ②MOVDS,AX后DS的值由14FAH变成150AH。 ③Z的偏移地址为0005H,而寻
8、址Z中的内容成为[0005H]。 所以结果一致正确。 (4)在子程序SUB1的入口处设一断点,用G命令执行程序,在断点处观察堆栈的内