《微機(jī)原理及應(yīng)用》實(shí)驗(yàn)指導(dǎo)書1_第1頁
《微機(jī)原理及應(yīng)用》實(shí)驗(yàn)指導(dǎo)書1_第2頁
《微機(jī)原理及應(yīng)用》實(shí)驗(yàn)指導(dǎo)書1_第3頁
《微機(jī)原理及應(yīng)用》實(shí)驗(yàn)指導(dǎo)書1_第4頁
《微機(jī)原理及應(yīng)用》實(shí)驗(yàn)指導(dǎo)書1_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、匯編語言部分 實(shí)驗(yàn)實(shí)驗(yàn) turbo debug使用簡介本章重點(diǎn):u td的命令行格式u 運(yùn)行td的方法u td的基本使用u td的菜單功能介紹u td調(diào)試舉例著重介紹如何使用集成環(huán)境turbo debug來對程序進(jìn)行調(diào)試。u td的命令行格式td.exe程序是dos應(yīng)用程序,用命令行方式運(yùn)行,td的dos命令行格式為:td option program_name program_args中的內(nèi)容表示可選項(xiàng),可有可無,根據(jù)具體情況選擇。option可以是下面任意一項(xiàng)或幾項(xiàng)的組合,視具體調(diào)試要求而定;program_name是待調(diào)試的文件,默認(rèn)的后綴名是.exe。program_args是待調(diào)試程

2、序所需的入口參數(shù)。注意option中的命令只能放在調(diào)試程序名的前面,即program_name的前面。td命令選項(xiàng)參數(shù)包括一個連字符“-”,后面跟一個或多個字母及一個文字或數(shù)字變量。td命令由配置文件的默認(rèn)設(shè)置。要使配置文件中對td命令的設(shè)置無效,需在命令后再加一個連字符“-”。如:td -c- mypro arg1 arg2。各選項(xiàng)功能如表1-1所示。表1-1 td選項(xiàng)功能表選項(xiàng)功能備注-c使用配置文件-do,-dp,-ds屏幕更新:do另外顯示,dp翻頁,ds屏幕切換-h,-?顯示幫助信息屏-i允許處理本身的轉(zhuǎn)換-k允許擊鍵記錄-l匯編程序啟動,并顯示匯編命令,但是不對起始命令進(jìn)行編譯。-

3、m設(shè)置堆棧段大小,#應(yīng)該是具體數(shù)字,如表示堆棧段為8k字節(jié)-p 鼠標(biāo)支持-r使用串行口遠(yuǎn)程調(diào)試,低速-rn用本地計(jì)算機(jī)l和遠(yuǎn)程的計(jì)算機(jī)r通過網(wǎng)絡(luò)調(diào)試-rp為遠(yuǎn)程連接設(shè)置串行通信口com #,#應(yīng)該是1或2。-rs遠(yuǎn)程連接通信速度:1最慢速,2慢速,3中速,4快速-sc禁止檢查標(biāo)識符-sd源文件目錄-sm設(shè)置備用標(biāo)識符存儲空間大小,#應(yīng)該是具體數(shù)字表示#k字節(jié)(最大256kb),如表示備用標(biāo)識符存儲空間為8k字節(jié)-vg全屏幕保存-vn43/50行顯示選項(xiàng)禁止-vp 允許ega/vga調(diào)色板設(shè)置參數(shù)保存-w調(diào)試遠(yuǎn)程的windows程序(必須同時使用-r)-y用#kb(千字節(jié))設(shè)置覆蓋區(qū)域空間大小-

4、ye用16kb/頁為單位來設(shè)置擴(kuò)展內(nèi)存覆蓋區(qū)域空間大小,#應(yīng)該是具體數(shù)字待調(diào)試的文件名是填寫被調(diào)試的可執(zhí)行程序名,該程序名同樣可帶可不帶,因?yàn)樵趖d環(huán)境中有打開一個調(diào)試文件的菜單對話框,通過這個對話框來選擇被調(diào)試的程序(詳見td的菜單功能介紹)。如果待調(diào)試的程序名exp0.exe,表示你所編寫的源程序exp0.asm經(jīng)過匯編、連接后產(chǎn)生的可執(zhí)行程序,命令行格式為:td exp0.exe,其中表示回車鍵。如果exp0.exe不與td.exe在同一文件夾中,則根據(jù)當(dāng)前路徑書寫,當(dāng)前路徑在td.exe,如果exp0.exe在e:myfile文件夾中,則命令行格式為td e:myfileexp0.ex

5、e;當(dāng)前路徑在exp0.exe,如果td.exe在e:bcbin文件夾中,則命令行格式為e:bcbintd exp0.exe?;蛘哂胮ath命令設(shè)置路徑隨便在哪個路徑下可運(yùn)行,具體參看實(shí)驗(yàn)四??蓤?zhí)行程序附帶參數(shù)要根據(jù)你設(shè)計(jì)的程序需要與否來填寫,例如win2000中有一個目錄樹顯示文件(假設(shè)win2000安裝在c盤),調(diào)試該程序可以使用如下方式:1) 不帶參數(shù)為td c:winntsystem32表示調(diào)試tree程序,結(jié)果僅為目錄數(shù),按ascii字符及圖形來顯示;2) 帶/f為td c:winntsystem32 /f表示調(diào)試tree程序,結(jié)果不僅有目錄樹,并且還包括目錄下的文件,按ascii字

6、符及圖形來顯示;3) 帶/a為td c:winntsystem32 /a表示調(diào)試tree程序,結(jié)果僅為目錄數(shù),按ascii字符及擴(kuò)展字符來顯示;4) 帶/f /a為td c:winntsystem32 /f /a表示調(diào)試tree程序,不僅有目錄樹,并且還包括目錄下的文件,按ascii字符及擴(kuò)展字符來顯示;5) 帶/?為td c:winntsystem32 /?幫助信息顯示在屏幕上。u 運(yùn)行td的方法運(yùn)行td的方法主要介紹2種,具體方法如下:1、 windows下操作系統(tǒng)啟動方法目前通用微機(jī)普遍采用windows系列操作系統(tǒng),如win9x、win2000、winxp、winme、nt等,以win

7、2000為例,首先打開存有td.exe的文件夾,如e:bcbin文件夾中有td.exe,打開本地磁盤(e:)中的bc文件夾下的bin文件夾,找到td.exe點(diǎn)擊鼠標(biāo)右鍵并且移動鼠標(biāo)到屬性(r)再擊左鍵,彈出td屬性中的常規(guī)窗,鼠標(biāo)點(diǎn)擊得到圖1-1所示的程序?qū)υ捒颉D1-1所示的命令行(l)表示運(yùn)行該程序及其所在路徑,可以按要求在其后加選擇項(xiàng)、被調(diào)試程序文件名及其所需的附帶參數(shù),例如e:bcbintd.exe exp0.exe表示運(yùn)行td調(diào)試缺省路徑文件夾的exp0.exe程序。由于td是dos程序,故要求各級路徑及被調(diào)試程序文件名均不超過8個ascii字符,最好不帶漢字及全角的字符。工作目錄(

8、w)表示進(jìn)入td調(diào)試環(huán)境后的缺省路徑,如果你的實(shí)驗(yàn)程序放在e:myfile文件夾中,可以填寫e:myfile,則進(jìn)入td調(diào)試環(huán)境后的缺省路徑為e:myfile,如果不填寫任何內(nèi)容,表示e:bcbin就是缺省路徑。如果鼠標(biāo)點(diǎn)擊屏幕將得到圖1-2所示的屏幕對話框。我們僅關(guān)注用法一攔,該攔可選全屏幕(f)或窗口(w),其中全屏幕(f)表示dos的全屏幕方式顯示td調(diào)試環(huán)境,是字符環(huán)境,除了支持鍵盤操作,還支持dos字符方式的鼠標(biāo)功能,窗口(w)表示win2000窗口下顯示td調(diào)試環(huán)境,該環(huán)境為圖形方式,僅支持鍵盤操作,不支持鼠標(biāo)功能。建議大家選擇全屏幕(f) 以便操作。td屬性設(shè)置好后即可在win2

9、000對td.exe文件雙擊,從而td得到運(yùn)行。 圖1-1 td屬性中程序?qū)υ捒?圖1-2 td屬性中屏幕對話框2、 操作系統(tǒng)為dos環(huán)境的td運(yùn)行方法進(jìn)入dos操作系統(tǒng)的方法如1-3所示。進(jìn)入dos操作系統(tǒng)后,如果你要調(diào)試的程序是exp0.exe,存放在e:myfile文件夾中,則按如下方式操作:1)e: 2)cd3)cd myfile4)e:bcbintd exp0.exe其中,大小寫無所謂,第4行表示運(yùn)行e:bcbin文件夾中td.exe調(diào)試程序,對exp0.exe進(jìn)行調(diào)試。u td的基本使用turbo debug是borland公司推出的一個集成調(diào)試軟件,可以調(diào)試dos和windows

10、程序。比起更傳統(tǒng)的debug,它的功能強(qiáng)大,使用方便。如果只要調(diào)試dos程序,僅需要td.exe一個文件(476k)即可。圖13是turbo debug的界面。它的cpu窗包括代碼段子視窗、寄存器子視窗、標(biāo)志位子視窗、堆棧段子視窗和數(shù)據(jù)段子視窗。屏幕頂部顯示的是菜單條,為了從菜單條處下拉出一個菜單,一般可以直接用鼠標(biāo)點(diǎn)擊菜單(注意win操作系統(tǒng)的窗口顯示時不支持鼠標(biāo)操作),或者要先按f10功能鍵、后再用或鍵使想要的選項(xiàng)變?yōu)楦吡痢⒆詈蟀磂nter鍵即可。另一種方法是按住alt菜單名稱的第一個字母組合鍵。圖1-3 td界面代碼區(qū)寄存器區(qū)標(biāo)志寄存器區(qū)數(shù)據(jù)段堆棧段區(qū)td除了鍵盤操作外,我們還可以很容易

11、地通過鼠標(biāo)對界面進(jìn)行操作。例如要修改窗口外觀的大小,我們可以按alto,打開菜單中的option項(xiàng)(圖1-4),從中選取display options來打開一個對話框(圖1-5)。也可以直接用鼠標(biāo)點(diǎn)擊菜單上的options項(xiàng)后得到。圖1-5的對話框允許我們修改窗口的大小,通過改變screen lines的值來實(shí)現(xiàn)。圖1-4 option菜單圖1-5 display options對話框f5快捷鍵是td菜單中windows下拉菜單的zoom來把視窗窗在最大化和最小化間切換的鍵,也可以直接用鼠標(biāo)點(diǎn)住窗口右下角并拖動到理想的位置(圖1-6)。圖1-6 拖動右下角改變窗口大小td還有一個優(yōu)勢就是它的狀

12、態(tài)行提示的快捷鍵。屏幕底部的狀態(tài)行顯示的是相關(guān)的功能鍵及其用途,如圖1-7所示。圖1-7 狀態(tài)行提示狀態(tài)行的內(nèi)容會隨用戶輸入的不同而發(fā)生變化(例如菜單發(fā)生變化、命令對話框的變化等)。若按住alt一會兒,可以發(fā)現(xiàn)狀態(tài)行的內(nèi)容改變?yōu)橛脩艨捎胊lt鍵獲取的功能鍵信息。按住ctrl一會兒,狀態(tài)行顯示的命令是當(dāng)前視窗窗口部分所對應(yīng)的局部菜單命令(local menu command)的熱鍵。它們隨用戶所在的窗口類型和所在視窗不同而發(fā)生變化。一旦進(jìn)入菜單系統(tǒng),狀態(tài)行將再次改變?yōu)轱@示當(dāng)前高亮度菜單選擇的功能。用esc鍵可以離開菜單系統(tǒng)。u td的菜單功能介紹一 系統(tǒng)菜單菜單命令使用說明快捷鍵repaint

13、desktop重新顯示整個屏幕無restore standard恢復(fù)標(biāo)準(zhǔn)的windows設(shè)置無about獲取turbo debugger的信息無二 file菜單菜單命令使用說明快捷鍵open打開一個要調(diào)試的新程序無change dir改變?nèi)笔」ぷ髀窂綗oget info顯示調(diào)試程序的當(dāng)前信息無dos shell運(yùn)行dos命令處理機(jī)無resident終止t d并駐留內(nèi)存無symbol load加載一個新的符號表無table relocate符號表指定新的段基地址無quit 退出turbo debuggeralt-x三 edit菜單 菜單命令使用說明快捷鍵copy復(fù)制項(xiàng)目shift-f3paste粘

14、貼項(xiàng)目shift-f4copy to log將項(xiàng)目復(fù)制入日志文件中無dump pane to log將當(dāng)前窗轉(zhuǎn)入日志文件中無四 view菜單菜單命令使用說明快捷鍵breakpoints打開斷點(diǎn)窗無stack打開堆棧窗無log打開日志窗無watches打開監(jiān)視窗無variables打開變量窗無module打開模塊窗f3file打開文件窗無cpu打開cpu窗無dump打開轉(zhuǎn)儲窗口無registers打開cpu寄存器窗無numeric processor打開數(shù)字協(xié)處理器窗無execution history打開執(zhí)行任務(wù)歷史窗無hierarchy打開類的分層窗無windows messages打開wi

15、ndows消息窗無clipboard打開粘貼板窗無anothermodule打開另模塊窗無dump打開另轉(zhuǎn)儲窗口無file打開另文件窗口無五run菜單菜單命令使用說明快捷鍵run全速運(yùn)行f9go to curse運(yùn)行到光標(biāo)處停止f4trace into一條一條跟蹤運(yùn)行程序指令f7step ovrer跳過指令f8execute to執(zhí)行到指定的指令代碼處alt-f9until return一直運(yùn)行直到返回alt-f8animate以動畫方式運(yùn)行程序無back trace向后跟蹤alt-f4istruction trace指令跟蹤alt-f7arguments參數(shù)無program reset程序復(fù)

16、位ctrl-f2run部分二級菜單 1. execute to顯示信息說明在空格中輸入要執(zhí)行停止的指令地址,點(diǎn)擊ok確定,clip從粘貼板粘貼指令地址,cancel取消,help獲取幫助信息2. animate顯示信息說明在空格中輸入10倍的動畫間隔時間(單位:秒),點(diǎn)擊ok確定,clip從粘貼板粘貼時間,cancel取消,help獲取幫助信息3. arguments顯示信息說明在空格中輸入命令行參數(shù),點(diǎn)擊ok確定,clip從粘貼板粘貼命令行參數(shù),cancel取消,help獲取幫助信息六breakpoints菜單菜單命令使用說明快捷鍵toggle切換f2at設(shè)置斷點(diǎn)地址alt-f2change

17、d memory global改變?nèi)謹(jǐn)帱c(diǎn)地址無expressioon true global全局條件表達(dá)式無hardware breakpoint硬件斷點(diǎn)無delete all刪除全部無七data菜單菜單命令使用說明快捷鍵inspect.檢查無evaluate/modify評價或修改ctrl-f4add watch增加監(jiān)視ctrl-f7function return函數(shù)返回?zé)o八options菜單菜單命令使用說明快捷鍵languagesource語言來源無macros宏指令無display options顯示選擇無path for source源程序路徑無save options存儲選擇無re

18、store options恢復(fù)選擇無options的部分二級菜單1 language source顯示信息說明source表示源程序,c,pascal,assembler分別表示c, pascal和匯編程序,選中一項(xiàng), 點(diǎn)擊ok確定,cancel取消,help獲取幫助信息2 display options.顯示信息說明display swapping表示顯示切換,在其下面選中一項(xiàng),none,smart和always分別表示不顯示切換,快速顯示切換和總是顯示切換。integer format表示整形格式,在其下面選中一項(xiàng),hex,decimal和both分別表示十六進(jìn)制,十進(jìn)制和兩者均可 。sc

19、reen lines表示屏幕行,可選擇。tab size表示制表鍵跳格數(shù),可修改其值。點(diǎn)擊ok確定,cancel取消,help獲取幫助信息3 path for source顯示信息說明在空格中輸入源程序目錄路徑,點(diǎn)擊ok確定,clip從粘貼板粘貼源程序目錄路徑,cancel取消,help獲取幫助信息4 save options顯示信息說明在save to下的空格中輸入要存儲的文件路徑名。options,layout,macros分別表示選項(xiàng),布局和宏指令,可選擇。點(diǎn)擊ok確定,cancel取消,help獲取幫助信息5 restore options顯示信息說明在file name空格中輸入要恢

20、復(fù)的文件名,files和directories下面空框中分別顯示文件名和文件目錄。點(diǎn)擊ok確定,cancel取消,help獲取幫助信息九window菜單菜單命令使用說明快捷鍵zoom縮放窗口f5next下一窗口f6next pane下一窗格 tabsize/move窗口大小/移動窗口ctrl-f5iconize/restore圖標(biāo)化/恢復(fù)窗口 無close關(guān)閉窗口alt-f3undo close撤消關(guān)閉窗口命令alt-f6user screen顯示用戶屏幕alt-f51 cpu顯示cpu窗口無十help菜單菜單命令使用說明快捷鍵contents幫助內(nèi)容無index索引shift+f1topic

21、 search主題搜索ctrl+f1prious topic前一主題alt+f1help on help外來幫助無active file現(xiàn)用文件無about有關(guān)本軟件的版本信息說明無u td調(diào)試舉例由于我們只要求學(xué)生掌握td對匯編程序的調(diào)試方法,這里我們將一個典型的十進(jìn)制加法為例,介紹使用td對程序進(jìn)行調(diào)試的過程。這個程序是要將兩個5位十進(jìn)制數(shù)相加,要求兩個數(shù)均以ascii碼形式各自順序放在以data1和data2為首的5個單元中(低位在前),結(jié)果送回data1處,并調(diào)用2號系統(tǒng)功能調(diào)用顯示結(jié)果。我們先用記事本或edit編輯器或其他編輯軟件輸入源程序,并存儲為mypro.asm。data se

22、gment data1 db 98765;設(shè)置數(shù)據(jù)段的內(nèi)容,在數(shù)據(jù)段的起始位置org 0010h;和偏移0010h的地方分別放入字符data2 db 96333;98765和96333data ends;98765+33396=90158code segment assume cs:code,ds:datastart: mov ax,data ;設(shè)置段地址,把數(shù)據(jù)段地址賦給ds mov ds,ax mov di,offset data1 ;data1的偏移量賦給di mov si,offset data2 ;data2的偏移量賦給si mov cx,5 ;循環(huán)5次,給cx賦值5 clc ;清零

23、進(jìn)位標(biāo)志lo1: mov al,di ;把data1中的值循環(huán)賦給al;data2中的值與data1中的值一一對應(yīng)相加,并加進(jìn)位標(biāo)志中的值,和放到al中。;然后對al進(jìn)行非壓縮bcd碼加法調(diào)整得到對應(yīng)的非壓縮bcd碼,按順序放入data1中。;si,di自加1后繼續(xù)循環(huán)直到cx-1=0。 adc al,si aaa mov di,al inc si inc di loop lo1 mov cx,05hdisp: mov ah,02h;調(diào)用2號系統(tǒng)功能調(diào)用,顯示結(jié)果 mov dl,di or dl,30h int 21h dec di loop disp mov ah,4ch int 21hco

24、de ends end start按實(shí)驗(yàn)五或六介紹的四個步驟先完成前三步。生成了可執(zhí)行程序mypro.exe,就可以用td來調(diào)試了。1調(diào)入需要調(diào)試的程序。圖1-8 打開被調(diào)試程序要調(diào)試這個程序,首先要打開并裝入被調(diào)試的程序,選擇file菜單里的open項(xiàng),即可彈出圖1-8所示的加載調(diào)試程序選擇窗,選擇mypro.exe文件即可裝入。裝入后代碼部分可在cpu窗的代碼段子視窗看到機(jī)器代碼及相應(yīng)的匯編語句(圖1-9),數(shù)據(jù)部分會在數(shù)據(jù)段子窗口看到(實(shí)際見到的是程序段前綴psp256字節(jié),真正數(shù)據(jù)段在psp后)。同時可以看到寄存器,標(biāo)志位和堆棧段子窗口。代碼窗口的小箭頭指向的就是下一條要執(zhí)行的命令行。

25、圖1-9 裝載后的cpu窗選擇run菜單里的trace項(xiàng)或按快捷鍵f7即可進(jìn)行跟蹤運(yùn)行(圖1-10)直到lo1: mov al,di圖1-10 單步跟著運(yùn)行單步運(yùn)行期間可以查看寄存器、標(biāo)志位和數(shù)據(jù)段內(nèi)容的變化。2打開一個窗口,觀察的相應(yīng)的數(shù)據(jù)段。圖1-11 打開數(shù)據(jù)窗要查看數(shù)據(jù)段(或其他段)的數(shù)據(jù),可以選擇view菜單里的dump項(xiàng),可彈出dump窗口(圖1-11).我們可以通過快捷鍵f6在dump窗口和主窗口間切換,還可以使用ctrl+f5,配合上下左右鍵來調(diào)整dump窗口的位置。(注意數(shù)據(jù)段的數(shù)據(jù)只有在程序運(yùn)行時才會導(dǎo)入并被看到。)可以通過設(shè)置段基址查看其他段的數(shù)據(jù),只要在dump窗口下按

26、住ctrlg就可以打開一個對話框,并設(shè)置希望觀察的數(shù)據(jù)段地址。這里我們鍵入ds:0000,因?yàn)槲覀兊臄?shù)據(jù)都被保存在ds:0000到ds:001f的范圍內(nèi)。可以看到我們在數(shù)據(jù)段定義的兩個字符串以ascii碼的形式放在ds:0000ds:0004和ds:00010ds:0014。3利用斷點(diǎn)執(zhí)行一個程序段。圖1-12 查看斷點(diǎn)對話框?yàn)榱擞^察循環(huán)的執(zhí)行情況,先我們設(shè)置一個斷點(diǎn)。用鼠標(biāo)或者和鍵把滾動條移動到想要設(shè)置為斷點(diǎn)的那條語句,這里我們移到循環(huán)結(jié)束loop 000f。然后選擇菜單view下的breakpoint,會彈出一個如圖1-12的對話框窗口,在窗口左邊一欄里點(diǎn)擊鼠標(biāo)右鍵(或按ctrla),選中

27、彈出菜單中的add。,在address欄里填寫斷點(diǎn)地址cs:0018,就可以設(shè)置一個斷點(diǎn),按ok確定。這時可以發(fā)現(xiàn)cs:0018對應(yīng)的這條指令的顏色改變。運(yùn)行菜單run下的goto the curse(或按f4鍵),程序直接執(zhí)行到斷點(diǎn)處??梢杂迷趫D1-12的左邊窗口按ctrlr刪除斷點(diǎn)。另一種執(zhí)行一段程序的方法是用菜單run下的excute to(或按atlf9鍵)直接執(zhí)行到斷點(diǎn)地址。如圖1-13。圖1-13 執(zhí)行到斷點(diǎn)處對話框程序執(zhí)行到斷點(diǎn)后,注意此時的cx值( ),再按一次f7使程序回到循環(huán)初始lo1: mov al,di,記下此時cx和ax的值、di的值及其對應(yīng)的數(shù)據(jù)段中的內(nèi)容。重復(fù)f4

28、和f7的操作,觀察ip的變化,并記錄每次f7執(zhí)行后cx和ax的值、di的值及其對應(yīng)的數(shù)據(jù)段中的內(nèi)容。實(shí)驗(yàn)一 dos環(huán)境和debug命令實(shí)驗(yàn)?zāi)康模菏煜os環(huán)境下常用的命令以及debug調(diào)試工具的基本使用方法,為以后的實(shí)驗(yàn)打下基礎(chǔ)。實(shí)驗(yàn)器材:計(jì)算機(jī)一臺,debug調(diào)試工具實(shí)驗(yàn)內(nèi)容及步驟:1、 進(jìn)入dos環(huán)境:win98/95/me:l 開機(jī)windows開始程序msdos方式。l 開機(jī)windows開始運(yùn)行commandmsdos方式。l 開機(jī)f8或ctrl啟動菜單選第5項(xiàng)純msdos。win 2k/xp/2003:l 開機(jī)windows開始運(yùn)行commandmsdos西文方式。l 開機(jī)wind

29、ows開始運(yùn)行cmdmsdos中文方式。2、dir 盤符路徑文件名/s/p/a 顯示文件目錄,可用于查找文件(內(nèi)部命令)省略盤符為當(dāng)前盤,省略路徑為當(dāng)前路徑,省略文件名為*.* /s為帶子目錄,/p為分屏顯示,/a為各種屬性文件(包括隱藏、系統(tǒng))如: dir c:windowscommand*.exe dir d:masm.exe/s ;可用于在d:盤中查找masm.exe文件3、md 盤符路徑新目錄名 ;創(chuàng)建子目錄(內(nèi)部命令) 省略盤符為當(dāng)前盤,省略路徑為當(dāng)前路徑,新目錄名不可省略如: md d:myfile4、cd 盤符路徑 ;顯示/切換當(dāng)前路徑(內(nèi)部命令) 省略盤符為當(dāng)前盤,省略路徑為顯

30、示指定盤的當(dāng)前路徑 如: cd d:myfile5、type 盤符路徑具體文本文件名 ;顯示文本文件內(nèi)容(內(nèi)部命令) 省略盤符為當(dāng)前盤,省略路徑為當(dāng)前路徑,文件名必須是具體文件名,而且只有文本文件才可正常顯示。 如: type d: myfileexample.asm6、doskey ;dos命令記憶器,運(yùn)行后最近鍵入的命令將會被記住,可通過上下光標(biāo)鍵將記住的命令調(diào)出適當(dāng)修改再運(yùn)行或用f7鍵可顯示所有記住的命令及f9指定某個命令(外部命令,win xp/2k可不用運(yùn)行,其啟動dos方式時已自動運(yùn)行) 如:doskey7、path盤符路徑;;使用path命令,設(shè)置可執(zhí)行文件的自動搜索路徑,參數(shù)全

31、省略顯示當(dāng)前自動搜索路徑(內(nèi)部命令) 如: path c:windowscommand;d:masm ;設(shè)置自動搜索路徑有兩個c:windowscommand和d:masm path c:windowssystem32;d:masm ;設(shè)置自動搜索路徑有兩個c:windowssystem32和d:masmpath;顯示當(dāng)前自動搜索路徑 path %path%;d:masm;添加自動搜索路徑一個d:masm path; ;取消當(dāng)前自動搜索路徑8、進(jìn)入debug運(yùn)行狀態(tài),熟悉使用各條debug命令如: debug進(jìn)入后顯示-,cs、ds、es、ss四個段寄存器值相等(每次進(jìn)入不一定相同,取決于系統(tǒng)

32、及內(nèi)存駐留程序的多少),除ip=0100h、sp=ffeeh,其它通用寄存器值均為0,psw的初值為nv、up、ei、pl、na、po、nc(后有說明)。特別要注意cs:ip代表下一條待執(zhí)行指令的默認(rèn)起始地址,ss:sp為棧頂?shù)刂?,涉及串操作時ds:si代表源串的起始地址、es:di代表目的串的起始地址,涉及文件操作時bx、cx代表文件長度(bx為高16位,cx為低16位),內(nèi)存變量在debug中必須用其他尋址方式替代(一般用直接偏移量表示),所有數(shù)據(jù)均為十六進(jìn)制。練習(xí)各條常用debug命令的使用,要求熟悉英文縮寫及單詞。 -?;顯示如下(命令英文全稱,命令,參數(shù)表)(中括號代表可省略,下同)

33、assemble a addressdump d range enter e addresscompare c range address listfill f range listgo g =address addresseshex h value1 value2input i portload l addressdrivefirstsector numbermove m range addressname n pathname arglistoutput oport byteproceed p =address numberquit qregister r registersearch s

34、 range listtrace t =address valueunassemble u rangewrite w addressdrivefirstsector number 顯示和修改寄存器的內(nèi)容的命令r的用法:-r 寄存器名|f-r;這可顯示所有寄存器的內(nèi)容,包括標(biāo)志寄存器的內(nèi)容,以及當(dāng)前cs:ip處的一條指令的機(jī)器碼和匯編指令,還有涉及到的存儲單元內(nèi)容。如:-rax=0000 bx=0000 cx=0000 dx=0000 sp=ffee bp=0000 si=0000 di=0000ds=1368 es=1368 ss=1368 cs=1368 ip=0100 nv up ei p

35、l nz na po nc1368:0100 a10002 mov ax,0200 ds:0200=3412除psw外其余寄存器均顯示為16進(jìn)制數(shù)據(jù),psw各標(biāo)志位的置位/復(fù)位(1/0)分別為: of:ov/nv(overflow/no overflow)df:dn/up(down/up)if:ei/di(enable interrupt/disable interrupt)sf:ng/pl(negative/positive)zf:zr/nz(zero/not zero)af:ac/na(auxiliary carry/no auxiliary carry)pf:pe/po(parity e

36、ven/parity odd)cf:cy/nc(carry/no carry)-r 寄存器名或標(biāo)志f ;修改指定寄存器或標(biāo)志位的內(nèi)容,如: -rbx bx 0369: ;若不修改,可按enter鍵,否則在冒號后輸入要修改的內(nèi)容如059f回車,則bx的內(nèi)容由0369改為059f。-rfnv up ei pl nz na po nc -cy zr ;則nc改為cy,nz改zr(次序無關(guān))內(nèi)存數(shù)據(jù)處理命令主要有以下三個d、e、f。 顯示指定范圍的內(nèi)存單元內(nèi)容:-d段地址:起始偏移 終止偏移,如:-d136c:0100 3c 3e 75 70 38 04 75 06-ac 26 fe 06 3c 04

37、 e8 2e up8.u.&.136c:0110 fb 3c 3c 74 04 3c 0d 75-0d c6 05 0d 34 00 5b 13 .t.u.4.136c:0120 04 09 00 e9 c3 00 57 bf-e7 04 8b df 32 d2 06 51 .w.2.q136c:0130 b9 04 01 ac 3c 0d 74 23-3c 22 75 05 80 f2 01 eb .t#u.136c:0140 f2 0a d2 75 19 e8 ff fa-74 11 3a 06 1e d4 74 0b .u.t.:.t.136c:0150 3c 3c 74 04 3c 3

38、e 75 06-4e b0 20 59 eb 68 aa e8 t.u.n. y.h.136c:0160 44 f8 74 09 e3 f5 ac 3c-0d 74 f0 aa 49 e2 c4 eb d.t.t.i.136c:0170 ea 59 eb 4d 3c 3c 75 25-8b de e8 c2 fa 3c 3e 74 .y.mu%.t(默認(rèn)從當(dāng)前段及當(dāng)前偏移地址開始,顯示內(nèi)存單元的128個字節(jié)的內(nèi)容,每行16個字節(jié)。顯示出內(nèi)容的格式為:內(nèi)存起始段地址:偏移地址,16個字節(jié)的16進(jìn)制數(shù)據(jù),對應(yīng)的ascii字符)-d105 110136c:0100 75 06-ac 26 fe 06

39、 3c 04 e8 2e .u.&.136c:0110 fb 3c 3c 74 04 3c 0d 75-0d c6 05 .t.debug 文件名。 -l段地址:起始偏移 盤號 起始扇區(qū)號 扇區(qū)數(shù) ;將指定盤(0號對應(yīng)a盤、1號對應(yīng)b盤,依次類推)的指定扇區(qū)的內(nèi)容(一個扇區(qū)512字節(jié))裝入內(nèi)存。如:-l 100 2 0 1 ;將硬盤c的引導(dǎo)扇區(qū)內(nèi)容讀入內(nèi)存100h開始處-d 100 ;顯示引導(dǎo)扇區(qū)內(nèi)容136c:0100 eb 58 90 4d 53 57 49 4e-34 2e 31 00 02 08 20 00 .x.mswin4.1. .136c:0110 02 00 00 00 00 f

40、8 00 00-3f 00 ff 00 3f 00 00 00 .?.?.136c:0120 fe e6 da 00 9f 36 00 00-00 00 00 00 02 00 00 00 .6.136c:0130 01 00 06 00 00 00 00 00-00 00 00 00 00 00 00 00 .136c:0140 80 00 29 e9 18 44 09 57-49 4e 39 38 20 20 20 20 .).d.win98136c:0150 20 20 46 41 54 33 32 20-20 20 33 c9 8e d1 bc f4 fat32 3.136c:0160 7b 8e c1 8e d9 bd 00 7c-88 4e 02 8a 56 40 b4 08 .|.n.v.136c:0170 c

溫馨提示

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

評論

0/150

提交評論