文档介绍:DEBUG使用方法
DEBUG使用方法
格式: 
DEBUG[[drive:][path]filename[testfile-parameters]]
参数:[drive:][path]filename 
-a0100:0500 
0100:0500 jmp 502 ;2字节短转移,生成2字节目标地址。 
0100:0502 jmp near 505 ;3字节近转移,生成4字节目标地址。 
0100:0505 jmp for 50a ;5字节远转移,生成8(段+偏移)字节目标地址。
前缀NEAR可以省略为NE。 
字内存地址和字节内存地址的区分 
当仅从操作数本身不能区分究竟是字内存地址还是字节内存地址是地,必须用前缀WORD PRT(字)或BYTE PTR(字节)指字其类型。两者可省略为WO和BY,例如:
dec wo[si] 
neg byte ptr[128]
指定操作数 
DEBUG按常规认方括号内的操作为内存地址。否则,为立即数。例如: 
mov ax ,21 ;把数值21装入AX 
mov ax,[21] ;把内存21H单元的内容装入AX 
使用伪指令 
A命令使用常用的两个伪指令:DB和DW。DB汇编字节,DW汇编字。汇编后生成的值存入内存(分别以字节和字为单位存放)。例如: 
db 1,2,3,4, "this is an example" 
db 'this ia a quotation mark:" 
db "this is a quoutation mark:'" 
dw 1000,2000,3000,"BACH"
三、应用举例
A命令支持所有各种形式的寄存器间接寻址指令,例如: 
add bx, 34[pb+2].[si-1] 
pop[bp+di] 
push[si] 
A命令支持同义操作代码,例如: 
loopz 100 
loope 100 
ja 200 
jnbe 200 
使用8087操作代码时,应加前缀WAIT或FWAIT,例如: 
fwait fadd st,st(3) ;this line assembles 
;ar fwait prefix 
DEBUG: C (比较)
一、概述
比较丙块内存的内容 
 
格式 
C range address 
 
参数 
range 
指定待比较的第一块内存的起始和结束地址,或其起始地址和长度。有关本参数有效值的说明,参阅DEBUG命令。 
 
address 
指定待比较的第二块内存的起始和结束地址,或其起始地址和长度。有关本参数有效值的说明,参阅DEBUG命令。
二、注意事项
如果比较的两块内存内容相同,DEBUG不显示任何信息,只返回DEBUG提示符,如果比较的内容有差别,将以下格式显示这些差别。 
address1 byte1 btye2 address2
三、应用举例
以下两条命令的执行结果相同: 
cl100,10f 300 
c100L10 300 
两条命令都比较从100h到10Fh和从300h到30Fh的两块内存的内容。DEBUG执行这两条命令时将显示与下面相似的信息(假定DS=197F):
197F: 1000 4D E4 194F:0300 
197F: 0101 67 99 197F:0301 
197F: 0102 A3 27 194F:0302 
197F: 0103 35 F3 194F:0303 
197F: 0104 97 BD 197F:0304 
197f: 0105 04 35 197F:0305 
197F: 0107 76 71 197F:0307 
197F: 0108 E6 11 197F:0308 
197F: 0109 19 2C 197f:0309 
197F: 010A 80 0A 197F:030A 
197F: 010B 36 7F 197F:030B 
197F: 010C BE 22 197F:030C 
197F: 010D 83 93 197F:030D 
197F: 010E 49 77 197F:030E 
197F: 010F 4F 8A 197F:030F  
注意上表中缺地址197F:0106和197F:0306,这表示两个地址存放的数值相同。
DEBUG:D (卸出)
一、概述
显示指定范围内存的内容