




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程匯編語言程序的上機(jī)過程匯編語言程序的上機(jī)過程v要運(yùn)行調(diào)試匯編語言程序,需要以下程序文件:要運(yùn)行調(diào)試匯編語言程序,需要以下程序文件: 編輯程序編輯程序 EDIT.COMEDIT.COM或其他文本編輯工具軟件,用于編輯源程序?;蚱渌谋揪庉嫻ぞ哕浖?,用于編輯源程序。 匯編程序匯編程序 MASM.EXEMASM.EXE,用于匯編源程序,得到目標(biāo)程序。,用于匯編源程序,得到目標(biāo)程序。 連接程序連接程序 LINK.EXELINK.EXE,用于連接目標(biāo)程序,得到可執(zhí)行程序。,用于連接目標(biāo)程序,得到可執(zhí)行程序。 調(diào)試程序調(diào)試程序 DEBUG.EXEDE
2、BUG.EXE,用于調(diào)試可執(zhí)行程序。,用于調(diào)試可執(zhí)行程序。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程上機(jī)過程上機(jī)過程v匯編語言程序上機(jī)操作包括以下幾個(gè)階段:匯編語言程序上機(jī)操作包括以下幾個(gè)階段: 編輯、匯編、連接和調(diào)試。編輯、匯編、連接和調(diào)試。1.1.編輯源程序編輯源程序v用文本編輯軟件創(chuàng)建、編輯匯編源程序。常用用文本編輯軟件創(chuàng)建、編輯匯編源程序。常用編輯工具有:編輯工具有:EDIT.COMEDIT.COM、記事本、記事本、WordWord等。等。v無論采用何種編輯工具,生成的文件必須是純無論采用何種編輯工具,生成的文件必須是純文本文件,所有字符為半角,且文件文本文件,所有字符為
3、半角,且文件擴(kuò)展名為擴(kuò)展名為.asm.asm(文件名不分大小寫,由文件名不分大小寫,由1 18 8個(gè)字符組成個(gè)字符組成)。)。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程上機(jī)過程(續(xù))上機(jī)過程(續(xù))v2.2.匯編匯編 用匯編軟件用匯編軟件MASMMASM對上述源程序文件(對上述源程序文件(.asm.asm)進(jìn)行)進(jìn)行匯編,產(chǎn)生目標(biāo)文件(匯編,產(chǎn)生目標(biāo)文件(.obj.obj)等。)等。 匯編軟件匯編軟件MASMMASM的主要功能是:的主要功能是:檢查源程序的語法,給出錯(cuò)誤信息;檢查源程序的語法,給出錯(cuò)誤信息;建立目標(biāo)程序文件;建立目標(biāo)程序文件;展開宏指令。展開宏指令。 如果匯編過程中
4、發(fā)現(xiàn)有語法錯(cuò)誤,則如果匯編過程中發(fā)現(xiàn)有語法錯(cuò)誤,則屏幕上會(huì)顯屏幕上會(huì)顯示出錯(cuò)語言的位置和出錯(cuò)的類型示出錯(cuò)語言的位置和出錯(cuò)的類型。此時(shí),需要進(jìn)。此時(shí),需要進(jìn)行修改,然后再進(jìn)行匯編。如此進(jìn)行,直至匯編行修改,然后再進(jìn)行匯編。如此進(jìn)行,直至匯編無錯(cuò)誤,得到目標(biāo)文件為止。無錯(cuò)誤,得到目標(biāo)文件為止。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程上機(jī)過程(續(xù))上機(jī)過程(續(xù))v對源程序?qū)υ闯绦騇YFILE.ASMMYFILE.ASM進(jìn)行匯編的方法:進(jìn)行匯編的方法: 在在DOSDOS狀態(tài)下,輸入命令狀態(tài)下,輸入命令即啟動(dòng)了匯編程序。即啟動(dòng)了匯編程序。 MASM MYFILE.ASMMASM MYFI
5、LE.ASM(回車)(回車)v此命令執(zhí)行后,會(huì)出現(xiàn)下面的此命令執(zhí)行后,會(huì)出現(xiàn)下面的3 3行信息,依次行信息,依次按回車鍵(即選擇默認(rèn)值)即按回車鍵(即選擇默認(rèn)值)即可建立目標(biāo)文件可建立目標(biāo)文件MYFILE.OBJMYFILE.OBJ。ObjectObjectFilename MYFILE.OBJ:Filename MYFILE.OBJ:SourceSourceListing Nul.LST:Listing Nul.LST:CrossCrossReference Nul.CRF:Reference Nul.CRF:80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程上機(jī)過程(續(xù))上機(jī)過程(續(xù)
6、)3.3.連接連接v匯編產(chǎn)生的目標(biāo)文件(匯編產(chǎn)生的目標(biāo)文件(.OBJ.OBJ)并不是可執(zhí)行)并不是可執(zhí)行的程序,還要用連接程序把它轉(zhuǎn)換為可執(zhí)行的的程序,還要用連接程序把它轉(zhuǎn)換為可執(zhí)行的EXEEXE文件。文件。v連接方法如下:連接方法如下: 在在DOSDOS狀態(tài)下,輸入命令即可完成連接:狀態(tài)下,輸入命令即可完成連接: LINK MYFILE.OBJLINK MYFILE.OBJ(回車)(回車)v如果連接過程中出錯(cuò),那么程序會(huì)在屏幕上顯示提如果連接過程中出錯(cuò),那么程序會(huì)在屏幕上顯示提示信息。此時(shí),需要對源程序進(jìn)行查錯(cuò)、修改,然示信息。此時(shí),需要對源程序進(jìn)行查錯(cuò)、修改,然后后再進(jìn)行匯編、連接再進(jìn)行匯
7、編、連接,直至連接無錯(cuò)誤,得到可執(zhí),直至連接無錯(cuò)誤,得到可執(zhí)行文件(行文件(.EXE.EXE)為止。)為止。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程上機(jī)過程(續(xù))上機(jī)過程(續(xù))4.4.程序運(yùn)行程序運(yùn)行 在在DOSDOS提示符下輸入可執(zhí)行程序的文件名即可提示符下輸入可執(zhí)行程序的文件名即可運(yùn)行程序。運(yùn)行程序。 若程序能夠運(yùn)行但不能得到預(yù)期結(jié)果,則就需若程序能夠運(yùn)行但不能得到預(yù)期結(jié)果,則就需要檢查源程序,要檢查源程序,改錯(cuò)后再匯編、連接、運(yùn)行改錯(cuò)后再匯編、連接、運(yùn)行。5.5.程序調(diào)試程序調(diào)試 在程序運(yùn)行階段,有時(shí)不容易發(fā)現(xiàn)問題,這時(shí)在程序運(yùn)行階段,有時(shí)不容易發(fā)現(xiàn)問題,這時(shí)就需要使用調(diào)
8、試工具進(jìn)行動(dòng)態(tài)查錯(cuò)。就需要使用調(diào)試工具進(jìn)行動(dòng)態(tài)查錯(cuò)。 常用的動(dòng)態(tài)調(diào)試工具為常用的動(dòng)態(tài)調(diào)試工具為DEBUGDEBUG。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程利用利用DEBUGDEBUG進(jìn)行程序的運(yùn)行調(diào)試進(jìn)行程序的運(yùn)行調(diào)試vDEBUGDEBUG是為匯編語言設(shè)計(jì)的一種調(diào)試工具。是為匯編語言設(shè)計(jì)的一種調(diào)試工具。 它通過單步、設(shè)置斷點(diǎn)等方式為匯編語它通過單步、設(shè)置斷點(diǎn)等方式為匯編語言程序員提供了非常有效的調(diào)試手段。言程序員提供了非常有效的調(diào)試手段。 它可以直接調(diào)試它可以直接調(diào)試COMCOM文件和文件和EXEEXE文件。文件。vDEBUGDEBUG狀態(tài)下的所有數(shù)據(jù)都采用十六進(jìn)制形狀態(tài)下的
9、所有數(shù)據(jù)都采用十六進(jìn)制形式顯示,無后綴式顯示,無后綴H H。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程運(yùn)行調(diào)試(續(xù))運(yùn)行調(diào)試(續(xù))1.DEBUG1.DEBUG的運(yùn)行的運(yùn)行v在在DOSDOS狀態(tài)下,輸入下列命令之一,就可以進(jìn)狀態(tài)下,輸入下列命令之一,就可以進(jìn)入入DEBUGDEBUG調(diào)試狀態(tài)。調(diào)試狀態(tài)。命令一:命令一:DEBUG DEBUG ( (回車回車) )格式二:格式二:DEBUG DEBUG 可執(zhí)行文件名可執(zhí)行文件名 ( (回車回車) )v進(jìn)入進(jìn)入DEBUGDEBUG調(diào)試狀態(tài)后,將顯示調(diào)試狀態(tài)后,將顯示提示符提示符“”,此時(shí),可輸入所需的,此時(shí),可輸入所需的DEBUGDEBU
10、G命令。命令。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程運(yùn)行調(diào)試運(yùn)行調(diào)試-DEBUG-DEBUG的主要命令的主要命令v(1 1)顯示內(nèi)存單元內(nèi)容的命令)顯示內(nèi)存單元內(nèi)容的命令D Dv格式為:格式為:- -D D 地址地址 或或 - -D D 范圍范圍 v說明:上面格式中的說明:上面格式中的“- -”符號(hào)是符號(hào)是DEBUGDEBUG的提示的提示符,下同。符,下同。v例如,顯示指定范圍(例如,顯示指定范圍(DS:100DS:100DS:1FFDS:1FF)內(nèi)存)內(nèi)存單元內(nèi)容的命令是:單元內(nèi)容的命令是:- -D 100 10FD 100 10F 這里沒有指定段地址,這里沒有指定段地址,
11、D D命令自動(dòng)顯示命令自動(dòng)顯示DSDS段的段的內(nèi)容。內(nèi)容。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程運(yùn)行調(diào)試運(yùn)行調(diào)試-DEBUG-DEBUG的主要命令的主要命令v(2 2)修改內(nèi)存單元內(nèi)容的命令)修改內(nèi)存單元內(nèi)容的命令E E v格式一:用給定內(nèi)容代替指定范圍的單元格式一:用給定內(nèi)容代替指定范圍的單元內(nèi)容內(nèi)容-E -E 地址地址 內(nèi)容表內(nèi)容表 例如,例如,-E DS:100 F3-E DS:100 F3 5858 5959 5A5A 8D8Dv格式二:逐個(gè)單元相繼地修改格式二:逐個(gè)單元相繼地修改-E -E 地址地址 例如:例如: -E DS:100-E DS:100 18E4:01
12、00 8918E4:0100 89. .7878 此命令是將此命令是將0100單元內(nèi)容單元內(nèi)容89改為改為78。78是程序員是程序員從鍵盤輸入從鍵盤輸入的。的。程序員在修改完一個(gè)單元后,可程序員在修改完一個(gè)單元后,可按空格鍵繼續(xù)修改下一單元內(nèi)容,按空格鍵繼續(xù)修改下一單元內(nèi)容,直至按回車鍵結(jié)束該命令。直至按回車鍵結(jié)束該命令。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程運(yùn)行調(diào)試運(yùn)行調(diào)試-DEBUG-DEBUG的主要命令的主要命令v(3 3)檢查和修改寄存器內(nèi)容的命令)檢查和修改寄存器內(nèi)容的命令R R v格式一:顯示格式一:顯示CPUCPU內(nèi)部所有寄存器內(nèi)容和標(biāo)內(nèi)部所有寄存器內(nèi)容和標(biāo)志寄
13、存器中的各標(biāo)志位狀態(tài)志寄存器中的各標(biāo)志位狀態(tài)-R-Rv格式二:顯示和修改某個(gè)指定寄存器內(nèi)容格式二:顯示和修改某個(gè)指定寄存器內(nèi)容-R-R寄存器名寄存器名 例如:例如:-R AX-R AXv格式三:顯示和修改標(biāo)志寄存器內(nèi)容格式三:顯示和修改標(biāo)志寄存器內(nèi)容-RF-RF80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程運(yùn)行調(diào)試運(yùn)行調(diào)試-DEBUG-DEBUG的主要命令的主要命令(4 4)運(yùn)行命令)運(yùn)行命令G Gv格式為:格式為:-G =-G =地址地址11地址地址22地址地址3 3v其中,地址其中,地址1 1指定了運(yùn)行的起始地址,后面指定了運(yùn)行的起始地址,后面的均為斷點(diǎn)地址。當(dāng)指令執(zhí)行到斷點(diǎn)時(shí),
14、的均為斷點(diǎn)地址。當(dāng)指令執(zhí)行到斷點(diǎn)時(shí),就停止執(zhí)行并顯示當(dāng)前所有寄存器及標(biāo)志就停止執(zhí)行并顯示當(dāng)前所有寄存器及標(biāo)志位的內(nèi)容和下一條要執(zhí)行的指令。位的內(nèi)容和下一條要執(zhí)行的指令。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程運(yùn)行調(diào)試運(yùn)行調(diào)試-DEBUG-DEBUG的主要命令的主要命令v(5 5)跟蹤命令)跟蹤命令T Tv格式一:逐條指令跟蹤格式一:逐條指令跟蹤-T=-T=地址地址 v該命令從指定地址起執(zhí)行一條指令后停下該命令從指定地址起執(zhí)行一條指令后停下來,顯示所有寄存器及標(biāo)志位的內(nèi)容。若未來,顯示所有寄存器及標(biāo)志位的內(nèi)容。若未指定地址,則從當(dāng)前的指定地址,則從當(dāng)前的CS:IPCS:IP開始執(zhí)
15、行。開始執(zhí)行。v格式二:多條指令跟蹤格式二:多條指令跟蹤-T=-T=地址地址值值 v該命令從指定地址起執(zhí)行該命令從指定地址起執(zhí)行n n條指令后停下來?xiàng)l指令后停下來,n n由由 值值 確定。確定。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程運(yùn)行調(diào)試運(yùn)行調(diào)試-DEBUG-DEBUG的主要命令的主要命令v(6 6)匯編命令)匯編命令A(yù) Av格式為:格式為:-A -A 地址地址 v該命令允許輸入?yún)R編語言語句,并能把它該命令允許輸入?yún)R編語言語句,并能把它們匯編成機(jī)器代碼,相繼地存放在從指定們匯編成機(jī)器代碼,相繼地存放在從指定地址開始的存儲(chǔ)區(qū)中。地址開始的存儲(chǔ)區(qū)中。v必須注意:輸入的數(shù)字均默認(rèn)
16、為十六進(jìn)制必須注意:輸入的數(shù)字均默認(rèn)為十六進(jìn)制數(shù)。數(shù)。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程運(yùn)行調(diào)試運(yùn)行調(diào)試-DEBUG-DEBUG的主要命令的主要命令v(7 7)反匯編命令)反匯編命令U Uv格式一:從指定地址開始,反匯編格式一:從指定地址開始,反匯編3232字節(jié)字節(jié)-U -U 地址地址 v格式二:對指定范圍內(nèi)的存儲(chǔ)單元進(jìn)行反格式二:對指定范圍內(nèi)的存儲(chǔ)單元進(jìn)行反匯編匯編-U -U 范圍范圍 80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程運(yùn)行調(diào)試運(yùn)行調(diào)試-DEBUG-DEBUG的主要命令的主要命令v(8 8)執(zhí)行命令)執(zhí)行命令P Pv格式為:格式為:-P =-P =
17、地址地址 指令數(shù)指令數(shù) 該命令控制該命令控制CPUCPU執(zhí)行指定地址處的指令。執(zhí)行指定地址處的指令。 若指定了指令數(shù),則若指定了指令數(shù),則CPUCPU執(zhí)行從指定地址開始的若執(zhí)行從指定地址開始的若干條指令。干條指令。 若未指定地址和指令數(shù),則若未指定地址和指令數(shù),則CPUCPU執(zhí)行由(執(zhí)行由(CS:IPCS:IP)指定地址處的一條指令。指定地址處的一條指令。vP P命令與命令與T T命令的差別命令的差別在于:在于: P P命令把子程序調(diào)用(命令把子程序調(diào)用(CALLCALL)、重復(fù)字符串)、重復(fù)字符串指令(指令(REPREP)或軟件中斷()或軟件中斷(INTINT)當(dāng)成一條指)當(dāng)成一條指令來執(zhí)行
18、,簡化了跟蹤過程。令來執(zhí)行,簡化了跟蹤過程。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程運(yùn)行調(diào)試運(yùn)行調(diào)試-DEBUG-DEBUG的主要命令的主要命令v(9 9)退出)退出DEBUGDEBUG命令命令Q Qv格式為:格式為:-Q-Qv該命令退出該命令退出DEBUGDEBUG程序,返回程序,返回DOSDOS。80868086匯編語言程序上機(jī)過程匯編語言程序上機(jī)過程運(yùn)行調(diào)試運(yùn)行調(diào)試-DEBUG-DEBUG使用說明使用說明v 在在DEBUGDEBUG中的提示符中的提示符“- -”下才能輸入命下才能輸入命令,在按回車鍵后,該命令才開始執(zhí)行。令,在按回車鍵后,該命令才開始執(zhí)行。v 命令是單個(gè)字母,命令和參數(shù)的大小寫命令是單個(gè)字母,命令和參數(shù)的大小寫可混合輸入??苫旌陷斎?。v 命令和參數(shù)、參數(shù)和參數(shù)之間要用空格命令和參數(shù)、參數(shù)和參數(shù)之間要用空格、逗號(hào)或制表符等分隔。、逗號(hào)或制表符等分隔。v 可以用可以用“段值:偏移量段值:偏移量”的形式來表示的形式來表示地址,也可以用段寄存器來代表地址,也可以用段寄存器來代表“段值段值”。例如,例如,1000:01000:0,DS:10DS:10,CS:30CS:30等。等。80868086匯編語言程序上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 紙的發(fā)明與文化傳播教學(xué)教案:初中歷史課程
- 上海華二附中高一(下)期末數(shù)學(xué)試題及答案
- 2022學(xué)年上海進(jìn)才中學(xué)高一(下)期末政治試題及答案
- 2021學(xué)年上??亟袑W(xué)高一(下)期中語文試題及答案
- 百年孤獨(dú)的經(jīng)典名句解讀:文學(xué)鑒賞教學(xué)教案
- 英語現(xiàn)在完成時(shí)態(tài)結(jié)構(gòu)與應(yīng)用實(shí)例講解教案
- 夏日海灘的回憶抒情類作文13篇
- 公交公司比賽活動(dòng)方案
- 公交職工互助活動(dòng)方案
- 公眾號(hào)元旦活動(dòng)方案
- 絲網(wǎng)除沫器小計(jì)算
- 制缽機(jī)的設(shè)計(jì)(機(jī)械CAD圖紙)
- 《土木工程生產(chǎn)實(shí)習(xí)報(bào)告》
- 11分泌性中耳炎學(xué)習(xí)課程
- 明基逐鹿eHR白皮書(DOC 30頁)
- 三年級(jí)下冊美術(shù)課件-第15課色彩拼貼畫|湘美版(共11張PPT)
- 水稻病蟲統(tǒng)防統(tǒng)治工作總結(jié)
- 水在不同溫度下的折射率、粘度和介電常數(shù)
- 四柱特高弟子班絕密資料——席學(xué)易
- 呼吸機(jī)基礎(chǔ)知識(shí)最終版
- 廣安市教育局文件材料歸檔范圍及保管期限表
評論
0/150
提交評論