微型計算機原理與應(yīng)用實驗

微型計算機原理與應(yīng)用實驗

ID:41117300

大?。?78.00 KB

頁數(shù):25頁

時間:2019-08-16

微型計算機原理與應(yīng)用實驗_第1頁
微型計算機原理與應(yīng)用實驗_第2頁
微型計算機原理與應(yīng)用實驗_第3頁
微型計算機原理與應(yīng)用實驗_第4頁
微型計算機原理與應(yīng)用實驗_第5頁
資源描述:

《微型計算機原理與應(yīng)用實驗》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、例如,設(shè)計一個256分支的段內(nèi)程序轉(zhuǎn)移程序。設(shè)JUMP單元有一個數(shù)X,若X0,則轉(zhuǎn)移到標號為P000的程序段;若X1,則轉(zhuǎn)移到標號為P001的程序段,……;若X255,則轉(zhuǎn)移到標號為P255的程序段。DATASEGMENTJUMPDB?;某數(shù)XTABDWP000;分支程序標號DWP001……DWP255DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATABEG:MOVAX,DATAMOVDS,AXMOVBL,JUMPMOVBH,0ADDBX,BX;2×X→BX寄存器MOVSI,OFFSETTABJMP[BX+

2、SI];DS:[BX+SI]→IP實現(xiàn)轉(zhuǎn)移P000:......P001:..................P255:......CODEENDSENDBEG例4.2字節(jié)型變量VAR1、VAR2和VAR3存放有3個無符號數(shù),將其中的內(nèi)容按從大到小重新排列。解:經(jīng)重新排列后,VAR1的值最大,VAR3的值最小。由于變量中存放的數(shù)據(jù)為無符號數(shù),因此應(yīng)該采用JA、JAE、JB、JBE等指令。編程思路:通過在三個數(shù)中找出最大值,將它與VAR1單元進行交換;然后對剩余的兩個數(shù)進行比較,將較大值存放在VAR2中。匯編語言程序如下:STACKSEGMENTSTACK

3、'STACK'DW100HDUP(?)TOPLABELWORDSTACKENDSDATASEGMENTVAR1DB46H;先假設(shè)一組值,以便檢驗程序設(shè)計  的正確性25VAR2DB15HVAR3DB0A2HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXLEASP,TOPMOVAL,VAR1;用戶編寫的程序CMPAL,VAR2JAENO_CHG1XCHGAL,VAR2NO_CHG1:CMPAL,VAR3

4、JAENO_CHG2XCHGAL,VAR3NO_CHG2:MOVVAR1,AL;最大值保存到VAR1MOVAL,VAR2CMPAL,VAR3JAENO_CHG3XCHGAL,VAR3MOVVAR2,AL;次大值保存到VAR2NO_CHG3:MOVAH,4CH;返回DOS操作系統(tǒng)INT21HCODEENDSENDSTART程序執(zhí)行后,(VAR1)=0A2H,(VAR2)=46H,(VAR3)=15H,說明程序設(shè)計正確。一般來說,在程序結(jié)束處,應(yīng)該使之返回到DOS狀態(tài),以便進行其它操作。當要排序的數(shù)據(jù)為有符號數(shù)時,只需要將程序中相應(yīng)的JAE指令改成JGE指令。例4.3有一

5、組測試數(shù)據(jù)(有符號數(shù)),每個數(shù)據(jù)占用16位二進制數(shù),數(shù)據(jù)個數(shù)存放在緩沖區(qū)的前2個字節(jié),現(xiàn)要求分別統(tǒng)計出大于0、等于0和小于0的個數(shù),分別存放在GREATZ、ZERO、LITTLEZ單元中。解:有符號數(shù)的比較應(yīng)該采用JG、JGE、JL、JLE等指令,同時還應(yīng)該注意,MOV指令不會影響PSW中的標志位。25編程思路:將字單元GREATZ、ZERO、LITTLEZ用作為計數(shù)器,其初值均為0。然后對數(shù)據(jù)與“0”比較,當其大于0時,GREATZ單元加1;當其等于0時,ZERO單元加1;當其小于0時,LITTLEZ單元加1。程序如下:STACKSEGMENTSTACK'STACK

6、'DW100HDUP(?)TOPLABELWORDSTACKENDSDATASEGMENTBUFFERDW500;假設(shè)有500個數(shù)據(jù),并利用重復(fù)宏隨機X=17產(chǎn)生REPT500X=(X+979)mod65535DWXENDMGREATZDW?ZERODW?LITTLEZDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXLEASP,TOPXORAX,AX;用戶編寫的程序MOVGREATZ,AXMOVZ

7、ERO,AXMOVLITTLEZ,AXMOVCX,BUFFERLEASI,BUFFER+2ST_COUNT:MOVAX,[SI]ADDSI,2ANDAX,AXJLECOUNT1INCGREATZJMPCOUNT3COUNT1:JLCOUNT2INCZEROJMPCOUNT3COUNT2:25INCLITTLEZCOUNT3:DECCXJNZST_COUNTMOVAH,4CH;返回DOS操作系統(tǒng)INT21HCODEENDSENDSTART搬家程序的控制是以變化的數(shù)據(jù)個數(shù)作為條件。程序如下:MOVAX,1000HMOVDS,AXMOVBX,1000H

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。