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

下載本文檔

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

文檔簡介

16~17《微機(jī)原理》程實驗報告

實驗四、五匯編語言程設(shè)計一、簡對匯編語言序的理。匯編語言程序設(shè)計需要綜合地運(yùn)用編語言知識,在編寫過中不僅需要我們對匯編語言握熟練,還要求我們分考慮各部分之間的聯(lián),靈活地編寫優(yōu)化程序。匯編語言的設(shè)計一般分為以下幾個步驟:1、分問抽象出描述問題的數(shù)據(jù)模型2、確問題的算法思想3、畫流程圖或結(jié)構(gòu)圖4、分存儲器和工作單元(寄存器)5、逐編寫程序6、靜檢上機(jī)調(diào)試二、按實驗指導(dǎo)書“實驗本要求”以“實驗容”的要求描述相實驗內(nèi)容完成情況。實四1.

建立下列程序可執(zhí)行文件,并回答題。DATASDB'HelloDATASENDSCS:CODES,START:MOVAX,DATASMOVDS,AXLEADX,

MOV9INTMOVINTEND在DEBUG中,如觀察數(shù)據(jù)段中的數(shù)據(jù)存情況?數(shù)據(jù)存的段地址和偏移地址如何察?答:輸入,執(zhí)行結(jié)果如下:每行十個數(shù)據(jù)面顯示的地址是行第一個數(shù)據(jù)的地址信之前的四位是地址之后四位是偏移地址,每行第一個據(jù)往右邊一個數(shù)據(jù),段地址不變,偏地址加一。在DEBUG中,如查看機(jī)器碼所對應(yīng)的源程?碼的段地址和偏移地址何確定?答:輸入U,執(zhí)行結(jié)果如下圖:代碼的短地址偏移地址的確定同上題1)

運(yùn)行上述程的命令行是:G=0000,程的運(yùn)行結(jié)果是“World!”。代碼段中的LDX,語句,翻譯成器指令后再反匯編,到什么語句?為什?由上題2)中的運(yùn)行結(jié)果可知得到以下語句:LEADX,[0000]因為STRING的偏移地址是如果代碼段有一MOVSTRING語句,翻譯成機(jī)器令后再反匯編,得到什么句?同理可知會得一下語句:MOV[0000]2.從實驗1的24三個參考程序中,任選一改編成完整源程序,建立其可執(zhí)行文件并運(yùn)行意:需定義標(biāo)號,作為控轉(zhuǎn)移類指令中的操作;直接尋址的存儲器操作數(shù),通過變量表示)選擇程序2,則完整源程序如下.STACKSEGMENTSTACKDBDUP(?)TOPLABELWORDSTACKSEGMENTENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,MOVDS,AXMOVSTACKMOVSS,AXMOVSP,

MOVPUSHBXMOVPOPBXMOVINCALCMPJNZDATA2MOVBL,ALPUSHBXADDMOVINT21HMOVCXJNZDATA3JMPDATA1CODEENDSEND運(yùn)行后,連續(xù)顯示A,C,Z大寫英文字符

實五1.編制一個將10個符號的正、負(fù)數(shù)分開的源程序,生成可執(zhí)行文件后,在debug下試運(yùn)行。設(shè)10個為,02H,,,,,,81H,,07H將些數(shù)據(jù)中的正數(shù)分開數(shù)放在變量對應(yīng)的數(shù)據(jù)區(qū)中負(fù)數(shù)放在對應(yīng)的數(shù)據(jù)區(qū)中。DB01H,02H,03H,04H,06H,0FFH,80H,81H,06H,07H,6DUP(00)DB16DUP(00)DB16DUP(00)DATASENDSSTACKSDB256DUP(?)STACKSCODESSEGMENTASSUMECS:CODES,MOVAX,DATASMOVLEALEALEAMOVCX,10L1:MOVAL,[SI]JZL2MOVINCDIINCSI

LOOPL1INT21HL2:MOVINCBXINCSILOOPL1MOVINT21HCODESENDSENDSTART2.編制源程序,并生成EXE可行文件,然后調(diào)試運(yùn)行功要求出序的有符號數(shù)中的最小值和最大少個據(jù)容隨意設(shè)定,數(shù)據(jù)類型:字節(jié)數(shù)區(qū)的第一個數(shù)存放數(shù)據(jù)長度,數(shù)據(jù)緊隨其后(數(shù)據(jù)類型:字節(jié)在幕上輸出最大值和最小值:格式“大值“小值功能實現(xiàn)SEGEMENTARYDB30,16,8,-1,13,49,7,11,4,20COUNTDB10MAXDBMINDBADDRESS4DUP(?)ENDSSTACKSEGMENTPARASTACK’DB256DUP(?)STACKCODESEGMENTASSUME

MOVMOVMOVARYMOVCOUNTMOVMINLEABX,ADDRESSCALLSEARCHMOVAL,MAXCALLOUTDATACALLCRLFMOVCALLOUTDATAMOVINT21HSEARCHPUSHBXPUSHCXPUSHDXPUSHBPPUSHSIPUSHDIMOVBP,[BX+2]MOVCX,DS:[BP]DECCXMOVSI,[BX+4]MOVDI,[BX+6]MOVBP,[BX]MOVDL,DS;[BP]

MOV[SI],DLMOV[DI],DLINCBPLOP:MOVDL,DS:[BP]CMDDL,[SI]JENEXTJLMINCMOV[SI],DLJMPNEXTMINC:CMPDL,[DI]JGENEXTINCBPLOOPPOPDIPOPSIPOPBPPOPDXPOPCXPOPBXRETSEARCHOUTDATAPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXMOV

MOVMOVORCMPJBOUTHADDMOVMOVINT21HMOVANDORCMPJBOUTLADDMOVINT21HMOVDL,’H’MOVINT21HPOPDXPOPCXPOPBXPOPAXRETOUTDATAENDPCRLFPROCPUSHAX

PUSHDXMOVMOVINT21HMOVMOVINT21HMOVMOVINT21HPOPDXPOPAXRETCRLFENDPCODEENDSEND三、結(jié)合關(guān)實驗果,列舉實中遇到難點及解決法。1.在實驗的剛開始,我并不知道如何正確使用宏匯編MASM,花了很長的一段時間查看微機(jī)課本上的附錄部分逐漸了解并成功地進(jìn)行了匯編連接調(diào)試等過程。四根自經(jīng),單述驗課教以課項之的關(guān)性最后一次上機(jī)實驗讓

溫馨提示

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

最新文檔

評論

0/150

提交評論