全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 汇编语言上机调试工具DEBUG的使用一、调试工具DEBUG使用介绍DEBUG是为汇编语言设计的一种有效工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。DEBUG是独立可执行的程序。1、 DEBUG程序的调用在DOS的提示符下,可键入命令:C:DEBUG 驱动器路径文件名屏幕上出现“”符号表示已进入DEBUG如键入文件名则DEBUG将指定的文件装入存储器中,用户可对其进行调试。如未键入文件名,则用户可以用当前存储器的内容工作,可以执行DEBUG的各种命令2、常用DEBUG命令及其操作 _A(汇编)命令格式:A地址 ;表示对以下输入的指令进行汇编 说明:该命令未指定地址时,用CS:100H或上一次A命令的后续地址作起始地址。输入出错时,显示:ERROR,并重新显示当前地址,等待输人。 举例:_A enter 显示:CS段地址:起始偏移地址 (输入要汇编的指令)例: 12FE:0100 ;其中12FE为CS的段基址 _D命令:查看存储器内容 格式:D地址、或D范围 说明:该命令用于显示部分内存中的内容。缺省的段地址是DS,缺省的偏移地址是100H或上一次D命令的后续地址,缺省的长度为80字节。显示的格式为: 地址 十六进制码 ASCII码 不可打印字符的ASCII码用 显示,第一行自动调整边界。 举例:- D15 120 该示例显示数据段中偏移地址从15H至120H间的数据区内容。例: d 0100 0120 ;查看数据段从偏移地址0100单元开始, 到0120单元的内容。 _E命令:显示和修改内存单元内容格式:E地址说明:该命令用于显示指定内存单元的内容并等待输入新的值。举例:- E DS:01000F0E:0100 00.显示0F0E:0100单元的内容为00,小数点表示等待输入新数值,但通过键盘输入数值01后,01显示在小数点右边,如按下空格键后,出现下一个单元的内容在等待输入数据,若要退出E命令可按回车键。0F0E:0100 00. 01 0A. 02 23. 03 _G命令:运行程序 格式:G=起始地址断点地址断点地址 说明:该命令执行正在调试的程序,直到结束或遇到断点(遇到断点时还显示寄存器、标志位和下一条命令)。缺省的起始地址是CS:IP。 举例:G=CS:0 0lA AX=0000 BX179C CX=4E60 DX17BA SP=0400 BP=A000 SI=0000 DI=0000 DS17BA ES=17A4 SS17D2 CS=17B7 IP=00lA NV UP EI PL NZ NA PO NC 17B7:001A 891E0800 MOV 0008,BX DS:0008=0000 该示例从CS:0开始执行程序,直到CS:001A处停止。 _R命令:查看各寄存器内容 格式:R 寄存器名 说明:该命令用于显示、修改单个寄存器的内容,显示当前寄存器和下一个要执行的指令。寄存器名缺省,则显示全部寄存器和标志寄存器。有效的寄存器名是: AX BX CX DX CS DS ES SS SI DI BP SP IP F 其中IP是指令指针寄存器,F是标志寄存器。标志寄存器各位表示如下:名 称置位(1)清位(0)名 称置位(1)清位(0)溢出(是,否)OVNV零(是,否)ZRNZ方向(减,增)DNUP辅助进位(有,无)ACNA中断(允许,禁止)EIDI奇偶(偶,奇)PEPO符号(负,正)NGPL进位(有,无)CYNC举例: R (显示全部寄存器和标志) AX=0000 BX=179C CX=4E60 DX=17BA SP=0400 BP=A000 SI=0000 DI=0000 DS=17BA ES=17A4 SS=17D2 CS=17B7 IP=001E NV UP EI PL NZ NA PO NC 17B7:001E 892E2A00 MOV 002A,BP DS:002A=0000 举例: R AX (显示单个寄存器AX的内容) AX 0000 举例: R F (显示全部标志的内容) NV UP EI PL NZ NA PO NC OV _T命令:单步或多步执行程序指令 格式:T=起始地址步数。 说明:该命令用于执行自“起始地址”开始的一条或“步数”条指令,通过INT 01H实现。每条指令执行后都会显示所有寄存器和标志位的内容。 举例:T 2 ;没有等号偏移地址就是从0000开始 AX=0000 BX=0000 CX=4E60 DX=17BA SP=0400 BP=A000 SI=0000 DI=0000 DS=17A4 ES=17A4 SS=17D2 CS=17B7 IP=0003 OV UP EI PL NZ NA PO NC 17B7:0003 2E CS: 17B7:0004 89162B00 MOV 002B,DX CS:002B=0000 AX=0000 BX=0000 CX=4E60 DX=17BA SP=0400 BP=A000 SI=0000 DI=0000 DS=17A4 ES=17A4 SS=17D2 CS=17B7 IP=0008 OV UP EI PL NZ NA PO NC 17B7:0008 8B2E0200 MOV BP,0002 CS:002B=0000 _U命令:反汇编,查看程序指令在内存中位置和机器指令 格式:U地址,或U范围 说明:该命令用于反汇编内存中的指令,同时显示出它们的地址、十六进制值以及对应的汇编语句。缺省的段地址是CS,偏移地址是100H或上一次U命令的后续地址。 举例:U25 2B ;将CS:25至CS:2B内存间的指令数据反汇编,显示如下: 17B7:0025 50 PUSH AX ;CS=17B7、50是AX进栈的机器码 17B7:0026 B80000 MOV AX,0000 ;0000送AX的机器码是B80000 1787:0029 50 PUSH AX 17B7:002A CB RETF ;CB是返回指令RETF的机器指令 17B7:002B BAl700 MOV DX,0017 ;BA是立即数送DX的机器码 _Q(退出DEBUG)命令 格式:Q 说明:用于退出DEBUG 二、实验目的1初步学习汇编语言源程序上机调试方法,了解上机调试过程。2能初步使用DEBUG工具调试简单的汇编语言程序。3理解汇编语言与机器语言间的关系。4理解段地址、有效地址和物理地址的概念。三、实验准备1PC系列微型计算机一台。2系统含DEBUG.EXE程序。四、实验内容和实验步骤1启动微机,进入DOS状态。 进入DOS状态:开始所有程序附件命令提示符,显示C:Docunents and SettingsAdninistrator进入根目录:在C:Docunents and SettingsAdninistratorcdenter进入MSAM目录下:C:cdmasmenter2在当前盘的MASM目录下从键盘输入DEBUG。 C:MASMDEBUG enter ;出现“_”号,表示已经进入DEBUG。可执行以下命令:_a命令,汇编以下输入的程序。_r命令,查看各寄存器内容。_d命令,查看存储器内容:例如d 0100 0120查看从偏移地址0100H单元开始, 到0120H单元的内容。_u命令,反汇编,查看程序指令在内存中位置和机器指令。_t命令,单步执行程序指令。_g命令,运行程序.。_q命令,退出DEBUG。3输入汇编语言程序输入命令a100,然后从地址CS: 0100H开始输入以下的汇编语言程序: MOV SI,200 ;将200H送SI寄存器, MOV DI,300 ;将300H送DI寄存器 MOV CX,10 ;将十进制数10送CX,设定循环次数为10 MOV AL,SI ;将SI确定的存储单元的内容送AL MOV DI,AL ;将AL内容送DI确定的存储单元 INC SI ;SI内容加1(地址加1) INC DI ;DI内容加1(地址加1) DEC CX ;CX内容减1(循环次数减1) JNZ 109 ;CX内容不等于0,继续CS:109(该程序的作用是:从地址为SI=200H的存储单元开始,依次将10个存储单元的内容送地址从DI=300H开始的存储单元)4. 输入下述命令,记录汇编语言源程序的机器码:_u100 110 ;(对输入的程序进行反汇编,偏移地址从100开始到110结束。) 显示内容中左起第3列为对应机器码,例如立即数送SI的机器编码为BE、立即数送DI的编码BF,立即数送CX的机器码为B9,以此类推。且表示出每条指令占3个字节。 标志不等于0转移到偏移地址109的编码是75F7。 5. 输入下述命令,然后写出屏幕显示内容: _R ;(显示所有寄存器和标志的内容)AX= BX= CX= DX= SP= BP= SI= DI= DS= ES= SS= CS= IP=0 NV UP EI PL NZ NA PO NC 6用_E命令,在内存200H20FH单元分别写入0F十六进制数7. 输入下述命令,然后写出屏幕显示内容:_D300 30F ;(显示偏移地址从300开始到310的存储单元内容)8. 输入下述命令,然后写出屏幕显示内容:_G=100 112 ;(运行偏移地址0100H到0112H的指令)AX= BX= CX= DX= SP= BP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于RBRVS的科室成本目标设定
- 医疗资源下沉与基层医疗资源整合模式创新
- 2024苏教版八年级生物上册期末复习全册知识点提纲
- 人民警察职位考生体能测评登记表
- 初中数学试卷二元一次方程组易错压轴解答题题分类汇编(附答案)
- (完整版)数学苏教版七年级下册期末试题经典套题解析
- 2026届河南省鹤壁市浚县二中化学高二上期末综合测试模拟试题含答案
- 广西壮族自治区小学六年级上学期数学期末总复习试卷(二)
- 中帆房屋租赁合同
- 湖南省衡阳市蒸湘区四年级上学期数学第六单元《除数是整十数的笔算除法》基础巩固
- 脑出血知识培训课件
- (正式版)DB63∕T 2437-2025 《大型并网光伏电站退役太阳电池组件延期使用或降级再利用的判定与要求》
- 电厂防寒防冻安全培训课件
- 2025年消费者购买力对新能源汽车市场发展影响可行性研究报告
- 2025年湖北省生态环保有限公司招聘33人笔试参考题库附带答案详解
- 领导干部任前法律法规知识考试题库及答案(2025年)
- 全国大学生职业规划大赛《汽车制造与试验技术》专业生涯发展展示【高职(专科)】
- 乡镇档案工作办法课件
- 索尼相机DSC-HX300 中文说明书
- 卫生院关于成立消除艾滋病、梅毒、乙肝母婴传播领导小组及职责分工的通知
- 2025年中职实习指导教师资格证面试策略与模拟题详解教程
评论
0/150
提交评论