iret縮寫是什么意思,iret的全稱及含義,iret全稱意思大全
iret縮寫是什么意思
IRET英文含義
1、IRET的英文全稱:Instituto Regional de Estudios en Sustancias Tóxicas (Central American Institute for Studies on Toxic Substances) | 中文意思:───Instituto區(qū)域de Estudios en Sustancias Tóxicas(中美洲有毒物質(zhì)的研究研究所)
2、IRET的英文全稱:Institute for Rational-Emotive Therapy (now Albert Ellis Institute) | 中文意思:───理性情緒療法研究所(現(xiàn)艾里斯學(xué)院)
3、IRET的英文全稱:Institute for Research on the Economics of Taxation (Washington, DC) | 中文意思:───在稅收的經(jīng)濟(jì)學(xué)研究所(華盛頓特區(qū))
4、IRET的英文全稱:Institutional Responses to Emergent Technologies | 中文意思:───機(jī)構(gòu)應(yīng)對應(yīng)急技術(shù)
5、IRET的英文全稱:Institute for Research on the Economics of Taxation (Washington, DC) | 中文意思:───稅收經(jīng)濟(jì)學(xué)研究所(華盛頓特區(qū))
6、IRET的英文全稱:Investors Real Estate Trust (est. 1970; North Dakota) | 中文意思:───投資者房地產(chǎn)信托(est。 1970;北達(dá)科他州)
7、IRET的英文全稱:Instituto Regional de Estudios en Sustancias TÓxicas (Central American Institute for Studies on Toxic Substances) | 中文意思:───Instituto Regional de Estudios en Sustancias TÓxicas (Central American Institute for Studies on Toxic Substances)
8、IRET的英文全稱:Interrupt Return | 中文意思:───斷續(xù)回波
9、IRET的英文全稱:Interrupt Return | 中文意思:───中斷返回;中斷反回;中斷返回指令
請問這個Debug命令怎么使用
啟動 Debug,它是可用于測試和調(diào)試 MS-DOS 可執(zhí)行文件的程序。
Debug [[drive:][path] filename [parameters]]
參數(shù)
[drive:][path] filename
指定要測試的可執(zhí)行文件的位置和名稱。
parameters
指定要測試的可執(zhí)行文件所需要的任何命令行信息。
++
說明
使用 Debug 命令但不指定要測試的文件
如果使用沒有位置和文件名的 Debug 命令,然后鍵入所有的 Debug 命令以響應(yīng) Debug 提示符,連字符 (-)。
Debug 命令
以下是 Debug 命令列表:
? 顯示 Debug 命令列表。
a 匯編 8086/8087/8088 記憶碼。
c 比較內(nèi)存的兩個部分。
d 顯示部分內(nèi)存的內(nèi)容。
e 從指定地址開始,將數(shù)據(jù)輸入到內(nèi)存。
f 使用指定值填充一段內(nèi)存。
g 運行在內(nèi)存中的可執(zhí)行文件。
h 執(zhí)行十六進(jìn)制運算。
i 顯示來自特定端口的 1 字節(jié)值。
l 將文件或磁盤扇區(qū)內(nèi)容加載到內(nèi)存。
m 復(fù)制內(nèi)存塊中的內(nèi)容
/n 為 l 或 w 命令指定文件,或者指定正在測試的文件的參數(shù)。
o 向輸出端口發(fā)送 1 個字節(jié)的值。
p 執(zhí)行循環(huán)、重復(fù)的字符串指令、軟件中斷或子例程。
q 停止 Debug 會話。
r 顯示或改變一個或多個寄存器。
s 在部分內(nèi)存中搜索一個或多個字節(jié)值的模式。
t 執(zhí)行一條指令,然后顯示所有寄存器的內(nèi)容、所有標(biāo)志的狀態(tài)和 Debug 下一步要執(zhí)行的指令的**形式。
u 反匯編字節(jié)并顯示相應(yīng)的原語句。
w 將被測試文件寫入磁盤。
xa 分配擴(kuò)展內(nèi)存。
xd 釋放擴(kuò)展內(nèi)存。
xm 映射擴(kuò)展內(nèi)存頁。
xs 顯示擴(kuò)展內(nèi)存的狀態(tài)。
分隔命令參數(shù)
所有 Debug 命令都接受參數(shù),除了 q 命令之外??梢杂枚禾柣蚩崭穹指魠?shù),但是只有在兩個十六進(jìn)制值之間才需要這些分隔符。因此,以下命令等價:
dcs:100 110
d cs:100 110
d,cs:100,110
指定有效地址項
Debug 命令中的 address 參數(shù)指定內(nèi)存位置。Address 是一個包含字母段記錄的二位名稱或一個四位字段地址加上一個偏移量。可以忽略段寄存器或段地址。a,g,l,t,u 和 w 命令的默認(rèn)段是 CS。所有其他命令的默認(rèn)段是 DS。所有數(shù)值均為十六進(jìn)制格式。
有效地址如下:
CS:0100
04BA:0100
在段名和偏移量之間要有冒號。
指定有效范圍項
Debug 命令中的 range 參數(shù)指定了內(nèi)存的范圍。可以為 range 選擇兩種格式:起始地址和結(jié)束地址,或者起始地址和長度范圍(由 l 表示)。
例如,下面的兩個語法都可以指定從 CS:100 開始的 16 字節(jié)范圍:
cs:100 10f
cs:100 l 10
++
Debug 子命令
選擇 Debug 命令以獲得詳細(xì)信息。
Debug:A(匯編)
Debug:C(比較)
Debug(轉(zhuǎn)儲)
Debug:E(鍵入)
Debug:F(填充)
Debug:G(轉(zhuǎn)向)
Debug:H(十六進(jìn)制)
Debug:I(輸入)
Debug:L(加載)
Debug:M(移動)
Debug:N(名稱)
Debug:O(輸出)
Debug:P(執(zhí)行)
Debug:Q(退出)
Debug:r(寄存器)
Debug:s(搜索)
Debug:T(跟蹤)
Debug:U(反匯編)
Debug:W(寫入)
Debug:XA(分配擴(kuò)展內(nèi)存)
Debug:XD(取消分配擴(kuò)展內(nèi)存)
Debug:XM(映射擴(kuò)展內(nèi)存頁)
Debug:XS(顯示擴(kuò)展內(nèi)存狀態(tài))
***********************Debug子命令******************************
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(反匯編)。
范例
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
說明
使用記憶碼
段的替代記憶碼為 cs:、ds:、es: 和 ss:。遠(yuǎn)程返回的記憶碼是 retf。字符串處理的記憶碼必須明確聲明字符串大小。例如,使用 movsw 可以移動 16 位的字串,使用 mov***(文字因故被系統(tǒng)屏蔽)***(文字因故被系統(tǒng)屏蔽) 可以移動 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ù)類型。可接受的縮寫分別是 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"
++
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 說明”。
++
范例
以下命令具有相同效果:
c100,10f 300
c100l10 300
每個命令都對 100h 到 10Fh 的內(nèi)存數(shù)據(jù)塊與 300h 到 30Fh 的內(nèi)存數(shù)據(jù)塊進(jìn)行比較。
Debug 響應(yīng)前面的命令并顯示如下信息(假定 DS = 197F):
197F:0100 4D E4 197F:0300
197F:0101 67 99 197F:0301
197F:0102 A3 27 197F:0302
197F:0103 35 F3 197F: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。這表明那些地址中的值是相同的。
++
說明
如果 range 和 address 內(nèi)存區(qū)域相同,Debug 將不顯示任何內(nèi)容而直接返回到 Debug 提示符。如果有差異,Debug 將按如下格式顯示:
address1 byte1 byte2 addess2
++++
Debug(轉(zhuǎn)儲)
顯示一定范圍內(nèi)存地址的內(nèi)容。
d [range]
參數(shù)
range
指定要顯示其內(nèi)容的內(nèi)存區(qū)域的起始和結(jié)束地址,或起始地址和長度。有關(guān)有效的 range 值的信息,請單擊“相關(guān)主題”列表中的“Debug 說明”。如果不指定 range,Debug 程序?qū)囊郧?d 命令中所指定的地址范圍的末尾開始顯示 128 個字節(jié)的內(nèi)容。
有關(guān)顯示寄存器內(nèi)容的信息,請單擊“相關(guān)主題”列表中的 Debug R(寄存器)。
++
范例
假定鍵入以下命令:
dcs:100 10f
Debug 按以下格式顯示范圍中的內(nèi)容:
04BA:0100 54 4F 4D 00 53 41 57 59-45 52 00 00 00 00 00 00 TOM.SAWYER......
如果在沒有參數(shù)的情況下鍵入 d 命令,Debug 按以前范例中所描述的內(nèi)容來編排顯示格式。顯示的每行以比前一行的地址大 16 個字節(jié)(如果是顯示 40 列的屏幕,則為 8 個字節(jié))的地址開頭。
對于后面鍵入的每個不帶參數(shù)的 d 命令,Debug 將緊接在最后顯示的命令后立即顯示字節(jié)內(nèi)容。
如果鍵入以下命令,Debug 將從 CS:100 開始顯示 20h 個字節(jié)的內(nèi)容:
dcs:100 l 20
如果鍵入以下命令,Debug 將顯示范圍從 CS 段的 100h 到 115h 中所有字節(jié)的內(nèi)容:
dcs:100 115
++
說明
當(dāng)使用 d 命令時,Debug 以兩個部分顯示內(nèi)存內(nèi)容:十六進(jìn)制部分(每個字節(jié)的值都用十六進(jìn)制格式表示)和 ASCII 碼部分(每個字節(jié)的值都用 ASCII 碼字符表示)。每個非打印字符在顯示的 ASCII 部分由句號 (.) 表示。每個顯示行顯示 16 字節(jié)的內(nèi)容,第 8 字節(jié)和第 9 字節(jié)之間有一個連字符。每個顯示行從 16 字節(jié)的邊界上開始。
++
Debug:E(鍵入)
將數(shù)據(jù)輸入到內(nèi)存中指定的地址。
可以按十六進(jìn)制或 ASCII 格式鍵入數(shù)據(jù)。以前存儲在指**置的任何數(shù)據(jù)全部丟失。
e address
參數(shù)
address
指定輸入數(shù)據(jù)的第一個內(nèi)存位置。
list
指定要輸入到內(nèi)存的連續(xù)字節(jié)中的數(shù)據(jù)。
有關(guān)集成記憶碼的信息,請單擊“相關(guān)主題”列表中的 Debug A(匯編)。
有關(guān)顯示內(nèi)存部分內(nèi)容的信息,請單擊“相關(guān)主題”列表中的 Debug D (轉(zhuǎn)儲)。
++
范例
假定鍵入以下命令:
ecs:100
Debug 按下面的格式顯示第一個字節(jié)的內(nèi)容:
04BA:0100 EB.
要將該值更改為 41,請在**入點鍵入 41,如下所示:
04BA:0100 EB.41_
可以用一個 e 命令鍵入連續(xù)的字節(jié)值。在鍵入新值后按 SPACEBAR(空格鍵),而不是按 ENTER 鍵。Debug 顯示下一個值。在此范例中,如果按三次 SPACEBAR(空格鍵),Debug 將顯示下面的值:
04BA:0100 EB.41 10. 00. BC._
要將十六進(jìn)制值 BC 更改為 42,請在**入點鍵入 42,如下所示:
04BA:0100 EB.41 10. 00. BC.42_
假定決定值 10 應(yīng)該是 6F。要糾正該值,請按 HYPHEN 鍵兩次以返回到地址 0101(值 10)。Debug 顯示以下內(nèi)容:
04BA:0100 EB.41 10. 00. BC.42-
04BA:0102 00.-
04BA:0101 10._
在**入點鍵入 6f 更改值,如下所示:
04BA:0101 10.6f_
按 ENTER 停止 e 命令并返回到 Debug 提示符下。
以下是字符串項的范例:
eds:100 "This is the text example"
該字符串將從 DS:100 開始填充 24 個字節(jié)。
++
說明
使用 address 參數(shù)
如果在沒有指定可選的 list 參數(shù)的值情況下指定 address 的值,Debug 將顯示地址和內(nèi)容,在下一行重復(fù)地址,并等待您的輸入。此時,您可以執(zhí)行下列操作之一:
· 替換字節(jié)值。為此,請在當(dāng)前值后鍵入新值。如果您鍵入的值不是有效的十六進(jìn)制值,或該值包含兩個以上的數(shù)字,則 Debug 不會回顯無效或額外的字符。
· 進(jìn)入下一個字節(jié)。為此,請按 SPACEBAR(空格鍵)。要更改該字節(jié)中的值,請在當(dāng)前值后鍵入新值。如果按 SPACEBAR(空格鍵)時,移動超過了 8 位界限,Debug 程序?qū)@示新的一行并在行首顯示新地址。
· 返回到前一個字節(jié)。為此,請按 HYPHEN 鍵 (-)??梢苑磸?fù)按 HYPHEN 鍵 (-) 向后移動超過多個字節(jié)。在按 HYPHEN 時,Debug 開始新行并顯示當(dāng)前地址和字節(jié)值。
· 停止執(zhí)行 e 命令。為此,請按 ENTER 鍵。在任何字節(jié)位置都可以按 ENTER。
使用 list 參數(shù)
如果指定 list 參數(shù)的值,隨后的 e 命令將使用列表中的值替換現(xiàn)有的字節(jié)值。如果發(fā)生錯誤,將不更改任何字節(jié)值。
List 值可以是十六進(jìn)制字節(jié)或字符串。使用空格、逗號或制表符來分隔值。必須將字符串包括在單或雙引號中。
++++
Debug:F(填充)
使用指定的值填充指定內(nèi)存區(qū)域中的地址。
可以指定十六進(jìn)制或 ASCII 格式表示的數(shù)據(jù)。任何以前存儲在指**置的數(shù)據(jù)將會丟失。
f range list
參數(shù)
range
指定要填充內(nèi)存區(qū)域的起始和結(jié)束地址,或起始地址和長度。關(guān)于有效的 range 值的信息,請單擊“相關(guān)主題”列表中的“Debug 說明”。
list
指定要輸入的數(shù)據(jù)。List 可以由十六進(jìn)制數(shù)或引號包括起來的字符串組成。
++
范例
假定鍵入以下命令:
f04ba:100l100 42 45 52 54 41
作為響應(yīng),Debug 使用指定的值填充從 04BA:100 到 04BA:1FF 的內(nèi)存位置。Debug 重復(fù)這五個值直到 100h 個字節(jié)全部填滿為止。
++
說明
使用 range 參數(shù)
如果 range 包含的字節(jié)數(shù)比 list 中的數(shù)值大,Debug 將在 list 中反復(fù)指派值,直到 range 中的所有字節(jié)全部填充。
如果在 range 中的任何內(nèi)存損壞或不存在,Debug 將顯示錯誤消息并停止 f 命令。
使用 list 參數(shù)
如果 list 包含的數(shù)值多于 range 中的字節(jié)數(shù),Debug 將忽略 list 中額外的值。
++
Debug:G(轉(zhuǎn)向)
運行當(dāng)前在內(nèi)存中的程序。
g [=address] [breakpoints]
參數(shù)
=address
指定當(dāng)前在內(nèi)存中要開始執(zhí)行的程序地址。如果不指定 address,Windows 2000 將從 CS:IP 寄存器中的當(dāng)前地址開始執(zhí)行程序。
breakpoints
指定可以設(shè)置為 g 命令的部分的 1 到 10 個臨時斷點。
有關(guān)執(zhí)行循環(huán)、重復(fù)的字符串指令、軟件中斷或子程序的信息,請單擊“相關(guān)主題”列表中的 Debug P(執(zhí)行)。
有關(guān)執(zhí)行指令的信息,請單擊“相關(guān)主題”列表中的 Debug T(跟蹤)。
范例
假定鍵入以下命令:
gcs:7550
Windows 2000 運行當(dāng)前內(nèi)存中的程序,直到執(zhí)行到 CS 段中的斷點地址 7550 為止。Debug 將顯示寄存器的內(nèi)容和標(biāo)志的狀態(tài)并結(jié)束 g 命令。
以下命令設(shè)置兩個斷點:
gcs:7550, cs:8000
如果在 Debug 遇到斷點之后再次鍵入 g 命令,將從在斷點之后的指令開始執(zhí)行,而不是在通常的開始地址執(zhí)行。
++
說明
使用 address 參數(shù)
必須在 address 參數(shù)之前使用等號 (=) 以區(qū)分開始地址 (address) 和斷點地址 (breakpoints)。
指定斷點
程序在它遇到的第一個斷點處停止,而不論您在 breakpoint 列表的什么位置鍵入斷點。Debug 在每個斷點處用中斷代碼代替原始指令。
當(dāng)程序到達(dá)斷點時,Debug 將所有斷點地址恢復(fù)到它們的最初指令并顯示所有寄存器的內(nèi)容、所有標(biāo)記的狀態(tài)以及最后執(zhí)行指令的**形式。Debug 顯示的信息與使用 Debug r(寄存器)命令并指定斷點時所顯示的信息相同。
如果不在斷點處停止程序,Debug 程序?qū)⒉皇褂迷贾噶钐鎿Q中斷代碼。
設(shè)置斷點的限制
可以只在包含 8086 操作代碼(操作碼)的第一個字節(jié)的地址上設(shè)置斷點。如果設(shè)置了 10 個以上的斷點,Debug 將顯示以下信息:
bp error
對用戶堆棧指針的要求
用戶堆棧指針必須有效且必須有 6 個字節(jié)可用于 g 命令。該命令使用 iret 指令跳轉(zhuǎn)到正在被測試的程序。Debug 設(shè)置用戶堆棧指針并將用戶標(biāo)志、代碼段寄存器和指令指針壓入用戶堆棧。(如果用戶堆棧無效或太小,操作系統(tǒng)可能會失敗。)Debug 在指定的斷點處設(shè)置中斷代碼 (0CCh)。
重新啟動程序
不要在 Windows 2000 顯示以下消息后嘗試重新啟動程序;
Program terminated normally
要正確地運行程序,必須通過使用 Debug n(名稱)和 l(加載)命令重新加載該程序。
++++
Debug:H(十六進(jìn)制)
對指定的兩個參數(shù)執(zhí)行十六進(jìn)制運算。
h value1 value2
參數(shù)
value1
代表從 0 到 FFFFh 范圍內(nèi)的任何十六進(jìn)制數(shù)字。
value2
代表從 0 到 FFFFh 范圍內(nèi)第二個十六進(jìn)制數(shù)字。
++
范例
假定鍵入以下命令:
h19f 10a
Debug 執(zhí)行運算并顯示以下結(jié)果。
02A9 0095
++
說明
Debug 首先將指定的兩個參數(shù)相加,然后從第一個參數(shù)中減去第二個參數(shù)。這些計算的結(jié)果顯示在一行中:先計算和,然后計算差。
++++
Debug:I(輸入)
從指定的端口讀取并顯示一個字節(jié)值。
i port
參數(shù)
port
按地址指定輸入端口。地址可以是 16 位的值。
有關(guān)將字節(jié)值發(fā)送到輸出端口的信息,請單擊“相關(guān)主題”列表中的 Debug O(輸出)。
++
范例
假定鍵入以下命令:
i2f8
同時假定端口的字節(jié)值是 42h。Debug 讀取該字節(jié),并將其值顯示如下:
42
++
Debug:L(加載)
將某個文件或特定磁盤扇區(qū)的內(nèi)容加載到內(nèi)存。
要從磁盤文件加載 BX:CX 寄存器中指定的字節(jié)數(shù)內(nèi)容,請使用以下語法:
l [address]
要略過 Windows 2000 文件系統(tǒng)并直接加載特定的扇區(qū),請使用以下語法:
l address drive start number
參數(shù)
address
指定要在其中加載文件或扇區(qū)內(nèi)容的內(nèi)存位置。如果不指定 address,Debug 將使用 CS 寄存器中的當(dāng)前地址。
drive
指定包含讀取指定扇區(qū)的磁盤的驅(qū)動器。該值是數(shù)值型:0 = A, 1 = B, 2 = C 等。
start
指定要加載其內(nèi)容的第一個扇區(qū)的十六進(jìn)制數(shù)。
number
指定要加載其內(nèi)容的連續(xù)扇區(qū)的十六進(jìn)制數(shù)。只有要加載特定扇區(qū)的內(nèi)容而不是加載 debug 命令行或最近的 Debug n(名稱)命令中指定的文件時,才能使用 drive、start 和 number 參數(shù)。
有關(guān)指定用于 l 命令的文件的信息,請單擊“相關(guān)主題”列表中的 Debug n(名稱)。
有關(guān)寫入調(diào)試到磁盤的文件的信息,請單擊“相關(guān)主題”列表中的 Debug w(寫入)。
++
范例
假定啟動 Debug 并鍵入以下命令:
nfile.com
現(xiàn)在可以鍵入 l 命令以加載 File.com。Debug 將加載文件并顯示 Debug 提示符。
假定需要從驅(qū)動器 C 將起始邏輯扇區(qū)為 15 (0Fh) 的 109 (6Dh) 個扇區(qū)的內(nèi)容加載到起始地址為 04BA:0100 的內(nèi)存中。為此,請鍵入以下命令:
l04ba:100 2 0f 6d
++
注意
使用不帶參數(shù)的 l 命令
當(dāng)使用不帶參數(shù)的 l 命令時,在 debug 命令行上指定的文件將加載到內(nèi)存中,從地址 CS:100 開始。Debug 同時將 BX 和 CX 寄存器設(shè)置為加載的字節(jié)數(shù)。如果不在 debug 命令行指定文件,所裝入的文件將是最近使用 n 命令經(jīng)常指定的文件。
使用具有 address 參數(shù)的 1 命令
如果使用帶 address 參數(shù)的 l 命令,Debug 將從內(nèi)存位置 address 開始加載文件或指定扇區(qū)的內(nèi)容。
使用帶全部參數(shù)的 l 命令
如果使用帶所有參數(shù)的 l 命令,Debug 將加載指定磁盤扇區(qū)的內(nèi)容而不是加載文件。
加載特定扇區(qū)的內(nèi)容
指定范圍內(nèi)的每個扇區(qū)均從 drive 讀取。Debug 從 start 開始加載,直到在 number 中指定的扇區(qū)數(shù)中的內(nèi)容全部被加載。
加載 .exe 文件
Debug 忽略 .exe 文件的地址 address 參數(shù)。如果指定 .exe 文件,Debug 將文件重新**到 .exe 文件的標(biāo)題中指定的加載地址。在 .exe 文件被加載到內(nèi)存前,標(biāo)題自身從 .exe 文件脫離,因此磁盤上的 .exe 文件大小與內(nèi)存中的不同。如果要檢查整個 .exe 文件,請使用不同的擴(kuò)展名重命名文件。
打開十六進(jìn)制文件
Debug 將具有 .hex 擴(kuò)展名的文件認(rèn)為十六進(jìn)制格式文件。鍵入不帶參數(shù)的 l 命令,可以加載從十六進(jìn)制文件中指定的地址處開始的十六進(jìn)制文件。如果鍵入的 l 命令包含 address 參數(shù),Debug 將把指定的地址加到在十六進(jìn)制文件中找到的地址上,以確定起始地址。
++++
Debug:M(移動)
將一個內(nèi)存塊中的內(nèi)容復(fù)制到另一個內(nèi)存塊中。
m range address
參數(shù)
range
指定要復(fù)制內(nèi)容的內(nèi)存區(qū)域的起始和結(jié)束地址,或起始地址和長度。
address
指定要將 range 內(nèi)容復(fù)制到該位置的起始地址。
++
范例
假定鍵入以下命令:
mcs:100 110 cs:500
Debug 首先將 CS:110 地址中的內(nèi)容復(fù)制到地址 CS:510 中,然后將 CS:10F 地址中的內(nèi)容復(fù)制到 CS:50F 中,如此操作直至將 CS:100 地址中的內(nèi)容復(fù)制到地址 CS:500 中。要查看結(jié)果,請使用 Debug d(轉(zhuǎn)儲)命令,并使用 m 命令指定目標(biāo)地址。
++
說明
復(fù)制操作對現(xiàn)有數(shù)據(jù)的影響
如果新數(shù)據(jù)沒有寫入正在被復(fù)制的數(shù)據(jù)塊中的地址,則源數(shù)據(jù)將保持不變。但是,如果目標(biāo)塊已經(jīng)包含數(shù)據(jù)(就象它在覆蓋副本操作中一樣),則將改寫該數(shù)據(jù)。(覆蓋復(fù)制操作是指那些目標(biāo)數(shù)據(jù)塊部分內(nèi)容覆蓋原數(shù)據(jù)塊部分內(nèi)容的操作。)
執(zhí)行覆蓋復(fù)制操作
m 命令執(zhí)行目標(biāo)地址的覆蓋復(fù)制操作,而不丟失數(shù)據(jù)。將改寫的地址內(nèi)容首先復(fù)制。因此,如果將較高位地址的數(shù)據(jù)復(fù)制到較低位地址,則復(fù)制操作從原塊的最低位地址開始并向最高位地址進(jìn)行。反之,如果要將數(shù)據(jù)從低地址復(fù)制到高地址,復(fù)制操作從原塊的最高地址開始,向最低地址進(jìn)行。
++++
Debug:N(名稱)
指定 Debug l(加載)或 w(寫入)命令的可執(zhí)行文件的名稱,或者指定正在調(diào)試的可執(zhí)行文件的參數(shù)。
n [drive:][path] filename
要指定測試的可執(zhí)行文件的參數(shù),請使用以下語法:
n file-parameters
參數(shù)
如果在沒有參數(shù)的情況下使用,則 n 命令清除當(dāng)前規(guī)范。
[drive:][path] filename
指定要測試的可執(zhí)行文件的位置和名稱。
file-parameters
為正在測試的可執(zhí)行文件指定參數(shù)和開關(guān)。
有關(guān)將文件或指定磁盤扇區(qū)的內(nèi)容加載到內(nèi)存中的信息,請單擊“相關(guān)主題”列表中的 Debug L(加載)。
有關(guān)寫入調(diào)試到磁盤的文件的信息,請單擊“相關(guān)主題”列表中的 Debug W(寫入)。
++
范例
假定已經(jīng)啟動 Debug,并加載了正在調(diào)試的程序 Prog.com。接著您決定為 Prog.com 指定兩個參數(shù)并運行此程序。以下是此范例的命令序列:
debug prog.com
nparam1 param2
g
在這種情況下,Debug g(轉(zhuǎn)向)命令會運行該程序,就好像您已在 Windows 2000 命令提示符后鍵入了如下命令:
prog param1 param2
所以,測試和調(diào)試反映 Prog.com 通常的運行時間環(huán)境。
在下面的命令序列中,第一個 n 命令將 File1.exe 指定為后接的 l(加載)命令的文件,該命令將 File1.exe 加載到內(nèi)存。第二個 n 命令指定 File1.exe 將使用的參數(shù)。最后,g 命令將運行 File1.exe 文件,就好像您在 Windows 2000 命令行中鍵入了 File1 File2.dat File2.dat 一樣。
nfile1.exe
l
nfile2.dat file3.dat
g
注意
· 不要在 n 命令的第二種形式后使用 l 命令。還要注意,如果現(xiàn)在使用 w(寫入)命令,Windows 2000 將使用名稱 File2.dat 保存正在調(diào)試的文件 File1.exe。為避免出現(xiàn)此結(jié)果,應(yīng)該總是在 l 或 w 命令之前立即使用 n 命令的第一種形式。
++
說明
n 命令的兩個用途
可以按兩種方式使用 n 命令。首先,您可以使用它以指定后面的 l(加載)或 w(寫入)命令所使用的文件。如果在沒有命名所調(diào)試文件的情況下啟動 Debug,必須在使用 l 命令加載文件之前使用命令 nfilename。在 CS:5C 為文件控制塊 (FCB) 正確編排文件名的格式。其次,可以使用 n 命令指定被調(diào)試文件的命令行參數(shù)和開關(guān)。
內(nèi)存區(qū)域
以下四個內(nèi)存區(qū)域都會受到 n 命令的影響:
內(nèi)存位置 內(nèi)容
CS:5C 文件 1 的文件控制數(shù)據(jù)塊 (FCB)
CS:6C 文件 2 的文件控制數(shù)據(jù)塊 (FCB)
CS:80 n 命令行的長度(以字符表示)
CS:81 n 命令行字符的開頭
為 n 命令指定的第一個文件名被放在 CS:5C 的 FCB 中。如果指定第二個文件名,此名稱將放置到 CS:6C 的 FCB 中。n 命令行上鍵入的字符數(shù)(除第一個字符之外,n)存儲在位置 CS:80。n 命令行上的實際字符(再次,除了字母 n 之外)存儲在以 CS:81 開頭的位置。注意這些字符可以是在 Windows 2000 命令提示符下鍵入的命令中有效的任何開關(guān)和分隔符。
++++
Debug:O(輸出)
將字節(jié)值發(fā)送到輸出端口。
o port byte-value
參數(shù)
port
通過地址指定輸出端口。端口地址可以是 16 位值。
byte-value
指定要指向 port 的字節(jié)值。
有關(guān)從輸入端口讀取字節(jié)值的信息,請單擊“相關(guān)主題”列表中的 Debug I(輸入)。
++
范例
要將
單片機(jī)查表指令movc什么意思
movc是訪問單片機(jī)程序存儲器的意思。(程序存儲器是固化的數(shù)據(jù),在單片機(jī)運行時只能讀,不能寫)
movx是讀寫單片機(jī)外部數(shù)據(jù)存儲器的意思。
0到9的平方值依次為:0, 1, 4, 9, 16, 25, 36,49,64,81
表頭地址就是第一個數(shù)的存放地址。是將上列數(shù)據(jù)放入1000h開始的程序存儲器里。
地址: 1000 1001 1002 1003依次類推直到1009
平方數(shù): 0 1 4 9,。。。。。。。
看到了吧,程序第一行是將1000h的立即數(shù)放入數(shù)據(jù)指針,用它作為基地址,程序第二行是將A中的數(shù)加上DPTR的內(nèi)容以這個數(shù)為地址去查表并將結(jié)果放入A中,如果A=3,那么3+1000就是1003(地址),查1003地址單元的內(nèi)容就是9,就實現(xiàn)了查表。
查表用的很多,可以節(jié)約單片機(jī)的運算時間,如果讓單片機(jī)去算這些平方很費時,在人為可以預(yù)料到的有規(guī)律的運算可以先把結(jié)果計算出來,存入程序存儲器,然后讓單片機(jī)在運行時根據(jù)規(guī)律去查表取出這些結(jié)果。
本站其他內(nèi)容推薦
1、obituary question thesis bring Washington twat Laurentian hubristic spinney sweat-bee
2、statue of libery中文翻譯,statue of libery是什么意思,statue of libery發(fā)音、用法及例句
3、cnsc縮寫是什么意思,cnsc的全稱及含義,cnsc全稱意思大全
4、redirect是什么意思,redirect中文翻譯,redirect發(fā)音、用法及例句
7、魂的部首,魂[ hún ],魂字的拼音,部首,意思,組詞,成語,魂字的筆順,筆畫順序怎么寫
8、grudge是什么意思,grudge中文翻譯,grudge怎么讀、發(fā)音、用法及例句
9、yoked是什么意思,yoked中文翻譯,yoked怎么讀、發(fā)音、用法及例句
10、古代的英文,英語,antiquity是什么意思,antiquity中文翻譯,antiquity怎么讀、發(fā)音、用法及例句
版權(quán)聲明: 本站僅提供信息存儲空間服務(wù),旨在傳遞更多信息,不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任,不代表本網(wǎng)贊同其觀點和對其真實性負(fù)責(zé)。如因作品內(nèi)容、版權(quán)和其它問題需要同本網(wǎng)聯(lián)系的,請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。