匯編源程序上機(jī)操作過程_第1頁
匯編源程序上機(jī)操作過程_第2頁
匯編源程序上機(jī)操作過程_第3頁
匯編源程序上機(jī)操作過程_第4頁
匯編源程序上機(jī)操作過程_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

一、用編輯程序建立和修改源程序文件〔*.asm〕;二、用匯編程序匯編源文件,產(chǎn)生對應(yīng)的目標(biāo)文件〔*.obj〕;三、把目標(biāo)文件經(jīng)連接程序連接,形成可執(zhí)行文件〔*.exe〕;匯編語言源程序的上機(jī)操作過程四、調(diào)試、運(yùn)行可執(zhí)行文件,通過調(diào)試程序進(jìn)行。一、用編輯程序建立和修改源程序編輯程序:Word、記事本、EDIT等編輯軟件建議使用記事本1、啟動記事本執(zhí)行“開始〞|“所有程序〞|“附件〞|“記事本〞命令,啟動記事本。2、在記事本中輸入源程序3、保存源程序,生成源程序文件〔源文件〕執(zhí)行“文件〞|“保存〞命令,在彈出的“另存為〞對話框中,依次執(zhí)行以下操作1)設(shè)置文件保存路徑,設(shè)為“d:\masm5”,以使源文件與匯編程序MASM在同一文件夾中。2)輸入文件名“l(fā)t2.asm”,請?zhí)貏e注意不要忘了后綴“asm”3〕選擇“保存類型〞為“所有文件〞4〕點(diǎn)擊“保存〞在D:\MASM5文件夾中生成的“l(fā)t2.asm〞源文件二、用匯編程序把源文件轉(zhuǎn)換成目標(biāo)文件匯編程序:

Microsoft:MASMBorland:TASM1、在Windows操作系統(tǒng)下進(jìn)入虛擬DOS環(huán)境1)執(zhí)行“開始〞|“運(yùn)行〞命令,彈出“運(yùn)行〞對話框,鍵入“cmd〞1、在Windows操作系統(tǒng)下進(jìn)入虛擬DOS環(huán)境2)在“運(yùn)行〞對話框輸入“cmd〞后,彈出如以下圖所示界面,這就是一個(gè)虛擬DOS環(huán)境系統(tǒng)當(dāng)前工作路徑2、啟動匯編程序MASM1)轉(zhuǎn)換當(dāng)前系統(tǒng)工作路徑到匯編程序MASM的工作路徑〞d:\masm5〞①在提示符后輸入“d:〞,然后回車②在提示符后輸入“cd\masm5〞,然后回車2、啟動匯編程序MASM當(dāng)前系統(tǒng)工作路徑已轉(zhuǎn)換到匯編程序MASM所在路徑〞d:\masm5〞匯編程序MASM所在路徑〞d:\masm5〞,是系統(tǒng)當(dāng)前工作路徑2、啟動匯編程序MASM2〕在提示符后鍵入“masm〞,以提問方式啟動MASM3、調(diào)入?yún)R編程序MASM,對源文件進(jìn)行匯編1〕調(diào)入MASM后,首先顯示MASM的版本信息已成功調(diào)入?yún)R編程序MASM匯編程序MASM的版本信息3、調(diào)入?yún)R編程序MASM,對源文件進(jìn)行匯編1〕依次提出4個(gè)問題,首先提出問題1;問題1:詢問被匯編的源文件名,方括號內(nèi)表示源文件的后綴對問題1:鍵入源文件名〔“l(fā)t2〞〕,再回車3、調(diào)入?yún)R編程序MASM,對源文件進(jìn)行匯編1〕答復(fù)以下問題1后,提出問題2;問題2:詢問目標(biāo)文件名,假設(shè)同意方括號內(nèi)的缺省文件名〔“l(fā)t2.obj〞,缺省文件名與源文件名相同,這里是“l(fā)t2〞〕,那么直接回車;否那么鍵入文件名再回車。建議采用缺省文件名,即直接回車.3、調(diào)入?yún)R編程序MASM,對源文件進(jìn)行匯編1〕答復(fù)以下問題2后,提出問題3;問題3:詢問是否要建立列表文件,假設(shè)要,那么鍵入列表文件名再回車;否那么直接回車。要建立列表文件,鍵入列表文件名〔“l(fā)t2〞〕再回車。3、調(diào)入?yún)R編程序MASM,對源文件進(jìn)行匯編1〕答復(fù)以下問題3后,提出問題4。問題4:詢問是否要建立交叉參考文件,假設(shè)要,那么鍵入交叉參考文件名再回車;否那么直接回車。要建立交叉參考文件,鍵入列表文件名〔“l(fā)t2〞〕再回車。3、調(diào)入?yún)R編程序MASM,對源文件進(jìn)行匯編2〕答復(fù)完4個(gè)問題后,MASM對源文件進(jìn)行掃描,在掃描過程中假設(shè)發(fā)現(xiàn)有語法錯(cuò)誤,那么列出有錯(cuò)誤的語句所在行和錯(cuò)誤類型,并且列出警告性錯(cuò)誤〔WarningErrors〕和致命性錯(cuò)誤〔SevereErrors〕的總數(shù)。MASM對源文件匯編后,發(fā)現(xiàn)有0個(gè)警告性錯(cuò)誤和1個(gè)致命性錯(cuò)誤。指出錯(cuò)誤在源文件的第11行錯(cuò)誤類型:符號X1未定義4、用戶需再次調(diào)用編輯程序〔紀(jì)事本〕修改源文件,并重新匯編,直至匯編正確為止。源文件中的第11行:指令A(yù)DDAL,X1有誤錯(cuò)誤類型:符號X1未定義經(jīng)分析:指令A(yù)DDAL,X1應(yīng)改為ADDAL,X+1,原指令中漏了“+〞。調(diào)用記事本修改源文件4、用戶需再次調(diào)用編輯程序修改源文件,并重新匯編,直至匯編正確為止。源文件中的第11行已改為ADDAL,X+1修改后的源文件4、用戶需再次調(diào)用編輯程序修改源文件,并重新匯編,直至匯編正確為止。按照前面所述步驟重新對修改后的源文件進(jìn)行匯編,匯編后假設(shè)顯示0WarningErrors0SevereErrors表示匯編正確。三、經(jīng)過連接形成可執(zhí)行文件連接程序:

Microsoft:LINKBorland:TLINK1、啟動連接程序LINK在提示符后鍵入“l(fā)ink〞,以提問方式啟動LINK2、調(diào)入連接程序LINK,進(jìn)行連接1〕顯示MASM的版本信息已調(diào)入連接程序LINK連接程序LINK的版本信息2、調(diào)入連接程序LINK,進(jìn)行連接2〕依次提出4個(gè)問題問題1:詢問被連接的各目標(biāo)文件名,當(dāng)不止一個(gè)目標(biāo)文件時(shí),中間以“+〞相連,然后回車。對問題1:因只有一個(gè)目標(biāo)文件〔“l(fā)t2.obj〞〕,鍵入目標(biāo)文件名〔“l(fā)t2〞〕,再回車2、調(diào)入連接程序LINK,進(jìn)行連接2〕依次提出4個(gè)問題問題2:詢問連接產(chǎn)生的可執(zhí)行文件名,假設(shè)同意方括號內(nèi)的缺省文件名〔“l(fā)t2.exe〞〕,那么直接回車。2、調(diào)入連接程序LINK,進(jìn)行連接2〕依次提出4個(gè)問題問題3:詢問連接產(chǎn)生的內(nèi)存分配圖文件名,假設(shè)需要內(nèi)存分配圖文件,那么鍵入文件名再回車;假設(shè)不需要那么直接回車。要建立內(nèi)存分配圖文件,鍵入文件名〔“l(fā)t2〞〕再回車。2、調(diào)入連接程序LINK,進(jìn)行連接2〕依次提出4個(gè)問題問題4:詢問欲連接的庫文件名,假設(shè)無庫文件連接那么直接回車。2、調(diào)入連接程序LINK,進(jìn)行連接3〕依次答復(fù)4個(gè)問題后,LINK立即開始工作。LINK工作后,假設(shè)顯示有警告性錯(cuò)誤和致命性錯(cuò)誤,用戶需再次調(diào)用編輯程序修改源文件,并重新匯編、連接,直至匯編、連接正確為止。LINK工作后,假設(shè)顯示只有警告性錯(cuò)誤:nostacksegment〔源文件沒有堆棧段〕。在程序未定義堆棧段時(shí),這個(gè)錯(cuò)誤不會影響程序的運(yùn)行,可不理會,認(rèn)為連接正確。匯編、連接成功后,生成的可執(zhí)行文件lt2.exe〔已是二進(jìn)制代碼的程序文件〕。三、經(jīng)過連接形成可執(zhí)行文件四、調(diào)試、運(yùn)行可執(zhí)行文件調(diào)試程序:

Microsoft:DEBUGBorland:TD四、調(diào)試、運(yùn)行可執(zhí)行文件要調(diào)入調(diào)試程序debug,并調(diào)試程序lt2.exe,需要在提示符“>〞后鍵入“debuglt2.exe〞。四、調(diào)試、運(yùn)行可執(zhí)行文件鍵入“debuglt2.exe〞并回車后,出現(xiàn)如下圖的提示符“—〞,表示debug已調(diào)入內(nèi)存,同時(shí)debug也把被調(diào)試的程序“l(fā)t2.exe〞調(diào)入內(nèi)存。所有用于調(diào)試程序的debug命令只有在出現(xiàn)此提示符后才有效。請注意不要忘了鍵入被調(diào)試的程序文件名“l(fā)t2.exe〞在提示符“—〞后鍵入“u〞命令:將調(diào)入內(nèi)存的“l(fā)t2.exe〞〔目標(biāo)程序〕反匯編為源程序。假設(shè)一次“u〞命令未將目標(biāo)程序反匯編完,可繼續(xù)輸入“u〞命令。“l(fā)t2.exe”反匯編為源程序四、調(diào)試、運(yùn)行可執(zhí)行文件1、“u〞命令:將調(diào)入內(nèi)存的目標(biāo)程序反匯編為源程序。“l(fā)t2.exe〞反匯編后的源程序與“l(fā)t2.asm〞源程序的比較⑴、“l(fā)t2.asm〞中凡偽指令局部匯編后在“l(fā)t2.exe〞中均不存在目標(biāo)代碼。⑵、“l(fā)t2.asm〞中凡符號地址〔包括段基址和偏移地址,藍(lán)色下劃線所示〕在“l(fā)t2.exe〞中都變?yōu)榫唧w的數(shù)值地址〔黃色下劃線所示〕。0B77:00000B77:00010B77:0002DATA:XDATA:

X+1DATA:

Y程序的數(shù)據(jù)段3268?各數(shù)據(jù)在“l(fā)t2.exe〞中的數(shù)值地址〔段基址:偏移地址〕。各數(shù)據(jù)在“l(fā)t2.asm〞中的符號地址〔段基址:偏移地址〕。0B77:程序的數(shù)據(jù)段的段基址。0B77→DS要顯示程序數(shù)據(jù)段的3個(gè)字節(jié)〔如以下圖〕可采取以下方法:1〕在提示符“—〞后鍵入“D0B77:02〞命令〔字母大小寫均可〕:2〕在提示符“—〞后鍵入“D0B77:0L3〞命令

四、調(diào)試、運(yùn)行可執(zhí)行文件2、“d〞命令:顯示內(nèi)存單元內(nèi)容。命令格式:d[要顯示的內(nèi)存單元地址或范圍]0B77:0——程序數(shù)據(jù)段的起始地址(段基址:偏移地址)。2——程序數(shù)據(jù)段的終止地址(只需指出偏移地址)。0B77:0——程序數(shù)據(jù)段的起始地址(段基址:偏移地址)。L3——程序數(shù)據(jù)段的長度。0B77:00000B77:00010B77:0002DATA:XDATA:

X+1DATA:

Y程序的數(shù)據(jù)段3268?鍵入D命令后所顯示的程序數(shù)據(jù)段的3個(gè)字節(jié)的數(shù)據(jù)情況:0B77:0000204400

四、調(diào)試、運(yùn)行可執(zhí)行文件2、“d〞命令:顯示內(nèi)存單元內(nèi)容。命令格式:d[要顯示的內(nèi)存單元地址或范圍]0B77:00000B77:00010B77:0002DATA:XDATA:

X+1DATA:

Y程序的數(shù)據(jù)段3268?0B77:0——程序數(shù)據(jù)段的起始地址〔段基址:偏移地址〕。地址為0B77:0000的字節(jié)單元:存儲數(shù)據(jù)“20H〔32〕〞地址為0B77:0001的字節(jié)單元:存儲數(shù)據(jù)“44H〔68〕〞地址為0B77:0002的字節(jié)單元:存儲數(shù)據(jù)Y〔運(yùn)行結(jié)果〕四、調(diào)試、運(yùn)行可執(zhí)行文件3、

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論