資源描述:
《實驗2 建立運行匯編語言源程序》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、實驗2建立運行匯編語言程序?qū)嶒災康模?.熟悉8088/8086的數(shù)據(jù)傳送和算術(shù)運算指令的書寫格式、功能。2.編寫源程序,掌握匯編語言程序格式。3.掌握匯編、連接、運行匯編程序的全過程;使用DEBUG調(diào)試和運行匯編程序。實驗內(nèi)容:在硬盤E中建立自己的文件夾,以“班級姓名”命名(比如計科1111張三),實驗文件以“實驗次數(shù)-序號”命名,比如sy2-1.asm。1、有3個內(nèi)存單元x,,yz,其中x=1234h,y=0c3f6h,z=10c5h,請編寫源程序,計算x+2z-y,結(jié)果保存在z單元中,并用debug調(diào)試運行查看結(jié)果,觀察標志位變化。2、寫一個完整的源程序,
2、用DEBUG調(diào)試運行,查看運行結(jié)果。DATASEGMENT;定義數(shù)據(jù)段DATAAUGENDDD99251SUMDD?DATAENDS;請補充語句定義附加段EXTRA,將ADDEND賦值為雙精度數(shù)-15962CODESEGMENT;定義代碼段CODEASSUMECS:CODE,DS:DATA,ES:EXTRASTART:MOVAX,DATMOVDS,AX;請補充完成給ES賦值的語句,將EXTRA賦值給ES。;請補充進行加法運算的語句,把數(shù)據(jù)段DATA中的AUGEND和附加段EXTRA中的ADDEND相加,并把結(jié)果存放在DATA的SUM中。MOVAX,4C00HI
3、NT21HCODEENDSENDSTART3、完成實驗教程第一章的內(nèi)容。學習字符串處理指令(課本P75)和DOS顯示字符串功能調(diào)用(課本P335),理解實驗教程例題1.1的程序。實驗報告要求:61、將程序1的調(diào)試運行查看結(jié)果的過程截圖,并分析標志位值的變化情況。答:有進位,標志位CF由NC變?yōu)镃Y,與分析結(jié)果一致。源程序:DATASSEGMENTXDW1234HYDW0c3f6HZDW10C5HDATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAX,XADDAX,ZA
4、DDAX,ZSUBAX,YMOVZ,AXMOVAH,4CHINT21HCODESENDSENDSTART62、分析一個完整的匯編語言源程序應(yīng)由哪些部分組成?答:匯編語言源程序由語句序列構(gòu)成,每條語句一般占一行;完整的匯編語言程序由段構(gòu)成;一個匯編語言源程序可以包含若干個代碼段、數(shù)據(jù)段、附加段或堆棧段,段與段之間的順序可以隨意排列;需要獨立運行的程序必須包含一個代碼段,并指示程序執(zhí)行的起始點,一個程序只有一個起始點;所有可以執(zhí)行語句必須位于某一個代碼段內(nèi),說明性語句可以根據(jù)需要位于任一段內(nèi);通常,程序還需要一個堆棧段。6源程序:DATASSEGMENTAUGEN
5、DDD99251SUMDD?DATASENDSEXTRASEGMENTADDENDDD-15962EXTRAENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,ES:EXTRASTART:MOVAX,DATASMOVDS,AXMOVAX,EXTRAMOVES,AXMOVAX,wordptrAUGENDMOVDX,wordptrAUGEND+2ADDAX,wordptrADDENDADCDX,wordptrADDEND+2MOVwordptrSUM,AXMOVwordptrSUM+2,DXMOVAH,4CHINT21HCODESEND
6、SENDSTART662、總結(jié)匯編源程序從編寫到執(zhí)行的過程。寫出用DEBUG調(diào)試并運行可執(zhí)行文件的過程,如何查錯?如何查看執(zhí)行結(jié)果?答:1·匯編源程序從編寫到執(zhí)行的過程可概括為以下三個步驟:編寫→編譯連接→執(zhí)行。①對源程序進行編譯連接,使用匯編語言編譯程序(MASM.EXE)對源程序文件中的源程序進行編譯,產(chǎn)生目標文件——obj文件;②再用連接程序(LINK.EXE)對目標文件進行連接,生成可在操作系統(tǒng)中直接運行的可執(zhí)行文件,可執(zhí)行文件包含兩部分內(nèi)容:程序(從源程序中的匯編指令翻譯過來的機器碼)和數(shù)據(jù)(源程序中定義的數(shù)據(jù))相關(guān)的描述信息(比如,程序有多大,要占
7、多少內(nèi)存空間等);③操作系統(tǒng)依照可執(zhí)行文件中的描述信息,將可執(zhí)行文件中的機器碼和數(shù)據(jù)加載入內(nèi)存,并進行相關(guān)的初始化(比如:設(shè)置CS:IP指向第一條要執(zhí)行的指令),然后由CPU執(zhí)行程序。2·經(jīng)匯編連接生成的可執(zhí)行文件(.EXE文件),可以進入調(diào)試程序DEBUG中進行運行、調(diào)試,觀察運行結(jié)果是否正確,操作方法如下:①帶被調(diào)試文件啟動DEBUG;②調(diào)入文件后,執(zhí)行:G=0;則程序執(zhí)行完成并提示ProgramTerminatednormally,③同時DEBUG將重新設(shè)置寄存器和變量等的初始值;如果要觀察程序運行之后的結(jié)果,應(yīng)該執(zhí)行:G=0,斷點地址。這里的斷點地址應(yīng)
8、該指向程序結(jié)束返回DOS之前,也就是如