導航:首頁 > 程序命令 > debug命令a

debug命令a

發布時間:2022-10-03 21:15:56

『壹』 debug命令的使用

在Windows 95/98的環境中,打開命令窗口的步驟為:點擊「開始」→「運行」,輸入「command」命令; 在WindowsXP及WIN7的環境中,打開命令窗口的步驟為:點擊「開始」→「運行」,輸入「cmd」命令;

2.啟動DEBUG
在命令窗口中啟動DEBUG,啟動命令一般為:DEBUG [文件名] [參數表]。其中:文件名指定被調試的文件,其包括名和後綴,參數表是被調試文件運行時所需要的參數。被調試的文件可以是系統中的任何文件,但通常它們的 後綴為.EXE或.COM。 當DEBUG啟動成功後,將顯示連接符「-」,這時,可輸入各種DEBUG命令。DEBUG中所有命令及其含義如DEBUG各命令功能說明表 所示。 關於使用命令的幾點說明:在提示符「-」下才能輸入命令,在按「回車」鍵後,該命令才開始執行命令是單個字母,命令和參數的大小寫可混合輸入可用F1、 F2、F3、Ins、Del、左移鍵、右移鍵等編輯鍵來編輯本行命令當命令出現語法錯誤時,將在出錯位置顯示「^ Error」可用Ctrl+C或Ctrl+Break來終止當前命令的執行,還可用Ctrl+S或Ctrl+Num Lock來暫停屏幕顯示(當連續不斷地顯示信息時)
以下通過實現十九個示例來熟悉DEBUG的命令集和基本的匯編指令。

R命令的使用
R命令作用:觀看和修改寄存器的值。

在提示符「-」下輸入以下命令:R。DEBUG將會顯示出當前所有寄存器和標志位的狀態。

接下來再輸入命令RCX。在提示符「:」後輸入100。該命令的作用是將寄存器CX的值設置為100(注意:DEBUG使用的是十六進制,這里的100相當於十進制的256。)

最後再執行R命令,觀看修改後的寄存器值。

H命令的使用
H命令作用:計算兩個十六進制數的和與差。

在提示符「–」下輸入以下命令:H 10 1。觀看命令執行結果。

運行結果的前一個數是計算出來的和,後一個數是計算出來的差。計算結果均用十六進制形式表示。

『貳』 Debug是什麼命令

debug是dos中的一個外部命令,從dos 1.0起就帶有此命令,因此可見此命令的重要性了。雖然此命令的功能非常強大,可以解決許多問題,可是對許多人來說,尤其是初學者來說,卻非常不易掌握。因此,現將debug的命令詳細介紹一番,以讓大家知道它的使用。 debug:a(匯編) 直接將 8086/8087/8088 記憶碼合並到內存。 該命令從匯編語言語句創建可執行的機器碼。所有數值都是十六進制格式,必須按一到四個字元輸入這些數值。在引用的操作代碼(操作碼)前指定前綴記憶碼。 a [address] 參數 address 指定鍵入匯編語言指令的位置。對 address 使用十六進制值,並鍵入不以「h」字元結尾的每個值。如果不指定地址,a 將在它上次停止處開始匯編。 有關將數據輸入到指定位元組中的信息,請單擊「相關主題」列表中的 debug e(鍵入)。 有關反匯編位元組的信息,請單擊「相關主題」列表中的 debug u(反匯編)。 說明 使用記憶碼 段的替代記憶碼為 cs:、ds:、es: 和 ss:。遠程返回的記憶碼是 retf。字元串處理的記憶碼必須明確聲明字元串大小。例如,使用 movsw 可以移動 16 位的字串,使用 movsb 可以移動 8 位位元組串。 匯編跳轉和調用 匯編程序根據位元組替換自動將短、近和遠的跳轉及調用匯編到目標地址。通過使用 near 或 far 前綴可以替代這樣的跳轉或調用,如下例所示: -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。 區分字和位元組內存位置 當某個操作數可以引用某個字內存位置或者位元組內存位置時,必須用前綴 word ptr 或者前綴 byte ptr 指定數據類型。可接受的縮寫分別是 wo 和 by。以下範例顯示兩種格式: dec wo [si] neg byte ptr [128] 指定操作數 debug 使用包括在中括弧 ([ ]) 的操作數引用內存地址的習慣用法。這是因為另一方面 debug 不能區分立即操作數和內存地址的操作數。以下範例顯示兩種格式: mov ax,21 ; load ax with 21h mov ax,[21] ; load ax with the ; contents of ; memory location 21h 使用偽指令 使用a 命令提供兩個常用的偽指令:db 操作碼,將位元組值直接匯編到內存,dw 操作碼,將字值直接匯編到內存。以下是兩個偽指令的範例: 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(比較) 比較內存的兩個部分。 c range address 參數 range 指定要比較的內存第一個區域的起始和結束地址,或起始地址和長度。有關有效的 range 值的信息,請單擊「相關主題」列表中的「debug 說明」。 address 指定要比較的第二個內存區域的起始地址。有關有效 address 值的信息,請單擊「相關主題」列表中的「debug 說明」。 說明 如果range 和 address 內存區域相同,debug 將不顯示任何內容而直接返回到 debug 提示符。如果有差異,debug 按如下格式顯示: address1 byte1 byte2 addess2

『叄』 debug中a命令問題

我也遇到這樣的情況。

『肆』 在Debug里A命令如何退出

運行debug xxx.exe
進入之後
輸入a回車(如果要在特定cs:ip寫代碼就輸入a xxxx:xxxx回車)
然後一條一條指令輸入回車
想結束就直接回車
然後可以用u指令來翻譯用t指令來執行

『伍』 debug是什麼意思啊

DEBUG是計算機排除故障的意思,DEBUG在windows系統中也是極其重要的調試操作。

debug是一個dos實用程序,主要是供程序員來進行調試程序的工具,它可以檢查程序中存在的問題,可以精確到每一行代碼的正確性,在程序開發中有很大的作用。

Debug的特點

Debug把所有數據都當成位元組處理,因此可以用它檢查內存中任何地方的位元組以及修改任何地方的位元組。它可以用於逐指令執行某個程序以驗證程序運行的正確性,也可以在機器碼這個級別追蹤執行過程、比較一個指令執行前後的值以及比較與移動內存中數據的范圍,讀寫文件與磁碟扇區。

Debug在匯編語言中的應用非常廣泛,Debug的命令比較多,大約20多個,和匯編密切相關的有R命令、D命令、E命令、U命令、T命令、A命令等等。

『陸』 如何使用debug

Debug是一種程序,一種調試工具,說白了就是供程序員檢查修改問題的工具。用比較正式的話說Debug是DOS,Windows都提供的實模式(也就是8086方式)程序的調試工具。其實嚴格來說,Debug是在DOS方式下使用的程序,我們在進入Debug前應該先進入DOS。而就目前我們用的計算機來說,進入DOS有以下兩種方法:

1.重啟計算機,進入DOS,此時進入的是實模式的DOS。

2.在Windows界面進入DOS,此時進入的是虛擬8086模式的DOS。

講到這里一定有人會問,實模式和虛擬8086模式什麼意思?給大家簡單講一下:

我們所說的CPU工作模式分為實模式和保護模式兩種,而虛擬8086是保護模式下一種任務的運行模式,並非CPU的工作模式。大家平時用的Windows系統是運行在保護模式下的,而計算機在剛啟動的時候是在實模式下運行,在啟動Windows系統時進入保護模式,除非關閉系統,否則不會回到實模式。如果要一直在實模式下運行,那就得使用DOS等實模式下的操作系統。但是在Windows系統中載入的DOS程序是在虛擬8086模式下運行的。當然這裡面涉及了一些DOS的相關知識,由於篇幅原因咱們在這兒就不講了,感興趣的可以留言評論一起交流。

好了,言歸正傳,回到Debug上, 這里有一點需要注意,Debug把所有數據都當成位元組處理,因此可以用它檢查內存中任何地方的位元組以及修改任何地方的位元組。它可以用於逐指令執行某個程序以驗證程序運行的正確性,也可以在機器碼這個級別追蹤執行過程、比較一個指令執行前後的值以及比較與移動內存中數據的范圍,讀寫文件與磁碟扇區。

值得一提的是,Debug在匯編語言中的應用非常廣泛,Debug的命令比較多,大約20多個,和匯編密切相關的有R命令、D命令、E命令、U命令、T命令、A命令等等,當然每個命令作用不同,比如D是查看內存內容,E是修改內存內容,T是執行一條機器指令等等,還有很多,而且都有固定的命名使用格式,這里就不一一講了,我們今天主要是讓大家知道並理解Debug的意思,關於怎麼使用它學有餘力的可以自行學習研究一下,好了,就到這里吧。

『柒』 在debug中怎麼用a命令寫匯編指令

運行debug xxx.exe
進入之後
輸入a回車(如果要在特定CS:IP寫代碼就輸入a XXXX:XXXX回車)
然後一條一條指令輸入回車
想結束就直接回車
然後可以用u指令來翻譯用t指令來執行

『捌』 求debug命令詳解

DEBUG的常用命令
(1)匯編命令 A
格式:A[起始地址]
功能:將輸入源程序的指令匯編成目標代碼並從指定地址單元開始存放。若預設
起始地址,則從當前CS:100 地址開始存放。A 命令按行匯編,主要是用於小段
程序的匯編或對目標程序的修改。
(2)反匯編命令 U
格式1:U[起始地址]
格式2:U[起始地址][結束地址|位元組數]
功能:格式1 從指定起始地址處開始將32 個位元組的目標代碼轉換成匯編指令形
式,預設起始地址,則從當前地址CS:IP 開始。
格式2 將指定范圍的內存單元中的目標代碼轉換成匯編指令。
(3)顯示、修改寄存器命令 R
格式:R[寄存器名]
功能:若給出寄存器名,則顯示該寄存器的內容並可進行修改。預設寄存器名,
則按以下格式顯示所有寄存器的內容及當前值(不能修改)。
AX=0000 BX=0004 CX=0020 DX=0000 SP=0080 BP=0000 SI=0000
DI=0000 DS=3000 ES=23A0 CS=138E IP=0000
NV UP DI PL NZ NA PO NC
138E:0000 MOV AX,1234
-R AX ;輸入命令
AX 0014 ;顯示AX 的內容
: ;供修改,不修改按回車。
若對標志寄存器進行修改,輸入:-RF
屏幕顯示如下信息,分別表示OF、DF、IF、SF、ZF、AF、PF、CF 的狀態。
NV UP DI PL NZ NA PO NC
不修改按回車鍵。要修改需個別輸入一個或多個此標志的相反值,再按回車鍵。
R 命令只能顯示、修改16 位寄存器。
(4)顯示存儲單元命令 D
格式1:D[起始地址]
格式2:D[起始地址][結束地址|位元組數]
功能:格式1 從起始地址開始按十六進制顯示80H 個單元的內容,每行16 個單
元,共8 行,每行右邊顯示16 個單元的ASCII 碼,不可顯示的ASCII 碼則顯示
「·」。格式2 顯示指定范圍內存儲單元的內容,其他顯示方式與格式1 一樣。
如果預設起始地址或地址范圍,則從當前的地址開始按格式1 顯示。
例如: -D 200 ;表示從DS:0200H 開始顯示128 個單元內容
-D 100 120 ;表示顯示DS:0100-DS:0120 單元的內容
說明:在DEBUG 中,地址表示方式有如下形式:
段寄存器名:相對地址,如:DS:100
段基值:偏移地址(相對地址),如:23A0:1500
(5)修改存儲單元命令 E
格式1:E[起始地址] [內容表]
格式2:E[地址]
功能:格式1 按內容表的內容修改從起始地址開始的多個存儲單元內容,即用內
容表指定的內容來代替存儲單元當前內容。
例如:—E DS:0100 'VAR' 12 34
表示從DS:0100 為起始單元的連續五個位元組單元內容依次被修改為
'V'、'A'、'R'、12H、34H。
格式2 是逐個修改指定地址單元的當前內容。
如:—E DS:0010
156F:0010 41.5F
其中156F:0010 單元原來的值是41H,5FH 為輸入的修改值。若只修改一個單元
的內容,這時按回車鍵即可;若還想繼續修改下一個單元內容,此時應按空格鍵,
就顯示下一個單元的內容,需修改就鍵入新的內容,不修改再按空格跳過,如此
重復直到修改完畢,按回車鍵返回DEBUG「-」提示符。如果在修改過程中,將
空格鍵換成按「-」鍵,則表示可以修改前一個單元的內容。
(6)運行命令 G
格式:G[=起始地址][第一斷點地址[第二斷點地址……]]
功能:CPU 從指定起始地址開始執行,依次在第一、第二等斷點處中斷。若預設
起始地址,則從當前CS:IP 指示地址開始執行一條指令。最多可設置10 個斷點。
(7)跟蹤命令 T
格式:T[起始地址][正整數]
功能:從指定地址開始執行『正整數』條指令,若預設『正整數』,表示執行一
條指令,若兩項都預設,表示從當前CS:IP 指示地址開始執行一條指令。
(8)指定文件命令 N
格式:N<文件名或擴展名>
功能:指定即將調入內存或從內存寫入磁碟的文件名。該命令應該用在L 命令和
W 命令之前。
(9)裝入命令 L
格式1:L[起始地址][盤符號][扇區號][扇區數]
格式2:L[起始地址]
功能:格式1 根據盤符號,將指定扇區的內容裝入到指定起始地址的存儲區中。
格式2 將N 命令指出的文件裝入到指定起始地址的存儲區中,若省略起始地址,
則裝入到CS:100 處或按原來文件定位約定裝入到相應位置。
(10)寫磁碟命令 W
格式1:W<起始地址>[驅動器號]<起始扇區><扇區數>
格式2:W[起始地址]
功能:格式1 把指定地址開始的內容數據寫到磁碟上指定的扇區中。
格式2 將起始地址的BX×10000H+CX 個位元組內容存放到由N 命令指定的文件中。
在格式2 的W 命令之前,除用N 命令指定存檔的文件名外,還必須將要寫的位元組
數用R 命令送入BX 和CX 中。
(11)退出命令 Q
格式:Q
功能:退出DEBUG,返回到操作系統。
以上介紹的是DEBUG 常用命令,其他命令請參考有關書籍。

閱讀全文

與debug命令a相關的資料

熱點內容
ps中擴展功能在文件夾的什麼位置 瀏覽:899
雙極壓縮機為什麼要先高壓 瀏覽:523
蘋果手機伺服器填什麼 瀏覽:828
android移動動畫效果 瀏覽:680
電子和伺服器是什麼意思 瀏覽:685
phpurl中文亂碼問題 瀏覽:893
程序員那麼可愛大結局陸漓產子 瀏覽:538
java如何從雲伺服器讀取本地文件 瀏覽:923
壓縮空氣軟管製作方法 瀏覽:911
天河三號演算法 瀏覽:924
php隊列教程 瀏覽:632
洪水命令 瀏覽:529
安卓怎麼弄成蘋果在線 瀏覽:435
谷歌web伺服器地址 瀏覽:898
安卓鎖屏圖片如何刪除 瀏覽:719
python3多進程編程 瀏覽:714
證明代碼是程序員寫的 瀏覽:397
演算法錯誤發現辦法 瀏覽:410
河南省醫院掛號是哪個app 瀏覽:629
冬日戀歌哪個APP能看 瀏覽:673