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