版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
個(gè)人資料整理 僅限學(xué)習(xí)使用《微機(jī)原理與接口技術(shù)》課程設(shè)計(jì)計(jì)算專機(jī)應(yīng)業(yè)用:技術(shù)學(xué)100171031305號:方針 姓 名:個(gè)人資料整理 僅限學(xué)習(xí)使用微機(jī)原理與匯編語言課程設(shè)計(jì)一、課程設(shè)計(jì)題目四則運(yùn)算:從鍵盤輸入一個(gè)十進(jìn)制兩位數(shù)的四則運(yùn)算表達(dá)式,編程計(jì)算表達(dá)式的值,輸出十進(jìn)制結(jié)果<有可能是三位或四位十進(jìn)制),+-*/位置任意。二、課題分析該程序設(shè)計(jì)的關(guān)鍵是要根據(jù)四則運(yùn)算中 <)、*、/、+、-、=的優(yōu)先級設(shè)置符號的權(quán)值,其中
<、*、/、+、-、)、=
的權(quán)值分別設(shè)置為
5、4、4、3、3、1、0
,然后根據(jù)權(quán)值的大小進(jìn)行運(yùn)算。程序使用數(shù)字標(biāo)志
SIGN1、括號標(biāo)志SIGN2分別來判斷數(shù)字是否輸入完畢和括號是否配對,另外程序定義兩個(gè)數(shù)據(jù)存儲區(qū)域NUMB和MARK,其中NUMB用來保存輸入的或運(yùn)算的數(shù)值,MARK用來保存輸入的符號及其對應(yīng)的權(quán)值。程序不斷判斷輸入的符號是否是左括號‘<’,當(dāng)遇到左括號是在存儲區(qū)MARK保存其符號,緊跟著將‘<’的權(quán)值改為2并保存之,這是為了使程序運(yùn)算括號內(nèi)的表達(dá)式,當(dāng)遇到右括號‘)’時(shí)括號內(nèi)運(yùn)算將結(jié)束。需要注意的是程序執(zhí)行完括號內(nèi)表達(dá)式的運(yùn)算及乘除運(yùn)算后將在存儲區(qū)MARK中覆蓋符號<、)、*、/及緊跟著的權(quán)值,使得程序在運(yùn)算整個(gè)四則運(yùn)算表達(dá)式時(shí)當(dāng)括號內(nèi)表達(dá)式的運(yùn)算及乘除運(yùn)算結(jié)束后存儲區(qū)MARK中只有‘+、-’運(yùn)算符及緊跟著的權(quán)值,然后按照+、-運(yùn)算符的左右順序從左到右進(jìn)行‘+、-’運(yùn)算,當(dāng)最后遇到等號‘=’時(shí)輸出表達(dá)式的數(shù)值,然后再根據(jù)提示判斷是否繼續(xù)執(zhí)行下一個(gè)四則運(yùn)算表達(dá)式。DATASSEGMENTSIGN1DW0SIGN2DW0NUMBDW20DUP(0>MARKDB'M'DB10DUP(0>
。判斷數(shù)字是否輸入完畢。判斷括號是否配對。保存輸入的數(shù)值。保存輸入的運(yùn)算符ERRORDB'YOURINPUTISWRONG$'DATASENDSDISPMACROSTRLEADX,STRMOVAH,9INT21HENDMCHOICEMACROASC,HAO,H。宏定義,給運(yùn)算符賦權(quán)值個(gè)人資料整理 僅限學(xué)習(xí)使用CMPAL,ASCJNEOTH&HAOMOVCH,HJMPOTH7ENDMCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:CALLCLEARMOVAX,DATASMOVDS,AXLEADI,NUMBLEASI,MARKCALLCRMOVAX,0MOVBX,0MOVCX,0MOVDX,0START1:CALLCRINPUT:MOVAH,1INT21HCMPAL,'='JEPD
。是等號,進(jìn)一步判斷輸入括號是否配對CMPAL,28HJBINPUTCMPAL,39HJAINPUTCMPAL,2FHJBEJUDINCWORDPTRSIGN1SUBAL,30H
。判斷是數(shù)字還是符號。是符號轉(zhuǎn)入響應(yīng)操作。將數(shù)字標(biāo)志位加 1。將ASCII碼轉(zhuǎn)16進(jìn)制MOVAH,0XCHGAX,[DI]MULBXMOVBX,10XCHGAX,[DI]ADD[DI],AXJMPINPUTPD:CMPWORDPTRSIGN2,0。判斷配對標(biāo)志位JEJUDJMPBCJUD:CMPWORDPTRSIGN1,0。判斷數(shù)值指針是否已經(jīng)下移一位個(gè)人資料整理 僅限學(xué)習(xí)使用JEFUHADDDI,2MOVWORDPTRSIGN1,0。將數(shù)字標(biāo)志位復(fù)0FUH:CALLADVANCE。設(shè)定優(yōu)先級CMPCH,5。判斷輸入的符號是否是左括號JNEPY。不是則判斷輸入的是否是右括號INCWORDPTRSIGN2。是左括號,括號標(biāo)志位加1PY:CMPCH,1。判斷輸入的是否是右括號JNEAGAINDECWORDPTRSIGN2。是右括號,括號標(biāo)志位減1AGAIN:CMPBYTEPTR[SI],'M'。判斷運(yùn)算符存儲區(qū)是否為空如23*56-<8*19)/6+67-8=1322JESAVECMPCH,[SI]。[SI]的內(nèi)容為前一個(gè)符號或其權(quán)值JASAVECMPBYTEPTR[SI],'('JNEYIDODECSIJMPINPUTYIDO:DECSIMOVCL,[SI]CALLMATCH。判斷是什么運(yùn)算符并進(jìn)行相應(yīng)的計(jì)算JMPAGAINSAVE:CMPCH,0。判斷是否是等號JEOUTPUTCMPCH,1JEINPUT。“>”不保存,輸入下一個(gè)數(shù)INCSIMOV[SI],AL。保存符號INCSICMPCH,5。判斷是否是左括號JNEGO_ONMOVCH,2。改變(的權(quán)值GO_ON:MOV[SI],CH。緊跟著保存符號的權(quán)值JMPINPUTBC:LEADX,ERROR個(gè)人資料整理 僅限學(xué)習(xí)使用MOVAH,9INT21HJMPJ_SHUMATCHPROCNEAR
。子程序,進(jìn)行相應(yīng)的運(yùn)算PUSHAXXORAX,AXXORBX,BXCMPCL,2AH
。乘法運(yùn)算JNENEXT1SUBDI,2XCHGBX,[DI]SUBDI,2XCHGAX,[DI]IMULBXMOV[DI],AXADDDI,2JMPFINISHNEXT1:CMPCL,2FH
。除法運(yùn)算JNENEXT2SUBDI,2XCHGBX,[DI]SUBDI,2XCHGAX,[DI]CWDIDIVBXMOV[DI],AXADDDI,2JMPFINISHNEXT2:CMPCL,2BH
。加法運(yùn)算JNENEXT3SUBDI,2XCHGBX,[DI]SUBDI,2ADD[DI],BXADDDI,2JMPFINISHNEXT3:CMPCL,2DH
。減法運(yùn)算JNEFINISHSUBDI,2XCHGBX,[DI]SUBDI,2SUB[DI],BXADDDI,2個(gè)人資料整理 僅限學(xué)習(xí)使用FINISH:POPAXRETMATCHENDPADVANCEPROCCHOICE28H,1,5OTH1:CHOICE29H,2,1OTH2:CHOICE2AH,3,4
。(。>。*OTH3:CHOICE2FH,4,4。/OTH4:CHOICE2BH,5,3。+OTH5:CHOICE2DH,6,3。-OTH6:CHOICE3DH,7,0。=OTH7:RETADVANCEENDPCLEARPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXMOVAX,0600HMOVBH,0FHMOVCX,0MOVDX,184FHINT10HPOPAXPOPBXPOPCXPOPDXRETCLEARENDP
。清屏CRPROCNEARPUSHAXPUSHDXMOVAH,2MOVDL,0DHINT21HMOVAH,2MOVDL,0AHINT21HPOPDXPOPAX
。回車換行個(gè)人資料整理 僅限學(xué)習(xí)使用RETCRENDPOUTPUT: 。輸出運(yùn)算結(jié)果SUBDI,2CMPWORDPTR[DI],0JGEW1NEGWORDPTR[DI]MOVDL,'-'MOVAH,2INT21HW1:MOVBX,10000MOVCX,5MOVSI,0W2:MOVAX,[DI]CWDDIVBXMOV[DI],DXCMPAL,0JNEW3CMPSI,0JNEW3CMPCX,1JEW3JMPW4W3:MOVDL,ALADDDL,30HMOVAH,2INT21HMOVSI,1W4:MOVAX,BXMOVDX,0MOVBX,10DIVBXMOVBX,AXLOOPW2CALLCRMOV
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國干邑白蘭地行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國聚四氟乙烯液壓板數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024年股票互換協(xié)議
- 2025年度綠色建筑節(jié)能改造工程承包合同模板2篇
- 2025年度電影院場地租賃合同及觀影安全保障與服務(wù)標(biāo)準(zhǔn)協(xié)議3篇
- 2024版移動網(wǎng)絡(luò)業(yè)務(wù)伙伴合同版B版
- 2025年度婚禮場地借用與策劃服務(wù)合同3篇
- 2025年度訴訟保全擔(dān)保流程規(guī)范細(xì)則合同3篇
- 2025年度池塘休閑漁業(yè)項(xiàng)目租賃協(xié)議3篇
- 2025年水土保持監(jiān)測技術(shù)咨詢與旅游開發(fā)合同3篇
- 供應(yīng)室技能考核操作標(biāo)準(zhǔn)
- 公共政策學(xué)-陳振明課件
- SHSG0522023年石油化工裝置工藝設(shè)計(jì)包(成套技術(shù))內(nèi)容規(guī)定
- 《運(yùn)營管理》案例庫
- 醫(yī)院安全保衛(wèi)部署方案和管理制度
- 我的自我針灸記錄摘錄
- 中醫(yī)學(xué)-五臟-心-課件
- 《駱駝祥子》閱讀記錄卡
- 教育學(xué)原理完整版課件全套ppt教程(最新)
- 醫(yī)療安全不良事件報(bào)告培訓(xùn)PPT培訓(xùn)課件
- 膽管癌的護(hù)理查房
評論
0/150
提交評論