微机原理及应用实验1 DEBUG命令的功能及使用_第1页
微机原理及应用实验1 DEBUG命令的功能及使用_第2页
微机原理及应用实验1 DEBUG命令的功能及使用_第3页
微机原理及应用实验1 DEBUG命令的功能及使用_第4页
微机原理及应用实验1 DEBUG命令的功能及使用_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

实验一DEBUG命令的功能及使用一、实验目的掌握汇编语言基本运行环境和熟悉DEBUG调试程序的命令。包括:学习使用指令,掌握常用的指令功能和简单程序设计;掌握DEBUG调试程序的命令,熟悉程序输入、存储器和CPU寄存器及标志位的检查方法,单步、断点、连续等运行程序的调试方法。二、实验内容DEBUG的主要命令功能与格式汇编命令A格式:A[[<段寄存器名>/<段地址>:]<段内偏移>]上式等价于:(1) A<段寄存器名>:<段内偏移>(2) A<段地址>:<段内偏移>(3)A<段内偏移>(4)A功能:键入该命令后显示段地址和段内偏移并等待用户从键盘逐条键入汇编命令,逐条汇编成代码指令,顺序存放到段地址和段内偏移所指定的内存区域,直到显示下一地址时用户直接键入回车键返回到提示符“-”。注:其中(1)用指定段寄存器的内容作段地址,(3)用CS的内容作段地址,(4)以CS:100作地址。以后命令中提及的各种'地址'形式,均指(1)、(2)、(3)中A后的地址形式。显示内存命令D格式:D[<地址>/<范围>]上式等价于:(1)D<地址>(2)D<范围>(3)D功能:以两种形式显示指定范围的内存内容。一种形式为十六进制内容,一种形式为以相应字节的内容作为ASCII码的字符,对不可见字符以代替。注:其中(1)以CS为段寄存器。(3)显示CS:100起始的一片内容。修改内存命令E格式:E<地址>[<单元内容表>]上式等价于:(1)E<地址>(2)E<地址><单元内容表>其中<单元内容表>是以逗号分隔的十六进制数,或用'或”括起来的字符串,或者是二者的组合。功能:(1)不断显示地址,可连续键入修改内容,直至新地址出现后键入回车Enter为止。(2)将<单元内容表>逐一写入由<地址>开始的一片单元。填充内存命令F格式:F<范围><单元内容表>功能:将单元内容表中的值逐个填入指定范围,单元内容表中内容用完后重复使用。例如:-F5BC:200L10B2,‘XYZ',3C<Enter>执行命令G格式:G[=<地址>[,<断点>]]上式等价于:(1)G(2) G=v地址〉(3) G=v地址〉,<断点〉功能:执行内存中的指令序列注:(1)从CS:IP所指处开始执行(2)从指定地址开始执行(3)从指定地址开始执行,到断点自动停止。内存搬家命令M格式:M<源地址范围><目标起始地址>其中源及目标地址若仅输入偏移量,则隐含相对DS。功能:把<源地址范围>中的内容顺序搬至<目标起始地址>起的一片连续单元。例如:-MCS:100110600把从CS:100起至CS:110止17个字节搬至DS:600至DS:610的一片单元。结束DEBUG返回DOS命令Q格式:Q功能:返回DOS提示符下显示修改寄存器命令R格式:R[<寄存器名>]上式等价于:(1) R(2) R<寄存器名>功能:(1)显示当前所有寄存器内容,状态标志及将要执行的下一指令的地址,代码及汇编语句形式。其中对状态标志FLAG以每位的形式显示,见下表。标志置位符号复位符号溢出OFOV(overflow)NV(nooverflow)方向DFDN(down)UP(up)中断IFEl(enableinterrupt)DI(disableinterrupt)符号SFNG(negative)PL(plus)零位ZFZR(zero)NZ(nozero)辅助AFAC(auxiliarycarry)NA(noauxiliary)奇偶PFPE(parityeven)PO(parityodd)进位CFCY(carry)NC(nocarry)(2)显示指定寄存器内容例如:-RAXvEnter>-RF<Enter>9.执行并显示系统环境命令T格式:T[=<地址>][<条数>]功能:执行由指定地址起始的、由<条数>指定的若干条命令。其中<地址>的缺省值是当前IP值,<条数〉的缺省值是一条。例如:-T<Enter> 执行当前指令并显示状态-T10<Enter> 从当前指令始执行10H条指令10.反汇编命令U格式:U[<地址>/<地址范围>]上式等价于:(1)U<地址>(2)U<地址范围>(3)U功能:将指定范围内的代码以汇编语句形式显示,同时显示地址及代码。注意,反汇编时一定确认指令的起始地址后再作,否则将得不到正确结果。地址及范围的缺省值是上次U指令后下一地址的值。这样可以连续反汇编。三、实验例程及步骤例1在DEBUG下运行如下程序。MOVDL,33H;字符3的ASCII码送DLMOVAH,2;使用DOS的2号功能调用INT21H;进入功能调用,输出‘3'INT20H;BIOS中断服务程序,正常结束。该程序运行结果是在显示器上输出一个字符‘3'。如果要输出其它字符,请改变程序中'33H'为相应字符的ASCII码。运行步骤:(1)进入DEBUG,用A命令送程序并汇编,见图1.1。

图1.1汇编程序过程(2)用反汇编U命令显示程序,图1.2为反汇编命令显示结果。图中右边是汇编指令,c:<中间是该汇编指令的机器码,左边是存放该条指令的内存单元地址。c:<C:XWIM)O¥S\syste>32\cid.ese-DEBUGHR0B13:01000B13:01020B13=01040B13:01060B13=0108FU1001080513=01000Bia:01020B13:HR0B13:01000B13:01020B13=01040B13:01060B13=0108FU1001080513=01000Bia:01020B13:01040B13:010G0B13:0108LH10DA22uUTTOONNMMIIB233B432GD21CD2080GA2033LH10LpA22D3230IE13:0104iB13:010gB13:313QU100108B13=010QIE13:0104iB13:010gB13:313QU100108B13=010QB13:0102B13=0104B13:313GB13:01081022NTNTB233B4S2CD21CD2B80CA28MOVMOVINTINIOB320302尸丿■>LHl_uLBA22Dterminatednormally图1.2反汇编命令U的显示结果(3)用执行命令G执行程序,图1.3为执行结果。chC:\TIM)O¥S\syste*32\od..eze-DEBUG图1.3执行命令G的显示结果(4)用E命令送机器指令程序并用D命令显示内存,运行过程见图1.4。|c:iC:\¥IFD0IS\syste>32\c>d.exe|c:iC:\¥IFD0IS\syste>32\c>d.exe・-DEBUG 「口XFU100108aB233MOUDL,330B13:0102B482MOUAH,020B13:0104CD21INT210613:3106CD20INT200B13:910880CA20ORDL,20FgJProcjramterninatednopmally-E203B233B402CD21CD20卜D2032080B13:0200B233B4:02CD21CD20-3F.3.._t_卜21图1.4送机器指令并显示内容结果(5)再次用执行命令G执行程序,图1.5为执行结果。图1.5G命令执行结果(6)Q命令退出DEBUG返回DOS。例2在DEBUG下运行下述程序,查看执行结果。MOVAX,0FEH;被乘数OFEH送AXMOVCL,2SHLAX,CL;被乘数乘以4,结果送AXMOVBX,AX;被乘数乘以4的结果送BX保留MOVCL,2SHLAX,CL;被乘数乘以16,结果送AXADDAX,BX;被乘数乘以20,结果在AX中MOV[300H],AX;将积存入DS段第300H—301H号内存单元MOVAH,4CH;将功能号4CH送AHINT21H;执行DOS的4CH号功能调用,结束程序返回DOS。该程序运行结果是将0FEH乘以14H,结果放在DS段第300H-301H号内存单元中。(1)进入DEBUG,显示300H至301H号内存单元内容,见图1.6。

图1.6D命令显示结果(2)用A命令装入程序段并汇编,见图1.7。图1.7用A汇编程序(3)用T命令执行到断点处(程序正常结束前)停止,执行“-T=100,8vEnter>”后的结果见图1.8。Sc:'.WW0WS\SyEtem32\CHD. -DEBUGJ□冈ftH-03rODX-0300CK-6002DK-90BOsr-rrEEBr-0600SI-0900DI-6000DS=0E:21E£=0B21SS=0B21CS=0B21IP=0107NULPElPLHZNAPONCOD21=0107189C3MOUUK,AKAX-03FOBX-B3F0CX-0802DK-90B0sr-rrEEBr-0000GI-0900DI-@000DS=0E:21E£=0B21SS=0B21CS=0B21IP=0109NULPElPLHZNAPONC0021=0169B102HOUCL,02AH-03FOBX-B3F0CX-6002DK-90BOSr-FFEEBr-BBQOSI-Q90QDI-SQOODS=0E21E£=0B21SS=0B21CS=0B21IP=01BBNULPElPLHZNAPONC0DE1=010Di»3E0SIILi AK,CLAH-0FE0BK-B3F0CK-0002DK-90B0sr-rrEEBr-0@OSSI-0900DI-6000DS=0EI21ES=0B21SS=0B21CS=0B21IP=010DNULPElPLHZNAPONCQD21=016D01D3ADD' AK,DKAK-13D0BS-B3F0CX-0002DK-9060sr-rrEEBr-0000SI-0900DI-6000DS=0B21E£=0B21SS=BB21CS=0B21IP=010FNULPElPLNZNAPENC0D21=016F1A30303HOU[0360],AKDS:0300-GB51AK-13D0BX-B3F0CX-6002DK-00S0SP-FFEEBr-BBQOSI-0000DI-S00ODS=0E21E£=0B21SS=0B21CS=0B21IP=0112NULPElPLHZNAPENC0D21=B112B44GMOUAll,-4C图1.8用T命令执行到断点处的结果(4)用D命令显示300H至301H的内容(最终结果),如图1.9所示。图1.9用D命令显示最终结果(5)用Q命令退出DEBUG环境,返回DOS。四、预习要求安装并熟悉ASM汇编语言编译环境。预习DEBUG的相关命令。复习教材指令系统章节内容,熟悉8086/8088

温馨提示

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

评论

0/150

提交评论