




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在命令窗口中启动DEBUG,启动命令一般为:DEBUG[文件名][参数表]。其中:文件名指定被调试的文件,其包括名和后缀,参数表是被调试文件运行时所需要的参数。被调试的文件可以是系统中的任何文件,但通常它们的后缀为.EXE或.COM。当DEBUG启动成功后,将显示连接符“-”,这时,可输入各种DEBUG命令。DEBUG中所有命令及其含义如DEBUG各命令功能说明表所示。关于使用命令的几点说明:在提示符“-”下才能输入命令,在按“回车”键后,该命令才开始执行命令是单个字母,命令和参数的大小写可混合输入可用F1、F2、F3、Ins、Del、左移键、右移键等编辑键来编辑本行命令当命令出现语法错误时,将在出错位置显示“AError”可用Ctrl+C或Ctrl+Break来终止当前命令的执行,还可用Ctrl+S或Ctrl+NumLock来暂停屏幕显示(当连续不断地显示信息时)以下通过实现十九个示例来熟悉DEBUG的命令集和基本的汇编指令。R命令的使用R命令作用:观看和修改寄存器的值。在提示符“-”下输入以下命令:R。DEBUG将会显示出当前所有寄存器和标志位的状态。接下来再输入命令RCX。在提示符“:”后输入100。该命令的作用是将寄存器CX的值设置为100(注意:DEBUG使用的是十六进制,这里的100相当于十进制的256。)最后再执行R命令,观看修改后的寄存器值。LJ*HX,ElflHHCX*RHflBDMEF*FFEEBP-0000SI-4DPRRflflD£=0AFSSS-0AF5NUUPEEPLNZNRPONCfMOUl AH,CX00UM:100BK-W0004=010(9IMEP-FFEEDI也圖0DS=0AF5ES^BfiFSSS-80F5CS=0AF5[P"01B0NUUPEEPLNZNAPONC1眄脯MOU0RH命令的使用H命令作用:计算两个十六进制数的和与差。在提示符“-”下输入以下命令:H101。观看命令执行结果。-h1010011运行结果的前一个数是计算出来的和,后一个数是计算出来的差。计算结果均用十六进制形式表示。D命令的使用D命令作用:显示内存区域的内容。在提示符“-”下连续执行命令R、D、D。观看命令执行结果。
C:X>debus—■Ax=aoooiCX^OOBOSP=FFEEBP^onooSI=OODO101=0000DS=0AF51FS=DAF5SS=0AF5CS=DAF5PsUllIMUIUPIEl1»LHZHAP0HCo<rs:aini一dBMWMOUll.ltalF5:D1ff|008A07EEDCE27V02FE%AC3C3F7527八…-0AF5:^11080FC阳742080FC01-75223ACE3400Eh0A■■■ttv八u":.4 DjFSqaill28)Ik0Aoa3C3F75U-83F?017&DFSA07AAt__<?n u.___OAFS:191304346h9FEC48A073C-207*01AAE2BCC3CFI.„.<t..c...0iF5:aiUF64604027543SBD5-83C20557BQ0U6CBB.F..uCW1■■■■■n■■鼻■0ftF5:0150UJ0033C98BF2BA01-01CD215F7315EB8Ce.3.„■■■p! 5■■■0AF5:0160DB3D020074233h03-00741E3D050074IS.tt-..t.t.0AF5:0170_dE?ABD8SBDSB80044-CD21Bh3ECD21F6C2otrstaiii807553F6卧US047^-4DSB5605eoFA00“huS.F^.tM.U.-Hi-tliAF5:(j1900580FE3A7402B240-80CA2080EA60E83C…:t..e..D*F5:01UE即7306E8STDtE?75-D8SBD583C2058A7E.s..G.0AF5:aiB<f04SDE70680FF0675-18RB7602B33A30sc.u.rv..:8\FE75C6卧UO02EB-D5C646JO014EE?83"AFEMU"0080FF027505C646-0000C3E8BCEBB43B■■■■!!■_F ;D*F5:miCD217233SBFA33CO-BBC8268ADE*70A亍…DlF5:01FHCO74DC32EhEQEBE1-74FlFEC4EBEC.t.!..前面已经介绍过了,命令R的作用是显示当前寄存器的值。而命令D的作用是显示内存区域的内容,最左边是内存的起始地址,中间以十六进制的形式显示内存值,最右边是以ASCII码的形式显示内存值。每行最多显示16个字节的内容。命令D可以带参数也可省略参数。设DEBUG启动时DS的值为X,当省略参数时,命令D显示内容以X:100为起始,每次显示128个字节的内容。以后再执行不带参数的命令D时,DEBUG将按上次的位置接着显示下去。带参数时DEBUG能够显示指定地址范围的内容。带参数的方式有三种:方式一:d[起始位置]。DEBUG从起始位置开始显示128个字节的内容。在提示符“-”下执行命令D1AF5:1OO。观看命令执行结果。-d1af5:100oion的nunOUno0120帥onnnn00noDUOonmsnOUno0160帥onni?n00押0D000D0D»000盹Q000oy0000DOOS000000000900000000003000醐0000DOOS0000同000DDU000000DO&&0000Q000000000DOOS000000000900000000003000関0000000000D000001AF51AF51AF51AF51AF51AF51AF51AF51AF50000 0000 0000 0000 0000 0000 0000 方式二:d[起始位置][结束位置]。DEBUG从起始位置开始一直显示到结束位置。在提示符“-”下执行命令DDS:1OOIFF。观看命令执行结果。unrs:oioobmncbao?esocE2m-吐feu此acsc3fjs口 仙FC00“2G80FCC1-753ftCE聃00E4DA .„t---"":川…-方式三:d[起始位置][L长度],长度以L参数为标识。DEBUG从起始位置开始显示指定长度的内容。在提示符“-”下执行命令DDS:100L10。观看命令执行结果。-d L1IIn^Fb:010llMflO8A07E8DCE27^-S2f£C4AC3C3F7527 E命令的使用E命令作用:改变内存单位的内容。E命令的使用方式为:E[起始位置]。在提示符“-”下输入以下命令:E1AF5:100。
■l-5tSD-00MBO跖ODODflDEJOSD-QOSB90OD00000000-clAf^:■l-5tSD-00MBO跖ODODflDEJOSD-QOSB90OD00000000-(1t^BxioomFS:niOU1234DO560000DOmFS:nnoonon0000000000DEBUG首先显示[1AF5:0000啲内容00.,这时可以修改该字节的值。如果还要修改后续的内容,可以按空格键继续。当要跳过某个字节时,可以按连续的两个空格跳到后一个字节去。F命令的使用F命令作用:使用指定的值填充指定内存区域中的地址。F命令的使用方式为:F[范围][填充列表]。在提示符“-”下输入以下命令:F1AF5:100L2012345。执行命令D1AF5:100观看命令执仃纟口果。-FmF5:inn ?5s-ofii^zliomFS:010HDI馆050405010293-04跖010203040501 1^FS:ni1ll0?A304晒010203 酣0203肚050102 mF5:IH2n»il仙仙000000仙09-dG翻DOSO00000D00 说明:该命令是用字节序列01、02、03、04、05轮流填充从1AF5:100开始长度为20H的内存区域。在提示符“-”下输入以下命令:F1AF5:10013F41424344。-f1af5:10013f4142础44-d1af5:13G1AF5fffOO42424341424341424344ABCDABCDABCDABCD1AF5911042k243414341蚯4344hSCnhSCOABCRftSCD1AF50120承42承4243414341424344ABCDABCDABCDftBCD1AF5U愉424143414341蚯4344袖FK3U000阙同00呃0000卿何000U仙00915000创溯[河00创】拠I油01600000盹0000朋00DU001AF5£!1700DU0[河00DBU9闢说明:该命令是用字节序列41、42、43、44轮流填充从1AF5:100开始一直到1AF5:13F的内存区域。M命令的使用M命令作用:将指定内存区域的数据复制到指定的地址去。M命令的使用方式为:M[范围][指定地址]。在提示符“-”下输入以下命令:M1AF5:10013F1AF5:140。执行命令D1AF5:100观看命令执行结果。-m1af5:10013f1af5:U0-d1af5:1D01AF51AF51AF51AF51AF51AF51AF51AF51AF51AF5S1004242434^-414243414243S11042啞434it-M"24341蚯43S1204242434^-4143414243^13042竝43424341蚯43站胸4242434^-M4243414243S15042啞434it-M"24341蚯43SH04242434^-M43414243^170424342434143ftBCDABCDABCDABCDABCDABCDABCDABCDABCDASCDA^CD^SCDftBCDABCDABCDABCDABCDABCDABCDABCDABCDASCDA^CD^SCDC命令的使用C命令作用:将两块内存的内容进行比较。C命令的使用方式为:C[范围][指定地址],意思就是将指定范围的内存区域与从指定地址开始的相同长度的内存区域逐个字节进行比较,列出不同的内容。在提示符“-”下输入以下命令:C1AF5:10013F1AF5:140。由于两块内容完全相同,所以命令执行后没有任何显示。在提示符“-”下输入以下命令:C1AF5:1001071AF5:180,比较的区域长度为8个字节。命令执行后列出比较结果不同的各个字节。l-c1AF5:1D013F1AF5M43C1AF5:1001071AF5:180m$:QnrnDO1AF5:01801AF5:01D1毎2001AF5:01811ftF5:G13243001AF5:01821AF5:0103联001AF5:01831AF5:O104001AF5:01841AF5:0105毎2001AF5:018543001AF5:01861AF5:0107碉001AF5:0107S命令的使用S命令作用:在指定的内存区域中搜索指定的串。S命令的使用方式为:S[范围][指定串]。在提示符“-”下输入以下命令:D1AF5:10011F。显示该区域的内存值。在提示符“-”下输入以下命令:S1AF5:10011F41424344。搜索该区域是否存在字节串41424344,并将搜索结果一一列出。-d Ilf1^FS:0innM蛙昭44恥4243转-翻覺4344M424344 A肚MHtDMCD仙炖1hF5:01in酹42昭44M424344-41铤344豹42砧44-s1afL:1MU4142昭44mFS:oioni^FS:nin^1HFS:010U1^FK:010CmFS:oiin1hFS:011U1^FK:011C从执行结果可以看出,总共搜索到八处。A命令的使用A命令作用:输入汇编指令。以下的程序要在屏幕上显示“ABCD”四个字符。首先用E命令将“ABCD$”四个字符预先放在内存CS:200处,然后执行A100命令输入汇编程序代码:MOVAX,CSMOVDS,AXMOVDX,200MOVAH,9INT21INT20(说明:前两行汇编指令用于将段寄存器CS的值赋给段寄存器DS。第三到第五行汇编代码
的作用是显示以“$”为结尾的字符串。最后一行用于结束程序。-eMF弓汕钏11M.M67.^2 96.43 C6.44帖-411UIIfl^FU:niOHnouax,csllhFS:O102mouds,axII^FK:01O4novdx,20CIIHFS:0107mnuah,9踰F毀ftl祐int21dWfBlOBint21OF^OIODG命令的使用G命令作用:执行汇编指令。G命令的使用方法是:G[=起始地址][断点地址],意思是从起始地址开始执行到断点地址。如果不设置断点,则程序一直运行到中止指令才停止。-a1GSimov4K,csnuuds,axOhF5:O104movdx,200OAF5:01O7movah,9D询處!0讪-a1GSimov4K,csnuuds,axOhF5:O104movdx,200OAF5:01O7movah,9D询處!0讪int21OAF5:01OBint20-円站APCDProgramterminatednormally汇编程序运行后在屏幕上显示出“ABCD”四个字符。接下来在DEBUG中执行G=10010B,意思是从地址CS:100开始,一直运行到CS:10B停止。观看运行结果。命令执行后,不但显示出字符串“ABCD”,而且列出当前寄存器和标志位的值。IIAF5:011^;movax,csmnvds,ax0104movah,9mnvdn^200帥Fh:011iyint21OA^QIOBint2QOftlpOlODl-g=1D0ABCD?rogranterminatednurnall]/溯10bABCDfiK=0924莎壯嵌盹CK=>(0^3;晡二畝葩SP=FFEEEP*讯切SI=fi00^ 逊DS=0AF5ES=GfiF5SS=0AF5CS=0AF5IF二站蚀 HUUPElPLHZNAP0HC歸F弓:站懿CU2S IHT23U命令的使用U命令作用:对机器代码反汇编显示。U命令的使用方法是:U[范围]。如果范围参数只输入了起始地址,则只对20H个字节的机器代码反汇编。执行命令U100,观看反汇编结果。j-g=100Pragranterminatednornallyi-g=10D10bA»CDAX=0924IlEsflOOiCX=OO001»X=020l)SP=FFEEBP=O0OOSI=O0O0DI=0OODDS=0AF5IES=0AF5SS^OAFS1CS=0AF5IP=010BHUUPElPLHZHAP0HCdAF5:010eCD20IHT2IF-u100O|FS:|100eccaMOUAX.CSilAF5:01026ED8MOUDS.AXaiF5:m*B409MOU他MUAF5:0106IMDD2MOUst.anaCD21IHT21(JAF5:01D8CD20INT200ftF5:l10D3FAASJAF5:U10E7527JH701370AF5:011li6DFCD0CMPAH.Oit(JAF5:D1137420JZ0135(IAF5:011580FC01CMPAH,01{JftF5:011875!2JHZ013C0AF5:011A3ACECMPCL,DH(JAF5:D11C3411XORALPODnAF5:011EE40AINAL,OA执行命令U10010B,观看反汇编结果。该命令的作用是对从100到10B的机器代码进行反汇编。N命令的使用N命令作用:设置文件名,为将刚才编写的汇编程序存盘做准备。以下的DEBUG命令序列作用将刚才的汇编程序存为磁盘的COM可执行程序。D20020FU10010CNE:\FIRST.COMRCX:110W第一和第二条命令的作用是检查一下刚才编写的汇编指令。第三条命令的作用是设置存盘文件名为E:\FIRST.COM,第四条命令的作用是设置存盘文件大小为110H个字节。最后一条命令是将文件存盘。
MDU
MOU
MHU
MOU
INT
INTftK,CS左札般AH,09DX,02n021耐-E如75閒3A砖FF74MDU
MOU
MHU
MOU
INT
INTftK,CS左札般AH,09DX,02n021«CC88EQ8B409B朋汕2恥21C^;20文件存盘后执行E:\FIRST.COM,观看存盘的可执行文件的运行效果。E:\>firstABCDt:\>W命令的使用W命令作用:将文件或者特定扇区写入磁盘。在示例“N命令的使用”中已经实验了如何使用W命令将文件存盘。在没有很好地掌握汇编语言和磁盘文件系统前,暂时不要使用W命令写磁盘扇区,否则很容易损坏磁盘文件,甚至破坏整个磁盘的文件系统。L命令的使用L命令作用:从磁盘中将文件或扇区内容读入内存。将文件调入内存必须先用DEBUG的N命令设定文件名。以下例子是将E:\FIRST.COM读入内容。NFIRST.COML观看调入程序的汇编代码可以使用DEBUG的U命令,用U100观看调入的COM文件。irsi.con^7:010247:C106时总1^7:010247:C106时总1沙47:010B8CC88E08B4u?BMIh惟Cs:21屈DM&U
MOV
MOU
MOV
INTIHlAK.CSAH,09QK^2002120读取磁盘扇区的方式是:L[内存地址][磁盘驱动器号][起始扇区][扇区数]。“内存地址”指定要在其中加载文件或扇区内容的内存位置,如果不指定“内存地址”的话,DEBUG将使用CS寄存器中的当前地址。“磁盘驱动器号”指定包含读取指定扇区的磁盘的驱动器,该值是数值型:0=A,1=B,2=C等。“起始扇区”指定要加载其内容的第一个扇区的十六进制数。“扇区数”指定要加载其内容的连续扇区的十六进制数。只有要加载特定扇区的内容而不是加载文件时,才能使用[磁盘驱动器号][起始扇区][扇区数]参数。例如:要将C盘第一扇区读取到内存DS:300的位置,相应的DEBUG命令为LDS:300211但是由于Windows操作系统对文件系统的保护,这条命令可能会被操作系统禁止运行。CWIWdT\5ystwiaz^md^jcs-应用糧序己储荐直K访何腿J迴碗皴苻・耳可竄导弦应用餐序的功甜出摘・啊玄闭黄止座用程序.T命令的使用T命令作用:执行汇编程序,单步跟踪。T命令的使用方式是T[=地址][指令数]。如果忽略“地址”的话,T命令从CS:IP处开始运行。“指令数”是要单步执行的指令的数量。以下示例对E:\FIRST.COM进行单步跟踪。NE:\FIRST.COMLU10010BRT=100-ne:\first.con-u10010bI'...r0HW:VtllD8CCBMQQAX,CSIEIIMQUDS.AXi!R47:0104|UfMOUAH,U,0U47:0106ttllllMOUOX,0200DM7:V1HCD21IHT21OB47:01OBCD2I)IHT2H-rftX=O0OOBX=0OOI)tlfSHOiix=oooeSP=FFFESP^liOOOsi=nouoDI=Ol)EWDS=DB47ES=DB47SS=DB47CS=DB47ip=aiooHUUPElPLHZNAP0HC0B47:010D8CCBMOURK.cs-t=100klTlBVBrianCX-0110B1=||O0SP=FFFE^p=noootr»D00i01=0000:1S=OB47ES=DB47SS^0B47CS=0»47IP=0102HUUPElPLHZNAP0NCOHW:I1H28ED8MOUDS,AX-tiAX=DB47BX=OOOOCX^OIIODk-IOODSP=FFFE8P-00D0SI=000001=0000DS^OBMES=0B47KxOlMCS=0B47IP=01O4HUUPElPLHZNAP0N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 情经费预算方案(3篇)
- 工装材料现场管理制度
- 宜昌装修监理方案(3篇)
- 唐山培训机构管理制度
- 小米老板日常管理制度
- 哈根达斯公司管理制度
- 公园加强日常管理制度
- 平安校园建设管理制度
- 儿童艺术剧场管理制度
- 健全质量安全管理制度
- 中医针灸治疗脑梗塞后遗症的应用实践
- 2025年高等数学期末考试试题及答案
- 2024中国国新基金管理有限公司相关岗位招聘7人笔试参考题库附带答案详解
- 2025届各地名校4月上旬高三语文联考作文题目及范文12篇汇编
- 【9语一模】2025年4月天津市和平区九年级中考一模语文试卷(含答案)
- 青少年网络安全知识讲座
- 2025年高考物理大题突破+限时集训(含解析)
- 人体解剖学题库(含答案)
- 法人授权委托书深圳标准版
- srs13a中文说明书编程手册
- 江西省部分高中学校2024-2025学年高一下学期联考生物试卷(原卷版+解析版)
评论
0/150
提交评论