日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

DEBUG命令詳解

DEBUG是DOS中的一個外部命令,從DOS 1.0起就帶有此命令,因此可見此命令的重要性了 。雖然此命令的功能非常強(qiáng)大,可以解決許多問題,可是對許多人來說,尤其是初學(xué)者來說,卻非常不易掌握 。因此,現(xiàn)將DEBUG的命令詳細(xì)介紹一番,以讓大家知道它的使用 。
Debug:A(匯編)
直接將 8086/8087/8088 記憶碼合并到內(nèi)存 。
該命令從匯編語言語句創(chuàng)建可執(zhí)行的機(jī)器碼 。所有數(shù)值都是十六進(jìn)制格式,必須按一到四個字符輸入這些數(shù)值 。在引用的操作代碼(操作碼)前指定前綴記憶碼 。
a [address]
參數(shù)
address
指定鍵入?yún)R編語言指令的位置 。對 address 使用十六進(jìn)制值,并鍵入不以“h”字符結(jié)尾的每個值 。如果不指定地址,a 將在它上次停止處開始匯編 。
有關(guān)將數(shù)據(jù)輸入到指定字節(jié)中的信息,請單擊“相關(guān)主題”列表中的 Debug E(鍵入) 。
有關(guān)反匯編字節(jié)的信息,請單擊“相關(guān)主題”列表中的 Debug U(反匯編) 。
說明
使用記憶碼
段的替代記憶碼為 cs:、ds:、es: 和 ss: 。遠(yuǎn)程返回的記憶碼是 retf 。字符串處理的記憶碼必須明確聲明字符串大小 。例如,使用 movsw 可以移動 16 位的字串,使用 movsb 可以移動 8 位字節(jié)串 。
匯編跳轉(zhuǎn)和調(diào)用
匯編程序根據(jù)字節(jié)替換自動將短、近和遠(yuǎn)的跳轉(zhuǎn)及調(diào)用匯編到目標(biāo)地址 。通過使用 near 或 far 前綴可以替代這樣的跳轉(zhuǎn)或調(diào)用,如下例所示:
-a0100:0500
0100:0500 jmp 502 ; a 2-byte short jump
0100:0502 jmp near 505 ; a 3-byte near jump
0100:0505 jmp far 50a ; a 5-byte far jump
可以將 near 前綴縮寫為 ne 。
區(qū)分字和字節(jié)內(nèi)存位置
當(dāng)某個操作數(shù)可以引用某個字內(nèi)存位置或者字節(jié)內(nèi)存位置時,必須用前綴 word ptr 或者前綴 byte ptr 指定數(shù)據(jù)類型 ??山邮艿目s寫分別是 wo 和 by 。以下范例顯示兩種格式:

dec wo [si]
neg byte ptr [128]
指定操作數(shù)
Debug 使用包括在中括號 ([ ]) 的操作數(shù)引用內(nèi)存地址的習(xí)慣用法 。這是因為另一方面 Debug 不能區(qū)分立即操作數(shù)和內(nèi)存地址的操作數(shù) 。以下范例顯示兩種格式:
mov ax,21 ; load AX with 21h
mov ax,[21] ; load AX with the
; contents of
; memory location 21h
使用偽指令
使用 a 命令提供兩個常用的偽指令:db 操作碼,將字節(jié)值直接匯編到內(nèi)存,dw 操作碼,將字值直接匯編到內(nèi)存 。以下是兩個偽指令的范例:
db 1,2,3,4,"THIS IS AN EXAMPLE"
db "THIS IS A QUOTATION MARK:""
db "THIS IS A QUOTATION MARK:""
dw 1000,2000,3000,"BACH"
范例
a 命令支持所有形式的間接注冊命令,如下例所示:
add bx,34[bp 2].[si-1]
pop [bp di]
push [si] )
還支持所有操作碼同義詞,如下例所示:
loopz 100
loope 100
ja 200
jnbe 200
對于 8087 操作碼,必須指定 wait 或 fwait 前綴,如下例所示:
fwait fadd st,st(3) ; this line assembles
; an fwait prefix
Debug:C(比較)
比較內(nèi)存的兩個部分 。
c range address
參數(shù)
range
指定要比較的內(nèi)存第一個區(qū)域的起始和結(jié)束地址,或起始地址和長度 。有關(guān)有效的 range 值的信息,請單擊“相關(guān)主題”列表中的“Debug 說明” 。
address
指定要比較的第二個內(nèi)存區(qū)域的起始地址 。有關(guān)有效 address 值的信息,請單擊“相關(guān)主題”列表中的“Debug 說明” 。
說明
如果 range 和 address 內(nèi)存區(qū)域相同,Debug 將不顯示任何內(nèi)容而直接返回到 Debug 提示符 。如果有差異,Debug 按如下格式顯示:
address1 byte1 byte2 addess2
2 of a total FF EMS handles have been allocated(完)計算機(jī)基礎(chǔ)教程網(wǎng)

    推薦閱讀