資源描述:
《匯編語言語法練習(xí)與代碼轉(zhuǎn)換》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、實驗報告(2014/2015學(xué)年第二學(xué)期)課程名稱微型計算機原理與接口技術(shù)實驗名稱匯編語言語法練習(xí)與代碼轉(zhuǎn)換實驗時間年月日指導(dǎo)單位計算機學(xué)院、軟件學(xué)院指導(dǎo)教師學(xué)生姓名班級學(xué)號學(xué)院(系)專業(yè)實驗報告實驗名稱匯編語言語法練習(xí)與代碼轉(zhuǎn)換指導(dǎo)教師韓崇實驗類型驗證實驗學(xué)時2實驗時間2015.4.16一、實驗?zāi)康暮鸵?.掌握匯編語言源程序的格式;2.進(jìn)一步學(xué)習(xí)匯編語言源程序的編輯、匯編、目標(biāo)文件的鏈接和可執(zhí)行文件的執(zhí)行全過程;3.掌握編輯軟件、TASM、TLINK和TD的使用方法、掌握匯編語言的語法規(guī)則。4.實驗內(nèi)容:(1)練習(xí)實驗指導(dǎo)上的實驗示例:練習(xí)并掌握匯編語言開發(fā)全過程
2、,顯示5行HELLO(2)排除語法錯誤:給出的是一個通過比較法完成8位二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)送屏幕顯示功能的匯編語言源程序,但有很多語法錯誤。要求實驗者按照原樣對源程序進(jìn)行編輯,匯編后,根據(jù)TASM給出的信息對源程序進(jìn)行修改,知道沒有語法錯誤為止。然后進(jìn)行鏈接,并執(zhí)行相應(yīng)可執(zhí)行文件。正確的執(zhí)行結(jié)果在屏幕上顯示:25+9=34二、實驗環(huán)境(實驗設(shè)備)WindowsXP+輕松匯編軟件7三、實驗過程描述與結(jié)果分析匯編語言源程序編寫好以后,?必須經(jīng)過下列幾個步驟才能在機器上運行:(1)編輯源程序(生成.ASM文件)?(2)匯編源程序(.ASM??→?.OBJ)?(3)鏈
3、接目標(biāo)程序(.OBJ?→?.EXE?)?(4)調(diào)試可執(zhí)行程序(使用調(diào)試程序Debug調(diào)試生成的.EXE文件)?(5)運行程序輸出結(jié)果。排除語法錯誤要求通過比較法完成8位二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)送屏幕顯示功能的匯編語言源程序。但有很多語法錯誤,要求按照原樣對源程序進(jìn)行編輯,匯編后,根據(jù)TASM給出的錯誤信息對源程序進(jìn)行修改,直到?jīng)]有語法錯誤為止,然后進(jìn)行鏈接,并執(zhí)行相應(yīng)的可執(zhí)行文件。正確的執(zhí)行結(jié)果是在屏幕上顯示:25+9=34。修改后代碼:(分號后為修改);FILENAME:EXA131.ASM.486DATASEGMENTUSE16SUMDB'?','?'MESGDB
4、'25+9='DB0,0,'$';以'$'結(jié)尾,沒有輸出會亂碼N1DB9,0F0HN2DB25DATAENDSCODESEGMENTUSE167ASSUMECS:CODE,DS:DATABEG:MOVAX,DATAMOVDS,AXMOVBX,OFFSETSUMMOVAH,N1MOVAL,N2ADDAH,ALMOV[BX],AHCALLCHANGMOVAH,9MOVDX,OFFSETMESGINT21HMOVAH,4CHINT21HCHANGPROCLAST:CMPBYTEPTR[BX],10JCNEXTSUBBYTEPTR[BX],10INCBYTEPTR[BX+7]
5、JMPLASTNEXT:MOVDL,SUMADDBYTEPTR[BX+8],DLADDBYTEPTR[BX+7],30HADDBYTEPTR[BX+8],30HRETCHANGENDPCODEENDSENDBEG;FILENAME:EXA131.ASM.486DATASEGMENTUSE16SUMDB'?','?'MESGDB'25+9='DB0,0,'$';以'$'結(jié)尾,沒有輸出會亂碼N1DB9,0F0HN2DB25DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATABEG:MOVAX,DATAMOVDS,AXMOVBX,OFF
6、SETSUMMOVAH,N17MOVAL,N2ADDAH,ALMOV[BX],AHCALLCHANGMOVAH,9MOVDX,OFFSETMESGINT21HMOVAH,4CHINT21HCHANGPROCLAST:CMPBYTEPTR[BX],10JCNEXTSUBBYTEPTR[BX],10INCBYTEPTR[BX+7]JMPLASTNEXT:MOVDL,SUMADDBYTEPTR[BX+8],DLADDBYTEPTR[BX+7],30HADDBYTEPTR[BX+8],30HRETCHANGENDPCODEENDSENDBEG7;FILENAME:EXA121
7、.ASM.486DATASEGMENTUSE16MESGDB'HELLO'DB0,0,0DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATABEG:MOVAX,DATAMOVDS,AXMOVES,AXMOVCX,5LL1:MOVMESG+5,0DHMOVMESG+6,0AHMOVMESG+7,'$'CALLDISPMOVMESG+5,07MOVMESG+6,0MOVMESG+7,0LOOPLL1MOVAH,4CHINT21HDISPPROCMOVAH,9MOVDX,OFFSETMESGINT21HRETDISPE