《匯編語言》實驗指導(dǎo)書-2014.9_第1頁
《匯編語言》實驗指導(dǎo)書-2014.9_第2頁
《匯編語言》實驗指導(dǎo)書-2014.9_第3頁
《匯編語言》實驗指導(dǎo)書-2014.9_第4頁
《匯編語言》實驗指導(dǎo)書-2014.9_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《匯編語言》實驗指導(dǎo)書計算機(jī)學(xué)院網(wǎng)絡(luò)工程系李冬艷2014.9.1實驗一匯編語言上機(jī)環(huán)境及基本操作一、實驗?zāi)康募耙?.學(xué)習(xí)及掌握匯編語言源程序的書寫格式和要求,明確程序中各段的功能和相互之間的關(guān)系。2.熟練掌握在計算機(jī)上建立、匯編、連接、調(diào)試及運(yùn)行程序的方法。二、實驗內(nèi)容1.匯編語言源程序的建立本例中給出的程序是要求編寫3+5=8的程序,并把8存入AL或AX中。設(shè)定源程序的文件名為ABC.ASM。(用任何一個種文本編輯器編寫此程序,存盤)或雙擊桌面的“MasmforWindows集成實驗環(huán)境2012.5”快捷文件圖標(biāo),進(jìn)入?yún)R編語言集成開發(fā)環(huán)境DATASSEGMENT;此處輸入數(shù)據(jù)段代碼DATASENDSSTACKSSEGMENT;此處輸入堆棧段代碼STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AX;======================================MOVAX,3;自己寫的代碼MovBX,5;自己寫的代碼ADDAX,BX;自己寫的代碼(只有3條);此處輸入代碼段代碼;======================================MOVAH,4CHINT21HCODESENDSENDSTART程序輸入完畢后一定要將源程序文件存入盤中,以便進(jìn)行匯編及連接,也可以再次調(diào)出源程序進(jìn)行修改。2.將源程序文件匯編成目標(biāo)程序文件一般情況下,匯編程序MASM.exe的主要功能有以下3點:(1)檢查源程序中存在的語法錯誤,并給出錯誤信息。(2)源程序經(jīng)匯編后沒有錯誤,則產(chǎn)生目標(biāo)程序文件,擴(kuò)展名為.OBJ。(3)若程序中使用了宏指令,則匯編程序?qū)⒄归_宏指令。3.用鏈接程序link.exe生成可執(zhí)行程序文件經(jīng)匯編以后產(chǎn)生的目標(biāo)程序文件(.OBJ文件)并不是可執(zhí)行程序文件,必須經(jīng)過鏈接以后,才能成為可執(zhí)行文件(即擴(kuò)展名為.EXE)。鏈接以后,便可以產(chǎn)生可執(zhí)行程序文件(.EXE文件)。4.程序的執(zhí)行本程序當(dāng)中沒有編寫輸出部分代碼,所以在屏幕上看不到程序執(zhí)行的結(jié)果。我們可以采用調(diào)試程序DEBUG來進(jìn)行檢查,相關(guān)內(nèi)容請參見實驗二。實驗二DEBUG調(diào)試程序的應(yīng)用一、實驗?zāi)康腄EBUG.EXE程序是專門為分析、研制和開發(fā)匯編語言程序而設(shè)計的一種調(diào)試工具,具有跟蹤程序執(zhí)行、觀察中間運(yùn)行結(jié)果、顯示和修改寄存器或存儲單元內(nèi)容等多種功能。它能使程序設(shè)計人員或用戶觸及到機(jī)器內(nèi)部,因此可以說它是80X86CPU的心靈窗口,也是我們學(xué)習(xí)匯編語言必須掌握的調(diào)試工具。二、實驗內(nèi)容1.在DEBUG環(huán)境下建立和匯編程序在DEBUG環(huán)境下用戶可以直接建立匯編語言源程序,并可以進(jìn)行編輯修改和調(diào)試。比如,在DEBUG下編寫如下程序:MOVDL,33HMOVAH,2INT21H;字符3的ASCII碼送DL;使用DOS的2號功能調(diào)用;進(jìn)入功能調(diào)用,輸出‘3’INT20H;BIOS中斷服務(wù),程序正常結(jié)束。該程序運(yùn)行結(jié)果是在顯示器上輸出一個字符‘3’。如果要輸出其它字符,請改變程序中‘33H’為相應(yīng)字符的ASCII碼。其中涉及DOS和BIOS功能調(diào)用。因為我們是在DOS的支持下運(yùn)行匯編語言程序,所以一般情況下,不能輕易使用輸入/輸出指令直接通過端口輸入/輸出,而必須使用DOS內(nèi)部提供的子程序完成輸入/輸出。DOS功能調(diào)用就是為諸如此類的目的設(shè)置的。DOS功能調(diào)用要求在進(jìn)入INT21H調(diào)用前,首先將功能調(diào)用號送AH寄存器,并根據(jù)功能調(diào)用號準(zhǔn)備初始數(shù)據(jù)。也就是說INT21H的2號功能調(diào)用是輸出DL寄存器中的字符。INT20H是BIOS中斷服務(wù),這一軟中斷用來正常結(jié)束程序。具體步驟如下:進(jìn)入debug調(diào)試環(huán)境后,(1)輸入程序并匯編_A1000B03:0100MOVDL,330B03:0102MOVAH,20B03:0104INT2l0B03:0106INT200B03:0108“0B03:0100”類似這樣的地址是系統(tǒng)自動提供的,不需用戶輸入。至此程序已輸入完畢,并匯編成機(jī)器指令?,F(xiàn)在用G命令運(yùn)行程序如下:(2)運(yùn)行程序_G3Programterminatednormally如果現(xiàn)在想分析一下該程序的指令,可以用反匯編命令U作如下操作:(3)反匯編_U100,1080B03:0100B2330B03:0102B4020B03:0104CD210B03:0106CD200B03:0108MOVDL,33MOVAH,02INT21INT20(4)將機(jī)器指令程序送到起始地址為200H的若干單元,將輸入指令復(fù)制到代碼段的200單元,可進(jìn)行如下操作:_Ecs:200B2,33,B4,02,CD,21,CD,20(5)執(zhí)行機(jī)器指令程序_G=2003Programterminatednormally三、常用DEBUG命令DEBUG命令是在命令提示符“_”下由鍵盤鍵入的。每條命令以單個字母的命令符開頭,然后是命令的操作參數(shù),操作參數(shù)與操作參數(shù)之間,用空格或逗號隔開,操作參數(shù)

溫馨提示

  • 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

提交評論