




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、循環(huán)程序設(shè)計(jì) 順序程序和分支程序中的指令,最多只執(zhí)行一次。在實(shí)際問題中重復(fù)地做某些事的情況是很多的,用計(jì)算機(jī)來做這些事就要重復(fù)地執(zhí)行某些指令。重復(fù)地執(zhí)行某些指令,最好用循環(huán)程序?qū)崿F(xiàn)。循環(huán)程序一般由4部分組成。 (1)置循環(huán)初值。即設(shè)置循環(huán)過程中有關(guān)工作單元的初始值,如置循環(huán)次數(shù)、地址指針及工作單元清零等。 (2)循環(huán)體。即循環(huán)的工作部分,完成主要的計(jì)算或操作任務(wù),是重復(fù)執(zhí)行的程序段。 這部分程序應(yīng)特別注意,因?yàn)樗貜?fù)執(zhí)行許多次,若能少寫一條指令,實(shí)際上就是少執(zhí)行某條指令若干次,因此,應(yīng)注意優(yōu)化程序。 (3)循環(huán)修改。每循環(huán)一次,就要修改循環(huán)次數(shù)、
2、數(shù)據(jù)及地址指針等。 (4)循環(huán)控制。根據(jù)循環(huán)結(jié)束條件,判斷是否結(jié)束循環(huán)。 如果在循環(huán)程序的循環(huán)體中不再包含循環(huán)程序,即為單重循環(huán)程序。如果在循環(huán)體中還包含有循環(huán)程序,那么這種現(xiàn)象就稱為循環(huán)嵌套,這樣的程序就稱為二重循環(huán)程序或三重以至多重循環(huán)程序。在多重循環(huán)程序中,只允許外重循環(huán)嵌套內(nèi)重循環(huán)程序,而不允許循環(huán)體互相交叉,也不允許從循環(huán)程序的外部跳入循環(huán)程序的內(nèi)部。 圖4.7(a)結(jié)構(gòu)是“先執(zhí)行后判斷”,適用于循環(huán)次數(shù)已知的情況。其特點(diǎn)是一進(jìn)入循環(huán),先執(zhí)行循環(huán)處理部分,然后根據(jù)循環(huán)次數(shù)判斷是否結(jié)束循環(huán)。 圖4.7(b)結(jié)構(gòu)是“先判斷后執(zhí)行”,適用于循環(huán)次數(shù)未知的情況。其特點(diǎn)是將循環(huán)控制
3、部分放在循環(huán)的入口處,先根據(jù)循環(huán)控制條件判斷是否結(jié)束循環(huán),若不結(jié)束,則執(zhí)行循環(huán)操作;若結(jié)束,則退出循環(huán)。 圖4.7 循環(huán)程序結(jié)構(gòu)框圖 【例4-10】多個(gè)單字節(jié)數(shù)求知。已知有10個(gè)單字節(jié)數(shù),依次存放在內(nèi)部RAM 40H單元開始的數(shù)據(jù)存儲區(qū)中,求和并將結(jié)果存人寄存器R2、R3中(高位存R2,低位存R3)。本題中,要重復(fù)進(jìn)行加法運(yùn)算,因此采用循環(huán)結(jié)構(gòu)程序。循環(huán)次數(shù)就是數(shù)據(jù)塊字節(jié)數(shù),這是已知的。在置初值時(shí),將數(shù)據(jù)塊長度置人寄存器R5;將數(shù)據(jù)塊首地址送人寄存器R0,即以R0作為數(shù)據(jù)塊的地址指針,采用間接尋址方式:每做一次加法之后,修改地址指針,以便取出下一個(gè)數(shù)來相加,并且使計(jì)數(shù)器R5減l。到
4、R5減為0時(shí),求和結(jié)束。程序流程圖如圖4.8所示。 ORG 2000H &
5、#160; SUM: MOV R0,#40H ;設(shè)地址指針
6、60; MOV R5,#0AH ;計(jì)數(shù)器初值送R5
7、 SUM: MOV A,#00H &
8、#160; MOV R2,A LP: &
9、#160; ADD A,R0 JNC
10、; LP1 INC R2
11、; ;若有進(jìn)位,和的高八位+1 LP1: INC R0
12、; ;地址指針+1 DJNZ R5,LP ;判循環(huán)結(jié)束條件 &
13、#160; MOV R3,A ;存和的低八位
14、60; END 【例4-11】從內(nèi)存BLOCK單元開始有一個(gè)無符號數(shù)的數(shù)據(jù)塊,其長度為LEN,試求出其最大值,并存入MAX單元。 這是一個(gè)搜索問題。這里采用依次進(jìn)行比較和取代的方法來尋找最大值。具體做法是:先取出第一個(gè)數(shù)作
溫馨提示
- 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年智能制造工程師考試試題及答案動(dòng)態(tài)
- 2025年?duì)I養(yǎng)學(xué)與健康專業(yè)畢業(yè)考試卷及答案
- 2025年建筑施工與管理工程考試試卷及答案
- 稅款擔(dān)保補(bǔ)充協(xié)議(航空行業(yè))
- 新能源汽車整車動(dòng)力系統(tǒng)性能評估與優(yōu)化合同
- 高效節(jié)能工業(yè)廠房消防驗(yàn)收合格產(chǎn)權(quán)交易合同
- 線上線下同步商品直播合作協(xié)議
- 綠色環(huán)保月子中心建設(shè)與運(yùn)營管理合同
- 美容美發(fā)加盟體系品牌推廣與加盟店培訓(xùn)協(xié)議
- 模具驗(yàn)收與后期服務(wù)支持及改進(jìn)協(xié)議
- 深圳中考聽說信息提問E聽說模擬(91-117)
- 《客艙設(shè)備與服務(wù)》課件-3.客艙服務(wù)
- 2023學(xué)校幼兒園懷舊“六一兒童節(jié)”(時(shí)光不老追憶童年)主題游園活動(dòng)策劃案-47P
- 供貨驗(yàn)收單三篇
- Carrousel2000氧化溝系統(tǒng)設(shè)計(jì)說明書
- (高清版)DZT 0347-2020 礦山閉坑地質(zhì)報(bào)告編寫規(guī)范
- 部編版語文二年級下冊第四單元整體教學(xué)設(shè)計(jì)教案
- 藥學(xué)實(shí)踐教學(xué)設(shè)計(jì)
- 《物業(yè)管理概論》試題及答案匯總
- 濕疹中醫(yī)護(hù)理查房課件
- 人人講安全個(gè)個(gè)會應(yīng)急主題班會
評論
0/150
提交評論