汇编实验二用DEBUG程序调试程序功能段.doc_第1页
汇编实验二用DEBUG程序调试程序功能段.doc_第2页
汇编实验二用DEBUG程序调试程序功能段.doc_第3页
汇编实验二用DEBUG程序调试程序功能段.doc_第4页
汇编实验二用DEBUG程序调试程序功能段.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实 验 报 告 学年 第 学期实 验 课 程汇编语言学 生 姓 名123实 验 项 目DEBUG调试程序的使用学 院计算机科学技术实 验 性 质专业选修课班 级 学 号实 验 地 点同 组 人 数1第 组实 验 日 期第 周 星期 第 节成 绩5环 境 参 数DOSBox-0.741、 实验目的及要求2、 实验原理、实验内容3、 实验仪器设备及材料4、 操作方法与实验步骤5、 实验数据记录及处理6、 实验结果分析及讨论一:1 继续学习使用DEBUG程序的各种命令。2 利用DEBUG学习了解计算机取指令、执行指令的工作过程。3 掌握8086/8088基本指令的使用方法和功能。二:实验任务1 按照下列给定步骤完成求累加和程序: 程序: MOVBX,1000 MOVCX,10 MOVAL,0 LOP: ADDAL,BX INCBX J:LOOPLOP INT3 步骤: 1) 用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。 2) 用命令N AA将此程序命名为文件AA(文件名可任取)。 3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址) ,用R命令把BX设为:0000H,CX 设为文件长度。4)用命令W 100将此程序存到AA命名的磁盘文件中。 5)用命令Q退出DEBUG。 6)用命令DEBUG AA再次调入DEBUG和文件AA,可用U命令检查调入程序。 若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入。 7)用E命令在内存地址1000H处键入16个数字 8)用命令G=100 J(J用实际地址代替),使程序运行并停在断点J上,检查 AX,BX的值是否符合你的预计值。 符合预期。9) 用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样, 若不一样,检查程序是否有错。 10)重复G J与T,再检查AX是否正确。 (J为断点地址)没有问题。11)用G命令使程序运行到结束,检查AX值是否正确。用计算器检查,没有错误。2用命令A汇编下列指令,判断指令正误并说明原因。(1) LEA DI,AX 错误, 因为能够作为偏移地址的寄存器只有BX,BP,SI,DI没有AX。LEA DI,BX(2) MOV DS,2010 错误,不能将立即数直接送入段寄存器。Mov ax,2010Mov ds,ax(3) PUSH AL 错误,应是16位的寄存器Push ax(4) OUT 900,AL 错误,外设端口地址超过255时,应该用DXMOV DX,900OUT DX,AL(5) MOV BX,0 错误,不能将立即数直接送入内存 X 正确为:没有指明字操作还是字节操作改为: mov word ptrbx,03利用T,P,G命令,执行下列指令段,注意它们的不同之处。(6) MOV DI,300MOV SI,400MOV CX,3CLDREP MOVSBINT 3T:P:可以看到其直接结束,没有多次循环进入。G:若没有设置断点直接运行程序结束(7) MOV AH,2MOV DL,41INT 21INT 3T:进入了21号中断P:没有进入21号中断G:可以看到直接执行完毕总结:T命令一步一步全部执行P命令不会进入子程序,适合主程序的调试。G命令适合查看一段命令的执行结果是否有误。4程序: MOV DI,1000 MOVCX,8 MOVSI,2000 CLC LOP: MOVAL,SI ADCDI,AL INCSI INCDI LOOPLOP INT20 步骤: 1) 用A命令键入此程序 2) 用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数,均为低字节在前面。 3)用G命令运行此程序,并用D命令检查其结果(存放在哪里?),是否正确? 4)将INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行?试试。 改为INT 3命令程序会停止到此处,若不加,会超出此程序的执行范围,直到遇到中断或者死机。5)请说明这个程序完成的功能是什么?完成两个8字节的数相加。三:问题思考1.假设某内存单元的内容为CCH,试问该内容如看作一条指令、看作无符号数、看作带符号数,那将分别表示什么?不查看教材中的指令系统代码,如何在DEBUG下知道CCH表示一条什么指令?CC 指令: INT3调试断点;无符号数:204带符号数:-522 在指令MOVBX,AX中,操作数BX的寻址方式是什么?在DEBUG下执行完该指令后,如何查看执行结果?寄存器间接寻址方式。用d查看。3 可否随意在DEBUG提示符“”后不带参数发出命令G?什么情况下使用命令G时,可不用“=”给出执行的首地址?不可以,代码段和指令寄存器指向所要执行代码的地址。4 分析出现死机的几种情况。如何理解死机现象?试从计算机的工作原理进行解释从硬件上主要是cpu,内存,硬盘不能正常工作,从软件上说主要是死循环和驱动问题。例如cpu进入了死循环,不能中断退出到原来的管理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论