匯編語言序設(shè)計實驗指導書_第1頁
匯編語言序設(shè)計實驗指導書_第2頁
匯編語言序設(shè)計實驗指導書_第3頁
匯編語言序設(shè)計實驗指導書_第4頁
匯編語言序設(shè)計實驗指導書_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、匯編語言程序設(shè)計實驗指導書適用于計科專業(yè) 2004 級匯編語言實驗主要使學生掌握debug調(diào)試程序中各命令的使用方法,掌握masmc編程序?qū)R編語言源程序進行編輯、匯編、連接、裝配、調(diào)試到運行的上機操作方法。本實 驗大綱要求學生熟練掌握匯編語言指令練習、順序程序設(shè)計、分支程序設(shè)計、循環(huán)程序設(shè) 計和子程序設(shè)計。一、 實驗環(huán)境匯編語言程序設(shè)計的實驗環(huán)境如下:1. 硬件環(huán)境微型計算機(intel x86 系列cpu 一臺2. 軟件環(huán)境windows98/2000/xp 操作系統(tǒng)任意一種文本編輯器(edit、notepad記事本)、ultraedit 等)匯編程序(masm.ex或 tasm.exe連

2、接程序( link.exe 或 tlink.exe)調(diào)試程序(debug.ex或 td.exe)文本編輯器建議使用 edit或notepad匯編程序建議使用 masm.exe連接程序建議使用link.exe,調(diào)試程序建議使用 td.exe上機實驗步驟1確定源程序的存放目錄建議源程序存放的目錄名為 asm(或masm,并放在c盤或d盤的根目錄下。2. 建立asm®程序建立asm源程序可以使用 edit或notepad記事本)文本編輯器。注意,匯編語言源程序文件的擴展名最好起名為.asm,這樣能給后面的匯編和連接操作帶來很大的方便。3. 用masm.ex匯編源程序產(chǎn)生 obj目標文件源文

3、件hello.asm建立后,要使用匯編程序?qū)υ闯绦蛭募R編,匯編后產(chǎn)生二進制 的目標文件(.obj文件)。具體操作如下:方法一:在windows中操作用資源管理器打開源程序目錄c:asm,把hello.asm拖到masm.ex程序圖標上。方法二:在dos命令提示符窗口中操作選擇“開始”7“程序”7“附件”7“命令提示符”,打開dos命令提示符窗口,然后用cd命令轉(zhuǎn)到源程序目錄下,接著輸入masm命令:d:>c:< 回車 >c:>cd asm<回車 >c:asm>masm hello.asm >操作時的屏幕顯示如圖1所示。<r>aai:

4、國郵估由. 10iiojiflerw <c>心訐。3tw1. !wh, uli ih抄"柯打etili 10ikhm > ilbllxk (kqu h cioiilgour«>e- idbrir-s mlj l. l£ t ±,:則*柿屮h i mil.4':nft+ 勺 1刊ynlwllfreemi unminyw 張bi"e 1 rrwrs圖1在dos命令提示符窗口中進行匯編不管用以上二個方法中的哪個方法,進入masmi序后,都會提示讓你輸入目標文件名(object file name ),并在方括號中顯示默

5、認的目標文件名,建議輸入目標文件的完整 路徑名,如:c:asmhello.obj <回車。后面的兩個提示為可選項,直接按回車。注意, 若打開masm程序時未給出源程序名,則masm程序會首先提示讓你輸入源程序文件名(source file name ),此時輸入源程序文件名hello.asm回車,然后進行的操作與上面完全相同。j3j2dharr*hfltit ffd mnwcn fld«aihl*r-皿槽鼻*&»lpyrlfl-h: cc) fli<lrs-iclt 5" 1991. 1tm, all irtgltt? resrvei.nhje

6、+t- 1114-mimi- i妣丄ixk.qujeh cslcrmikllrh.qbjf &ur«e- lln-irivi>f mil l : l£ t -hr4« t-w-l w«4< i 'n(il - n:f j ami-llp. a >- evihov- s21- ev>cteds irctruot-lo. jt<t«tiiw. cr ?ibolhi-libbihthcfm flim-l1 d鴨!*h vajm# *nr «l 制4m tli4l 4> >4j j 制

7、1l4 p*«h ljh-miib|i fptyei7 s¥bre ittrsp:afieh>圖2有錯誤的匯編過程例子如果沒有錯誤,mas蹴會在當前目錄下建立一個hello.obj文件(名字與源文件名相同,只是擴展名不同)。如果源文件有錯誤,masm會指出錯誤的行號和錯誤的原因。圖2是在匯編過程中檢查出兩個錯誤的例子。在這個例子中,可以看到源程序的錯誤類型有 兩類:警告錯誤(warning errors)。警告錯誤不影響程序的運行,但可能會得出錯誤的結(jié) 果。此例中無警告錯誤。嚴重錯誤(severe errors)。對于嚴重錯誤, masm將無法生成 obj文件。此例中

8、有兩 個嚴重錯誤。在錯誤信息中,園括號里的數(shù)字為有錯誤的行號(在此例中,兩個錯誤分別出現(xiàn)在 第6行和第9行),后面給出了錯誤類型及具體錯誤原因。如果出現(xiàn)了嚴重錯誤,你必須 重新進入edit編輯器,根據(jù)錯誤的行號和錯誤原因來改正源程序中的錯誤,直到匯編沒 有錯為止。注意,匯編程序只能指出程序的語法錯誤,而無法指出程序邏輯的錯誤。4. 用link.exe產(chǎn)生exe可執(zhí)行文件在上一步驟中,匯編程序產(chǎn)生的是二進制目標文件(obj文件),并不是可執(zhí)行文件,要想使我們編制的程序能夠運行,還必須用連接程序(link.exe)把obj文件轉(zhuǎn)換為可執(zhí)行的exe文件。具體操作如下:方法一:在windows中操作用

9、資源管理器打開源程序目錄c:asm,把hello.obj拖到link.exe程序圖標上。方法二:在dos命令提示符窗口中操作選擇“開始”7“程序”7“附件”7“命令提示符”,打開dos命令提示符窗d:>c:< 回車 >c:>cd asm<回車 >c:asm>link hello.obj車 >操作時的屏幕顯示如圖 3所示。圖3把obj文件連接成可執(zhí)行文件不管用以上二個方法中的哪個方法,進入link程序后,都會提示讓你輸入可執(zhí)行文件名(run file ),并在方括號中顯示默認的可執(zhí)行文件名,建議輸入可執(zhí)行文件的完整 路徑名,如:c:asmhello

10、.exe <回車。后面的兩個提示為可選項,直接按回車。注意, 若打開link程序時未給出 obj文件名,則link程序會首先提示讓你輸入obj文件名(object modules ),此時輸入 obj文件名hello.obj并回車,然后進行的操作與上面完 全相同。如果沒有錯誤,link就會建立一個 hello.exe文件。如果 obj文件有錯誤,link會 指出錯誤的原因。對于無堆棧警告(warning : nostacksegment)信息,可以不予理睬,它不影響程序的執(zhí)行。如鏈接時有其它錯誤。須檢查修改源程序,重新匯編、連接,直到 正確。5. 執(zhí)行程序建立了 hello.exe文件后

11、,就可以直接在 dos下運行此程序,如下所示:c:>hello回車c:>程序運行結(jié)束后,返回 dos如果運行結(jié)果正確,那么程序運行結(jié)束時結(jié)果會直接顯示在屏幕上。如果程序不顯示結(jié)果,我們?nèi)绾沃莱绦蚴欠裾_呢 ?例如,這里的hello.exe程序并未顯示出結(jié)果,所以我們不知道程序執(zhí)行的結(jié)果是否正確。這時,我們就要使用td.exe或debug調(diào)試工具來查看運行結(jié)果。此外,大部分程序必須經(jīng)過調(diào)試階段才能糾三、實驗項目實驗一 匯編語言實驗操作方法( 3 學時)(一)驗目的及要求1 熟悉匯編語言的工作環(huán)境。2 通過一個簡單的程序,了解如何匯編、連接和運行一個匯編語言程序。3. 了解debug

12、調(diào)試程序中常用命令的使用方法。4 通過運行簡單的匯編語言程序 ,初步了解匯編語言源程序的特點。5 按照要求書寫實驗報告。(二)實驗內(nèi)容使用編輯程序,輸入教材146頁例4.30程序或ibm-pc匯編語言程序設(shè)計實驗教程 中的例1.1程序后進行匯編、連接和運行,并使用debugs的各種命令進行調(diào)試。(三)實驗準備1 認真閱讀本實驗指導。2 預習教材 146 頁第四章第四小節(jié)的內(nèi)容。3.預習ibm-pc匯編語言程序設(shè)計實驗教程中附錄五的內(nèi)容。實驗二 匯編語言指令練習( 3 學時)(一)實驗目的及要求1 熟悉匯編語言中的數(shù)據(jù)傳送、算術(shù)運算等指令。2 了解指令不同的尋址方式 ,注意規(guī)定或限制使用的寄存器

13、。如 :雙操作數(shù)指令中 , 源操 作數(shù)和目的操作數(shù)的地址不能同時為存儲器地址,段跨越前綴不能使用 cs,操作對象是地址還是地址中的內(nèi)容 ,指令隱含使用的寄存器等。3.使用debugs的相關(guān)命令調(diào)試程序及查看結(jié)果。4 按照要求書寫實驗報告。(二)實驗內(nèi)容基本題:編寫一個完整的程序放在代碼段中,要求把數(shù)據(jù)段中的augen和附加段中的addend!加,并把結(jié)果存放在數(shù)據(jù)段中的 sum中。其中 augend addend sum勻為雙 精度數(shù)。選做題:(三)實驗準備1認真閱讀本實驗指導。2按實驗內(nèi)容要求 , 理解相關(guān)指令,編寫程序。實驗三 順序程序設(shè)計( 2 學時)(一)實驗目的及要求1掌握匯編語言程序設(shè)計的基本步驟,分析問題,確立算法,畫出程序流程圖. 說明流程圖中各功能的含義和表示法。 分配工作單元和存儲空間。 根據(jù)程序算法流程選擇合適的指 令編制匯編語言源程序。本實驗著重掌握順序程序的設(shè)計基本方法和技巧。2程序要結(jié)構(gòu)化 : 簡明、易讀和易調(diào)試;執(zhí)行速度較快;占用存儲空間較少

溫馨提示

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

評論

0/150

提交評論