實(shí)驗(yàn)2 建立運(yùn)行匯編語(yǔ)言源程序.doc_第1頁(yè)
實(shí)驗(yàn)2 建立運(yùn)行匯編語(yǔ)言源程序.doc_第2頁(yè)
實(shí)驗(yàn)2 建立運(yùn)行匯編語(yǔ)言源程序.doc_第3頁(yè)
實(shí)驗(yàn)2 建立運(yùn)行匯編語(yǔ)言源程序.doc_第4頁(yè)
實(shí)驗(yàn)2 建立運(yùn)行匯編語(yǔ)言源程序.doc_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)2 建立運(yùn)行匯編語(yǔ)言程序?qū)嶒?yàn)?zāi)康模?. 熟悉8088/8086的數(shù)據(jù)傳送和算術(shù)運(yùn)算指令的書(shū)寫(xiě)格式、功能。 2. 編寫(xiě)源程序,掌握匯編語(yǔ)言程序格式。3. 掌握匯編、連接、運(yùn)行匯編程序的全過(guò)程;使用DEBUG調(diào)試和運(yùn)行匯編程序。實(shí)驗(yàn)內(nèi)容:在硬盤(pán)E中建立自己的文件夾,以“班級(jí)姓名”命名(比如計(jì)科1111張三),實(shí)驗(yàn)文件以“實(shí)驗(yàn)次數(shù)-序號(hào)”命名,比如sy2-1.asm。1、 有3個(gè)內(nèi)存單元x, ,y z,其中x=1234h,y=0c3f6h,z=10c5h,請(qǐng)編寫(xiě)源程序,計(jì)算x+ 2z -y,結(jié)果保存在z單元中,并用debug調(diào)試運(yùn)行查看結(jié)果,觀察標(biāo)志位變化。2、 寫(xiě)一個(gè)完整的源程序,用DEBUG調(diào)試運(yùn)行,查看運(yùn)行結(jié)果。DATA SEGMENT ;定義數(shù)據(jù)段DATA AUGEND DD 99251 SUM DD ?DATA ENDS;請(qǐng)補(bǔ)充語(yǔ)句定義附加段EXTRA ,將ADDEND賦值為雙精度數(shù)-15962CODE SEGMENT ;定義代碼段CODEASSUME CS:CODE,DS:DATA,ES:EXTRASTART: MOV AX,DAT MOV DS,AX ;請(qǐng)補(bǔ)充完成給ES賦值的語(yǔ)句,將EXTRA賦值給ES。 ;請(qǐng)補(bǔ)充進(jìn)行加法運(yùn)算的語(yǔ)句,把數(shù)據(jù)段DATA中的AUGEND和附加段EXTRA中的ADDEND相加,并把結(jié)果存放在DATA的SUM中。 MOV AX,4C00H INT 21HCODE ENDSEND START3、完成實(shí)驗(yàn)教程第一章的內(nèi)容。學(xué)習(xí)字符串處理指令(課本P75)和DOS顯示字符串功能調(diào)用(課本P335),理解實(shí)驗(yàn)教程例題1.1的程序。實(shí)驗(yàn)報(bào)告要求:1、 將程序1的調(diào)試運(yùn)行查看結(jié)果的過(guò)程截圖,并分析標(biāo)志位值的變化情況。 答:有進(jìn)位,標(biāo)志位CF由NC變?yōu)镃Y,與分析結(jié)果一致。源程序:DATAS SEGMENT X DW 1234H Y DW 0c3f6H Z DW 10C5HDATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX MOV AX,X ADD AX,Z ADD AX,Z SUB AX,Y MOV Z,AX MOV AH,4CH INT 21HCODES ENDSEND START2、 分析一個(gè)完整的匯編語(yǔ)言源程序應(yīng)由哪些部分組成?答:匯編語(yǔ)言源程序由語(yǔ)句序列構(gòu)成,每條語(yǔ)句一般占一行;完整的匯編語(yǔ)言程序由段構(gòu)成;一個(gè)匯編語(yǔ)言源程序可以包含若干個(gè)代碼段、數(shù)據(jù)段、附加段或堆棧段,段與段之間的順序可以隨意排列;需要獨(dú)立運(yùn)行的程序必須包含一個(gè)代碼段,并指示程序執(zhí)行的起始點(diǎn),一個(gè)程序只有一個(gè)起始點(diǎn);所有可以執(zhí)行語(yǔ)句必須位于某一個(gè)代碼段內(nèi),說(shuō)明性語(yǔ)句可以根據(jù)需要位于任一段內(nèi);通常,程序還需要一個(gè)堆棧段。源程序:DATAS SEGMENT AUGEND DD 99251 SUM DD ?DATAS ENDSEXTRA SEGMENTADDEND DD -15962EXTRA ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,ES:EXTRASTART: MOV AX,DATAS MOV DS,AX MOV AX,EXTRA MOV ES,AX MOV AX,word ptr AUGEND MOV DX,word ptr AUGEND+2 ADD AX,word ptr ADDEND ADC DX,word ptr ADDEND+2 MOV word ptr SUM,AX MOV word ptr SUM+2,DX MOV AH,4CH INT 21HCODES ENDSEND START3、 總結(jié)匯編源程序從編寫(xiě)到執(zhí)行的過(guò)程。寫(xiě)出用DEBUG調(diào)試并運(yùn)行可執(zhí)行文件的過(guò)程,如何查錯(cuò)?如何查看執(zhí)行結(jié)果?答:1匯編源程序從編寫(xiě)到執(zhí)行的過(guò)程可概括為以下三個(gè)步驟:編寫(xiě)編譯連接執(zhí)行。對(duì)源程序進(jìn)行編譯連接,使用匯編語(yǔ)言編譯程序(MASM.EXE)對(duì)源程序文件中的源程序進(jìn)行編譯,產(chǎn)生目標(biāo)文件obj文件;再用連接程序(LINK.EXE)對(duì)目標(biāo)文件進(jìn)行連接,生成可在操作系統(tǒng)中直接運(yùn)行的可執(zhí)行文件,可執(zhí)行文件包含兩部分內(nèi)容:程序(從源程序中的匯編指令翻譯過(guò)來(lái)的機(jī)器碼)和數(shù)據(jù)(源程序中定義的數(shù)據(jù))相關(guān)的描述信息(比如,程序有多大,要占多少內(nèi)存空間等);操作系統(tǒng)依照可執(zhí)行文件中的描述信息,將可執(zhí)行文件中的機(jī)器碼和數(shù)據(jù)加載入內(nèi)存,并進(jìn)行相關(guān)的初始化(比如:設(shè)置CS:IP指向第一條要執(zhí)行的指令),然后由CPU執(zhí)行程序。2經(jīng)匯編連接生成的可執(zhí)行文件(.EXE文件),可以進(jìn)入調(diào)試程序DEBUG中進(jìn)行運(yùn)行、調(diào)試,觀察運(yùn)行結(jié)果是否正確,操作方法如下:帶被調(diào)試文件啟動(dòng)DEBUG;調(diào)入文件后,執(zhí)行:G0;則程序執(zhí)行完成并提示Program Terminated normally,同時(shí)DEBUG將重新設(shè)置寄存器和變量等的初始值;如果要觀察程序運(yùn)行之后的結(jié)果,應(yīng)該執(zhí)行:G0,斷點(diǎn)地址。這里的斷點(diǎn)地址應(yīng)該指向程序結(jié)束返回DOS之前,也就是如下指令“mov ax,4c00h”和

溫馨提示

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

評(píng)論

0/150

提交評(píng)論