debug命令學(xué)習(xí)指導(dǎo)_第1頁(yè)
debug命令學(xué)習(xí)指導(dǎo)_第2頁(yè)
debug命令學(xué)習(xí)指導(dǎo)_第3頁(yè)
debug命令學(xué)習(xí)指導(dǎo)_第4頁(yè)
debug命令學(xué)習(xí)指導(dǎo)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、調(diào)試程序DEBUG.EXE解析1、debug是什么?DEBUG.EXE是DOS提供的可用于調(diào)試可執(zhí)行程序的一個(gè)工具軟件,也是可用于匯編語(yǔ)言程序設(shè)計(jì)的一種調(diào)試工具。DEBUG也是軟件開發(fā)的重要調(diào)試工具,這是因?yàn)镈EBUG除了可運(yùn)行匯編語(yǔ)言程序外,還可直接用來(lái)檢查和修改內(nèi)存單元,裝入、存儲(chǔ)及啟動(dòng)運(yùn)行程序,檢查及修改寄存器。也就是說(shuō)DEBUG可深入到計(jì)算機(jī)的基本級(jí)上,可使用戶更緊密的與計(jì)算機(jī)中真正進(jìn)行的工作相聯(lián)系。2、如何啟動(dòng)debug命令來(lái)調(diào)試程序?啟動(dòng)DEBUG的一般命令如下: DEBUG 路徑文件名參數(shù)1參數(shù)2其中:文件名指定被調(diào)試的文件,包括文件名和后綴,參數(shù)表是被調(diào)試文件運(yùn)行時(shí)所需要的參數(shù)

2、。被調(diào)試的文件可以是系統(tǒng)中的任何文件,但通常它們的后綴為EXE或COM。當(dāng)DEBUG啟動(dòng)成功后,將顯示連接符“-”,這時(shí),可輸入各種命令。注意: 運(yùn)行Debug程序時(shí),如果不帶被調(diào)試程序,則所有段寄存器值相等,都指向當(dāng)前可用的主存段;除SP之外的通用寄存器都設(shè)置為0,而SP指示當(dāng)前堆棧頂在這個(gè)段的尾部;IP=0100h;狀態(tài)標(biāo)志都是清0狀態(tài)。 運(yùn)行Debug程序時(shí),如果帶入的被調(diào)試程序擴(kuò)展名是.EXE,則需要重新定位。此時(shí),CS:IP和SS:SP根據(jù)被調(diào)試程序確定,分別指向代碼段和堆棧段。DS=ES指向當(dāng)前可用的主存段,BX.CX包含被調(diào)試文件大小的字節(jié)數(shù)(BX為高16位),其他通用寄存器為0

3、,狀態(tài)標(biāo)志都是清0狀態(tài)。標(biāo)志名稱溢出OF方向DF中斷IF負(fù)號(hào)SF零ZF輔助進(jìn)位AF奇偶PF進(jìn)位CF置位狀態(tài)1OVDNEINGZRACPECY復(fù)位狀態(tài)0NVUPDIPLNZNAPONC表1 DEBUG中標(biāo)志位的符號(hào)表示3、DEBUG的命令及其參數(shù) (一)DEBUG的命令Debug的命令都是一個(gè)字母,后跟一個(gè)或多個(gè)參數(shù): 字母參數(shù)。命令的使用中注意:(1) 字母不分大小寫; (2) 只使用16進(jìn)制數(shù),并且不加尾綴“H”;(3) 分隔符(空格或逗號(hào))只在兩個(gè)數(shù)值之間是必須的,命令和參數(shù)間可無(wú)分隔符。因此下列這些命令是等價(jià)的: dcs:100 110 d cs:100 110 d,cs:100,110

4、(4) 只有在按ENTER鍵之后,輸入的命令才有效??梢杂肅trl+Break中止命令的執(zhí)行;(5)如果遇到語(yǔ)法出錯(cuò),那么就顯示“error”字樣, 如: d cs:100 cs:110 error錯(cuò)誤原因是,命令D要求第二個(gè)地址中只包含16進(jìn)制的偏移值。(6)不能使用符號(hào)常量和符號(hào)地址。 (7)不能使用絕大部分偽指令,但兩個(gè)最常用的偽指令DB和DW能被使用,用于直接把字節(jié)和字?jǐn)?shù)據(jù)置人相應(yīng)存儲(chǔ)單元。如: DB 1,2,3,4,“ABCD” DW 1234,5678 (8)可以使用屬性操作符“PTR”對(duì)DEBUG不能明確類型的操作數(shù)進(jìn)行說(shuō)明。如:INC BYTE PTR BX。 (9)DEBUG

5、的A命令匯編程序能根據(jù)轉(zhuǎn)移目標(biāo)地址的距離自動(dòng)地匯編出短、近或遠(yuǎn)的轉(zhuǎn)移或調(diào)用指令。當(dāng)然,這也能由“SHORT”、“NEAR PTR”或FAR PTR”對(duì)轉(zhuǎn)移目標(biāo)地址進(jìn)行說(shuō)明來(lái)實(shí)現(xiàn)。 (10)遠(yuǎn)返回指令的助記符在DEBUG中為RETF。 (11)指令前綴助記符必須在相關(guān)的指令之前輸入,也可以分別放在不同的行。 (12)串操作指令只能用其字節(jié)型或字型的助記符形式,如:MOVSB、CMPSW等。 (13)可以使用段超越前綴助記符CS:、DS:、ES:和SS:。如: DS: MOV AL,BP(二)DEBUG的命令參數(shù)許多命令的參數(shù)是主存邏輯地址,形式是“段地址:偏移地址”。其中,段地址可以是段寄存器或

6、數(shù)值;偏移地址是數(shù)值。如果不輸入段地址,則采用默認(rèn)值,可以是缺省段寄存器值。如果沒有提供偏移地址,則通常就是當(dāng)前偏移地址。例如:1000:0,ds:10,cs:30等;對(duì)主存操作的命令還支持地址范圍這種參數(shù),從哪個(gè)地址開始,到哪個(gè)地址結(jié)束。它有二種表示方式:地址 地址前者表示起始地址,要用“段值:偏移量”來(lái)表達(dá),后者表示終止地址,只用“偏移量”來(lái)表示; 例如:200:50 100段值為200,偏移量從50到100的內(nèi)存區(qū)域,地址 長(zhǎng)度前者表示起始地址,要用“段值:偏移量”來(lái)表達(dá),后者表示該區(qū)域的大小,用字母L開頭的數(shù)值來(lái)表示。 例如:200:50 L100段值為200,偏移量從50開始的100

7、個(gè)字節(jié)區(qū)域。4、DEBUG命令的使用DEBUG的命令共有19條,這里具體介紹常用的幾條,其余的請(qǐng)同學(xué)們課后自行消化。(1)裝人命令(Load) 用途:把文件或特定磁盤扇區(qū)的內(nèi)容加載到內(nèi)存。說(shuō)明:用單個(gè)Load命令可裝入的最大扇區(qū)數(shù)是80H。如果出現(xiàn)讀盤錯(cuò),則DEBUG顯示出錯(cuò)信息。 裝入命令有兩種形式: 形式1用于在沒有參數(shù)或只用一個(gè)地址參數(shù)時(shí),裝入文件。L地址 ;形式1:裝入由N命令指定的文件當(dāng)使用不帶參數(shù)的 L 命令時(shí),在 debug 命令行上指定的文件將加載到內(nèi)存中,從地址 CS:100 開始。Debug 同時(shí)將 BX 和 CX 寄存器設(shè)置為加載的字節(jié)數(shù)。如果不在 debug 命令行指定

8、文件,所裝入的文件將是最近使用 n 命令指定的文件。如果使用帶 address 參數(shù)的 L命令,Debug 將從內(nèi)存位置 address 開始加載文件或指定扇區(qū)的內(nèi)容。 形式2L地址驅(qū)動(dòng)器扇區(qū)號(hào)扇區(qū)數(shù)用于從指定的驅(qū)動(dòng)器中的盤上裝人數(shù)據(jù),并把數(shù)據(jù)存放在存儲(chǔ)器中指定的address開始的單元中。 例如: L 4BA:100 1 OF 6D從驅(qū)動(dòng)器B的盤上裝人數(shù)據(jù),并把數(shù)據(jù)存放在以4BA:100開始的內(nèi)存中。從相對(duì)扇區(qū)0FH(15),即該軟盤的第16扇區(qū)開始,傳送6DH(109)個(gè)連續(xù)扇區(qū)的數(shù)據(jù)。其中,0表示A盤,1表示B盤,2表示C盤,。(2)命名命令(Name)格式:Ndrive:path fi

9、lename用途:把一個(gè)或兩個(gè)可以包含路徑的文件全名存入Debug中,以便在其后用L或W命令把文件裝入或存盤。 說(shuō)明:如果在無(wú)文件說(shuō)明時(shí)啟動(dòng)DEBUG,在用L命令裝入文件之前,必須使用Name命令。如果現(xiàn)在使用 w(寫入)命令,Windows將使用名稱 File2.dat 保存正在調(diào)試的文件 File1.exe。為避免出現(xiàn)此結(jié)果,應(yīng)該總是在 l 或 w 命令之前使用 n 命令。 (3)退出命令(Quit) 格式:Q ;用途:結(jié)束DEBUG程序。 說(shuō)明:Q命令不保存內(nèi)存中正工作的文件,需要時(shí)可用Write命令保存文件。(4)匯編命令(Assemble) 用途:鍵人匯編指令,并把它們匯編成機(jī)器代碼

10、,相繼存放在從指定地址開始的存儲(chǔ)區(qū)中。 格式:A地址;從指定地址開始匯編指令說(shuō)明:輸入給本命令的所有數(shù)字都是十六進(jìn)制的。將輸人的指令從指定的地址address開始裝入內(nèi)存的連續(xù)單元。如果不指定地址,則把語(yǔ)句裝人CS:0100確定的區(qū)域中;如果已用過(guò)A命令,那么就在前一個(gè)A命令所裝入的最后一條指令的后繼單元中,接著輸入指令。進(jìn)行匯編的步驟如下:輸入?yún)R編命令A(yù)地址,按回車。Debug提示地址,等待你輸入新指令; 輸入?yún)R編指令,按回車; 如上繼續(xù)輸入?yún)R編指令,直到輸入所有指令; 不輸入內(nèi)容就按回車,結(jié)束匯編,返回Debug的提示符狀態(tài)。 DEBUG對(duì)不可用語(yǔ)句的響應(yīng)是顯示信息: error 并顯示當(dāng)

11、前的裝人地址。A命令支持標(biāo)準(zhǔn)的8086(和8087浮點(diǎn))指令系統(tǒng)以及匯編語(yǔ)言語(yǔ)句格式,但要注意以下一些規(guī)則:所有輸入的數(shù)值都是16進(jìn)制數(shù); 段超越指令需要在相應(yīng)指令前,單獨(dú)一行輸入; 段間(遠(yuǎn))返回的助記符要使用RETF; A命令也支持最常用的兩個(gè)偽指令DB和DW。(5)寄存器命令(Register) 用途:寄存器命令有三種功能: 顯示單個(gè)寄存器的十六進(jìn)制內(nèi)容,并帶有修改這些內(nèi)容的選擇。 顯示全部寄存器、標(biāo)志位、以及將被執(zhí)行的下條指令。 顯示8個(gè)標(biāo)志位狀態(tài),并帶有修改它們之中任一個(gè)或全部的選擇。 格式:R 寄存器名 使用說(shuō)明:顯示和修改指定寄存器 有效寄存器是:AX、BX、CX、DX、SP、B

12、P、SI、DI、DS、ES、SS、CS和IP。例如,為了顯示AX寄存器的內(nèi)容,可輸入:R AXAX F1E4 :_系統(tǒng)顯示如下: 現(xiàn)在可以采用下列兩個(gè)操作中的某一個(gè): a按ENTER鍵保留未修改的內(nèi)容。 b輸入14字符的十六進(jìn)制值來(lái)修改AX寄存器的內(nèi)容,例如FFFH, AX F1F4 :FFF_現(xiàn)在按ENTER鍵把AX寄存器內(nèi)容改變成0FFFH。 顯示所有的寄存器和標(biāo)志位 為了顯示所有寄存器的內(nèi)容和標(biāo)志位(還有下條要執(zhí)行的指令),輸入: R則系統(tǒng)可能顯示如下: AX=0E00 BX=00FF CX=0007 DX=01FF SP=039D BP=0000 SI=005C DI=0000 DS=

13、04BA ES=04BA SS=04BA CS=04BA IP=011A NV UP DI NG NZ AC PE NC 04BA:01lA CD21 1NT 21頭4行顯示寄存器十六進(jìn)制內(nèi)容和8個(gè)標(biāo)志位狀態(tài)。最后一行指出下一條要執(zhí)行的指令地址和它的16進(jìn)制機(jī)器碼以及反匯編形式,這是當(dāng)前CS:IP指向的指令。 顯示標(biāo)志位 有8個(gè)標(biāo)志位,每位用2個(gè)字母表示是置“1”狀態(tài)還是清除狀態(tài),詳細(xì)說(shuō)明見下表: 標(biāo)志位的符號(hào)表示 標(biāo)志位 名 稱 Set(置位) clear(清除) 溢出(是否) 方向(減增) 中斷(允許禁止)符號(hào)(負(fù)正) 零 (是否) 輔助進(jìn)位(是否) 奇偶(偶奇) 進(jìn)位(是否) O V D

14、 N E I N G Z R A C P E C Y N V U P D I P L N Z N A P O N C為了顯示所有的標(biāo)志位,輸人命令: R F如果所有標(biāo)志位處于置1狀態(tài),就顯示: OV DN EI NGZR AC PE CY現(xiàn)在可以進(jìn)行下面兩個(gè)操作之中的某一個(gè): a按ENTER鍵保留未修改的標(biāo)志位狀態(tài)。 b修改任一個(gè)或全部標(biāo)志位狀態(tài)。為了修改標(biāo)志位,應(yīng)輸入它的相反碼??梢园慈魏雾樞?,帶或不帶分隔的空格來(lái)輸入此相反碼。例如,為了修改第一、第三、第五和第七標(biāo)志位,輸入: 0V DN EI NG ZR AC PE CY 上面是按倒過(guò)來(lái)的順序輸入標(biāo)志碼的。按ENTER鍵則按所指定的要求修

15、改各標(biāo)志位。(6)跟蹤命令(Trace) 格式:T=地址 ;逐條指令跟蹤T=地址數(shù)值;多條指令跟蹤用途:從CS:IP或者=address(如果指定的話)單元中的指令開始單步執(zhí)行一條或多條指 令。這里的=號(hào)必須輸入??梢杂胿alue指定跟蹤多條指令。每條指令執(zhí)行后,顯示所有寄存 器的內(nèi)容、標(biāo)志位的狀態(tài)以及下一條要執(zhí)行的指令。 例如,輸入命令: T 如果IP寄存器內(nèi)容為011A,而該地址指向的指令是MOV AH,0EH,這可能顯示: AX=0E00 BX=00FF CX=0007 DX=01FF SP=039D BP=0000 SI=005C D1=0000 DS=04BA ES=04BA SS=

16、04BA CS=04BA IP=011C NV UP DI NG NZ NC PE NC 04BA:01lC CD21 INT 21這是執(zhí)行011A中指令之后顯示的結(jié)果,并且指出下條要執(zhí)行的指令是04BA:011C單元中的INT 21。T命令逐條指令執(zhí)行程序,遇到子程序(CALL)或中斷調(diào)用(INTn)指令也不例外,也會(huì)進(jìn)入到子程序或中斷服務(wù)程序當(dāng)中執(zhí)行。(7)繼續(xù)命令P(Proceed)類似T命令,逐條執(zhí)行指令、顯示結(jié)果。但是當(dāng)遇到子程序調(diào)用、中斷功能調(diào)用和循環(huán)指令等時(shí),不在子程序、中斷服務(wù)程序或循環(huán)體中單步執(zhí)行,而是直接執(zhí)行完成子程序、中斷服務(wù)程序或循環(huán)體,然后顯示結(jié)果。當(dāng)不需要調(diào)試子程序

17、、中斷服務(wù)程序或循環(huán)程序段時(shí),要應(yīng)用P命令,而不是T命令。P=地址數(shù)值 (8)反匯編命令(Unassemble) 反匯編命令有兩種選擇形式:U地址;從指定地址開始,反匯編32個(gè)字節(jié), 如果不指定地址,則U命令認(rèn)為起始地址是原先U命令反匯編過(guò)的最后指令的下一個(gè)單元。因此,連續(xù)地輸入無(wú)參數(shù)的U命令能夠?qū)B續(xù)的內(nèi)存單元進(jìn)行反匯編,并產(chǎn)生連續(xù)的反匯編的顯示。如果原先沒有輸入U(xiǎn)命令,則起始單元是由DEBUG初始化在代碼中的段內(nèi)偏移值01OOH。U范圍;對(duì)指定范圍的主存內(nèi)容進(jìn)行反匯編, 不管系統(tǒng)顯示格式如何,把指定地址范圍內(nèi)的所有指令都進(jìn)行反匯編。(9)執(zhí)行命令(GO) 用途:執(zhí)行正在調(diào)試的程序。當(dāng)達(dá)到所

18、指定的斷點(diǎn)地址處時(shí),就停止執(zhí)行,并顯示寄存器、標(biāo)志位以及下一條要執(zhí)行的指令。 格式:G=地址斷點(diǎn)地址1,斷點(diǎn)地址2,.,斷點(diǎn)地址10 說(shuō)明:如果不采用=address參數(shù)(必須輸入=號(hào)),就從CS和IP寄存器內(nèi)容決定的地址開始執(zhí)行程序。如果指定=address,則程序就從CS:address處開始執(zhí)行。斷點(diǎn)可以沒有,但最多只能有10個(gè)。程序正常結(jié)束,將顯示“Programterminatednormally”。 執(zhí)行命令(GO)有兩種形式供選用: 形式1在無(wú)斷點(diǎn)時(shí),利用此形式執(zhí)行正在調(diào)試的程序。 例如:G=address如果不采用=address時(shí),在發(fā)出G命令之前,務(wù)必要把CS:IP值設(shè)置正

19、確。 形式2完成與形式1相同的功能,此外還允許在指定的地址上設(shè)置斷點(diǎn)。 例如: G=address address address此形式使執(zhí)行停在指定的單元上,因此可以檢查系統(tǒng)程序環(huán)境。可以按任一種順序指定十個(gè)斷點(diǎn)。DEBUG程序在斷點(diǎn)地址上用個(gè)中斷碼CCH置換該指令碼。在執(zhí)行時(shí),無(wú)論到達(dá)哪個(gè)斷點(diǎn)都停止執(zhí)行,顯示寄存器和標(biāo)志位,并把所有斷點(diǎn)地址的內(nèi)容都恢復(fù)成它們?cè)瓉?lái)的指令碼。 例如:G 102 1EF 208從當(dāng)前的指令開始執(zhí)行,當(dāng)前指令的地址是CS:IP的當(dāng)前值。沒有使用=address參數(shù)。指定了三個(gè)斷點(diǎn),假設(shè)到達(dá)第二個(gè)斷點(diǎn),指令執(zhí)行到CS:1EF單元之前停止執(zhí)行,恢復(fù)原來(lái)的指令碼,取消所

20、有三個(gè)斷點(diǎn),產(chǎn)生顯示并結(jié)束GO命令。(10)顯示內(nèi)存命令(Dump) 用途:顯示存儲(chǔ)器的內(nèi)容。格式:D 地址;顯示當(dāng)前或指定開始地址的主存內(nèi)容。例如:D CS:10D 范圍;顯示指定范圍的主存內(nèi)容.例如:D CS:100 10C 說(shuō)明:用兩個(gè)部分來(lái)顯示內(nèi)存內(nèi)容: 十六進(jìn)制部分。每個(gè)字節(jié)的值都用十六進(jìn)制格式表示. 每個(gè)顯示行顯示 16 字節(jié)的內(nèi)容,第 8 字節(jié)和第 9 字節(jié)之間有一個(gè)連字符。每個(gè)顯示行從 16 字節(jié)的邊界上開始。ASCII部分。每個(gè)字節(jié)的值都用 ASCII 碼字符表示。每個(gè)非打印字符在顯示的 ASCII 部分由句號(hào) (.) 表示。(11)修改內(nèi)存命令(Enter) E(Enter

21、)命令用于修改主存內(nèi)容,它有兩種格式:E地址 ;格式1,修改指定地址的內(nèi)容 E地址數(shù)據(jù)表;格式2,用數(shù)據(jù)表的數(shù)據(jù)修改指定地址的內(nèi)容格式1是逐個(gè)單元相繼修改的方法。例如,鍵入“e ds:100”,Debug顯示原來(lái)內(nèi)容,用戶可以直接輸入新數(shù)據(jù),然后按空格鍵顯示下一個(gè)單元的內(nèi)容,或者按“”鍵顯示上一個(gè)單元的內(nèi)容;不需要修改可以直接按空格或“”鍵;這樣,用戶可以不斷修改相繼單元的內(nèi)容,直到用回車鍵結(jié)束該命令為止。 格式2可以一次修改多個(gè)單元,例如: -e ds:100 F3XYZ8D ;用F3/X/Y/Z/8D這5個(gè)數(shù)據(jù)替代DS:0100 0104的原來(lái)內(nèi)容 5、DEBUG下的上機(jī)編程及程序調(diào)試方法

22、和操作實(shí)例 例21 在DEBUG下運(yùn)行如下程序 MOV DL,33H ;字符3的ASCII碼送DL MOV AH,2 ;使用DOS的2號(hào)功能調(diào)用 INT 21H ;進(jìn)行功能調(diào)用,輸出字符3 INT 20H ;正常結(jié)束程序中斷調(diào)用 該程序運(yùn)行結(jié)果是在顯示器上輸出一個(gè)字符3。如果要輸出其它字符,可改變程序中 “33H”為相應(yīng)字符的ASCII碼。該程序涉及DOS功能調(diào)用,因?yàn)槲覀兪窃贒OS的支持下運(yùn)行 匯編語(yǔ)言程序,所以一般情況下,我們要使用DOS內(nèi)部提供的中斷服務(wù)程序完成輸入輸出及其它有關(guān)操作。 該程序上機(jī)操作如下: 進(jìn)入DEBUG 設(shè)A驅(qū)動(dòng)器上有DEBUG.COM程序。 ADEBUG 屏幕顯示

23、_ 在該提示符下可鍵人任意DEBUG命令。下面用a命令送程序。 送程序并匯編 _ a 100 1D11:0100 MOV DL,33 1D11:0102 MOV AH,2 1D11:0104 INT 21 IDll:0106 INT 20 1D11:0108 至此程序已送完,并匯編成了機(jī)器指令。 運(yùn)行程序 _ g 3 program terminated normally _ 如果想看一下機(jī)器指令是什么樣子的話,方法之一是可以用反匯編命令u,作如下操作。 反匯編 _u100,107 1Dll:0100 B233 MOV DL,33 1Dll:0102 B402 MOV AH,02 1D1l:0

24、104 CD21 INT 21 1D11:0106 CD20 INT 20 送機(jī)器指令程序 e 200 B2,33,B4,02,CD,21,CD,20 執(zhí)行機(jī)器指令程序 -g=200 3 Program terminated normally 退出DEBUG返回DOS _q A 例22 進(jìn)入DEBUG送程序,用R命令顯示狀態(tài),再用T命令單條執(zhí)行。 進(jìn)入DEBUG用A命令輸入并匯編源程序 Cdebug _a100 0D4C:0100 mov ah,3 0D4C:0102 mov al,2 0D4C:0104 add a1,ah 0D4C:0106 int 20 0D4C:0108 用R命令顯示寄

25、存器狀態(tài) _r AX=0000 BX=0000 CX=0000 DX=0000 SP=CFDE BP=0000 SI=0000 DI=0000 DS=0D4C ES=0D4C SS=0D4C CS=0D4C IP=0100 NV UP DI PL NZ NA PO NC 0D4C:0100 B403 M0V AH,03 _用T命令單條執(zhí)行 _t AX=0300 BX=0000 CX=0000 DX=0000 SP=CFDE BP=0000 SI=0000 DI=0000 DS=0D4C ES=0D4C SS=0D4C CS=0D4C IP=0102 NV UP DI PL NZ NA PO N

26、C 0D4C:0102 B002 MOV Al,02 _t AX=0302 BX=0000 CX=0000 DX=0000 SP=CFDE BP=0000 SI=0000 DI=0000 DS=0D4C ES=0D4C SS=0D4C CS=0D4C IP=0104 NV UP DI PL NZ NA PO NC 0D4C:0104 00E0 ADD AL,AH _t (結(jié)果在AL中) AX=0305 BX=0000 CX=0000 DX=0000 SP=CFDE BP=0000 SI=0000 DI=0000 DS=0D4C ES=0D4C SS=0D4C CS=0D4C IP=0106 N

27、V UP DI PL NZ NA PE NC 0D4C:0106 CD20 INT 20 _g Program terminated normally 退出 _q C6、其余的命令下面的命令請(qǐng)同學(xué)們自己消化:(12)輸出命令(Output)格式:O 端口地址字節(jié)數(shù)據(jù) 用途:把字節(jié)發(fā)送到指定的端口。 例如:為了把字節(jié)值4F發(fā)送到輸出端口2F8,輸人: 0 2F8 4F (13)比較命令(Compare) 用途:比較存儲(chǔ)器中兩個(gè)數(shù)據(jù)塊的內(nèi)容。 格式:C 范圍 起始地址說(shuō)明:對(duì)由“范圍”指定的區(qū)域與“起始地址”指定的同大小區(qū)域進(jìn)行比較,顯示不相同的單元。參數(shù) 范圍:指定要比較的內(nèi)存第一個(gè)區(qū)域的起始和結(jié)束地址,或起始地址和長(zhǎng)度。 起始地址:指定要比較的第二個(gè)內(nèi)存區(qū)域的起始地址。(14)填寫命令(Fill) 用途:用清單中的值填寫范圍內(nèi)的存儲(chǔ)單元。 格式:F范圍數(shù)據(jù)表 說(shuō)明:如果清單中包含的字節(jié)數(shù)小于地址范圍,則重復(fù)地使用該清單,直到把所指定范圍內(nèi)的存儲(chǔ)器單元填滿為止。如果清單中包含的字節(jié)數(shù)大于地址范圍,就忽略不計(jì)超過(guò)的部分。 例如: F 4BA:1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論