




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、2.4循環(huán)程序設計實驗2.4.1實驗目的1掌握循環(huán)程序的設計方法。2、掌握比較指令、轉(zhuǎn)移指令和循環(huán)指令的使用方法。3、進一步掌握調(diào)試工具的使用方法。2.4.2實驗預習要求1復習比較指令、條件轉(zhuǎn)移指令和循環(huán)指令。2、復習循環(huán)程序的結(jié)構(gòu)、循環(huán)控制方法等知識。3、讀懂“2.4.3實驗內(nèi)容”中給出的將十進制數(shù)轉(zhuǎn)換為二進制數(shù)以及將二進制數(shù)轉(zhuǎn)換為十進制數(shù)的程序。4、根據(jù)“ 2.4.3實驗內(nèi)容”中給出的流程圖和程序框架編寫源程序,以便上機調(diào)試。5、從“ 2.4.4實驗習題”中任選一道題目,編寫源程序,以便上機調(diào)試。2.4.3實驗內(nèi)容計算1+2+n=?,其中n通過鍵盤輸入。要求在屏幕上提供如下信息:Pleas
2、e in put a number(1、627):;出現(xiàn)此信息后通過鍵盤輸入一個小于628的無符號整數(shù)1+2+.n=sum;其中n為用戶輸入的數(shù),sum為所求的累加和程序運行情況如下圖所示(說明:圖中所運行程序允許累加和不大于一個32位二進制數(shù)所能表示的范圍)。1、編程指導 (1 )鍵盤輸入的十進制數(shù)如368在計 算機中是以33H , 36H , 38H形式存放的,如 何將它們轉(zhuǎn)換為 一個二進制數(shù)101110000B,以便對累加循環(huán)的循環(huán)次數(shù)進行控制是本程序首先要解決的問題。將鍵盤輸入的十 進制數(shù)轉(zhuǎn)換為二進制數(shù)的程序清單如下:DATASEGMENTINF1IBUFDB Please in pu
3、t a number (0-65535):$DB 7,0,6 DUP(?)DATAENDSCODESEGMENTASSUME CS: CODE, DS:DA TASTART:MOVAX, DA TAMOVDS, AXMOVDX, OFFSET INF1MOVAH, 09HINT21HMOVDX, OFFSET IBUF;鍵入一個十進制數(shù)(65535)MOVAH, 0AHINT21HMOVCL, IBUF+1;十進制數(shù)的位數(shù)送CXMOVCH, 0MOVMOVSI, OFFSET IBUF+2AX, 0;指向輸入的第一個子符(取咼位);開始將十進制數(shù)轉(zhuǎn)換為二進制數(shù)AGAIN:MOVDX, 10;(
4、0 10+a4)10+)10+aoMULDXANDBYTE PTR SI, 0FHADDAL, SIADCAH, 0INCSILOOPAGAINMOVAH, 4CHINT21HCODEENDSENDSTART本程序功能:從鍵盤接收一個無符號十進制整數(shù)(小于65535),將其轉(zhuǎn)換為二進制數(shù),轉(zhuǎn)換結(jié)果存在AX寄存器中。(2)累加結(jié)果為一個 16位的二進制數(shù),為了顯示結(jié)果,必需把它們轉(zhuǎn)換為十進制數(shù)。 將二進制數(shù)轉(zhuǎn)換 為十進制數(shù)的程序清單如下:DATA SEGMENTOBUF DB 6 DUPDATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DA TASTART: M
5、OVAX, DA TAMOVDS, AXMOVBX, OFFSET OBUF+5MOVBYTE PTR BX,$MOVCX, 10;做(DX ) : (AX ) /10 運算LOOP1: MOVDX, 0;被除數(shù)高16位清0DIVCXADDDL, 30H;將DL中的一位十進制數(shù)轉(zhuǎn)換為DECBXMOVBX, DLORAX, AXJNZLOOP1;判斷商是否為0,不為0繼續(xù)MOVDX, BXMOVAH, 09HINT21HASCII 碼;顯示轉(zhuǎn)換得到的十進制數(shù)MOVAH, 4CHINT21HCODE ENDSEND START本程序功能:將存儲在 AX寄存器中的二進制數(shù)轉(zhuǎn)換為十進制數(shù)并顯示。2、流
6、程圖及程序框架(1)流程圖(2 )程序框架DATA SEGMENTINF1 DB Please in put a number(0-65535):$INF2 DB 0AH,0DH,1+2+.+$IBUF DB 7,0,6 DUP(?)OBUF DB 6 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSET INF1MOVAH,09HINT21HMOVDX,OFFSET IBUFMOVAH,0AHINT21HMOVCL,IBUF+1MOVCH,0MOVSI,OFFSET IBU
7、F+2MOVAX,0AGAIN:MOVDX,10MULDXANDBYTE PTRSI,0FHADDAL,SIADCAH,0INCSILOOP AGAINMOVCX,AXMOVAX,0MOVBX,1LOOP1:ADDAX,BXINCBXLOOP LOOP1MOVBX,OFFSET OBUF+5MOVBYTE PTR BX,$MOVCX,10LOOP2:MOVDX,0DIVCXADDDL,30HDECBXMOVBX,DL3、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處或今后應注意的問題等。ORAX,AXJNZLOOP2MOVDX,OFFSET INF2MOVAH,09HINT21HMOVSI,
8、OFFSET IBUF+2MOVCL,IBUF+1MOVCH,0ADDSI,CXMOVBYTE PTRSI,$MOVSI,OFFSET IBUF+2LOOP3:ADDBYTE PTRSI,30HINCSILOOP LOOP3MOVDX,OFFSET IBUF+2MOVAH,09HINT21HMOVDL,3DHMOVAH,02HINT21HMOVDX,BXMOVAH,09HINT21HMOVAH,4CHINT21HCODE ENDSEND START2.4.4實驗習題1、 從自然數(shù)1開始累加,直到累加和大于60000為止,顯示累加的自然數(shù)的個數(shù)和累加和。顯示格式 為:1+2+ +n=sum其中n
9、為累加個數(shù),sum為累加和。2、從鍵盤輸入6個加數(shù)Ni、N2、N3、N4、N5和N6(均為1、4位的無符號十進制整數(shù)),求和并將計算結(jié)果在屏幕上顯示出來。3、從鍵盤輸入一個無符號十進制整數(shù)(小于 65536),將其轉(zhuǎn)換為二進制數(shù),統(tǒng)計該二進制數(shù)中包含 的1的個數(shù),并將統(tǒng)計結(jié)果在屏幕上顯示出來。4、 從鍵盤輸入N個無符號十進制整數(shù) (小于256),將其轉(zhuǎn)換為二進制數(shù)后存放在字節(jié)變量BUF存儲區(qū)中;對這N個數(shù)進行由大到小排序,排序后將其仍存儲在BUF中;最后將排序后的結(jié)果在屏幕上顯示出來。2.4.5實驗報告要求1、 補全“2.4.3實驗內(nèi)容”中源程序框架內(nèi)未寫出的程序代碼,并說明你在調(diào)試該程序過程
10、中遇到了哪些問題,是如何處理的;請考慮,如果輸入的數(shù)大于627會出現(xiàn)什么問題?如何解決?2、從“ 2.4.4實驗習題”中任選一道題目,畫出流程圖,編寫源程序,并說明在調(diào)試過程中遇到了哪些 問題,是如何處理的。3、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處或今后應注意的問題等。選擇第一題:累加和。顯示格式為: 其中n為累加個數(shù),1+2+ +n=sumsum為累加和。N從自然數(shù)1開始累加,直到累加和大于60000為止,顯示累加的自然數(shù)的個數(shù)和3、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處或今后應注意的問題等。3、寫出實驗小結(jié),內(nèi)容包括實驗心得(收獲)、不足之處或今后應注意的問題等。DA
11、TASSEGMENTnDW?sumDW ?DATASENDSSTACKSEGMENTPARADW 100 DUPSTACKENDSCODESSEGMENTMAINSTACK stackASSUMESTART: PUSHMOVPUSHMOVPROC FARCX:CODES, DS:DATAS, SS:STACK DSAX, 0 AXAX, DATASMOV DS, AXMOVCX, 0MOVAX, 0MOVBX, 0LOOPT :INC BXADDAX, BXINCCXCMPAX, 60000JBELOOPTMOVn, CXMOVsum, AXRETMAIN ENDPCODES ENDSEND START小結(jié):實驗過程中, 有很多問題使得實驗很難進行, 最后通過和同學的討論, 問題得到解決。 通過這次實 驗,我更進一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版八年級數(shù)學下冊 第十八章 平行四邊形 章節(jié)測試卷 (含答案)
- 深入理解特許金融分析師考試的內(nèi)容試題及答案
- 農(nóng)產(chǎn)品批發(fā)市場供應合同協(xié)議書模板
- 短期用地買賣協(xié)議
- 項目管理溝通能力測試試題及答案
- 證券市場法規(guī)概述考試試題及答案
- 全新視角下的項目管理考試復習試題及答案
- 證券從業(yè)資格證復習資源試題及答案
- 注冊會計師考試材料準備與管理試題及答案
- 增強領導力的個人發(fā)展計劃
- 大車司機勞務協(xié)議書
- 學生軍訓教官合同協(xié)議
- 期刊編輯的學術(shù)期刊內(nèi)容審核標準考核試卷
- 知識產(chǎn)權(quán)監(jiān)管培訓課件
- 油田節(jié)能降耗技術(shù)-全面剖析
- 廣西欽州市欽州港經(jīng)濟技術(shù)開發(fā)區(qū)中學2025年初三第二學期第一次區(qū)模擬化學試題含解析
- 婦科護理標準化管理
- 蘭州2025年中國農(nóng)業(yè)科學院蘭州畜牧與獸藥研究所招聘16人筆試歷年參考題庫附帶答案詳解
- 教育家精神在師德師風建設中的引領作用與實踐路徑探索
- 2025年第三屆天揚杯建筑業(yè)財稅知識競賽題庫附答案(701-800題)
- 冷卻塔使用維護說明書
評論
0/150
提交評論