專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

四種基本程序結(jié)構(gòu)

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2007年09月23日   【字體:

下面我們介紹四種基本程序結(jié)構(gòu)

1)   順序結(jié)構(gòu)

*      程序模塊或指令依次執(zhí)行的結(jié)構(gòu)。

 

2)   分支結(jié)構(gòu)

*      根據(jù)條件,轉(zhuǎn)向不同程序段(分支)的結(jié)構(gòu)。

*      分支不應(yīng)是模塊間的轉(zhuǎn)移,執(zhí)行分支后應(yīng)返回流程主線。

*      注意防止從一個(gè)分支的出口進(jìn)入另一個(gè)分支的入口

 

3)   循環(huán)結(jié)構(gòu)

*      按循環(huán)控制條件重復(fù)執(zhí)行某一段程序,用于連續(xù)重復(fù)性操作。

*      循環(huán)圈包括循環(huán)體與循環(huán)控制;循環(huán)結(jié)構(gòu)還包括循環(huán)初始化與后處理。循環(huán)控制有計(jì)數(shù)循環(huán)與條件循環(huán)兩種。

*      循環(huán)可以嵌套,但不應(yīng)交叉,也不要從循環(huán)體外跳入循環(huán)圈。

轉(zhuǎn)載須保留地址:http://www.torrancerestoration.com/mcu/286.html

4)   子程序結(jié)構(gòu)

*      在主程序中執(zhí)行調(diào)用子程序指令,CPU轉(zhuǎn)去執(zhí)行子程序。在子程序中由返回指令返回主程序,繼續(xù)執(zhí)行調(diào)用指令的下一條指令。

*      調(diào)用時(shí),先將返回地址壓棧,并按調(diào)用指令提供的地址轉(zhuǎn)入子程序。返回時(shí),從堆棧彈出返回地址送PC,重返主程序。

*      程序中多處使用的功能模塊可采用子程序結(jié)構(gòu),以節(jié)省程序空間。

*      編寫與使用子程序的七要素:

*      功能說明。

*      子程序名與入口地址。

*      入口條件。

*      出口狀態(tài)。

*      占用資源。

*      子程序中的調(diào)用。

*      編寫與使用子程序的四項(xiàng)注意:

*      現(xiàn)場(chǎng)保護(hù)與現(xiàn)場(chǎng)恢復(fù),避免與主程序沖突。

*      堆棧操作應(yīng)成對(duì),且PUSH先行,保護(hù)返回地址。

*      多重調(diào)用應(yīng)考慮堆棧的容量,不宜直接或間接的自反調(diào)用。

*      防止不經(jīng)調(diào)用進(jìn)入子程序,禁止不經(jīng)返回指令跳出子程序。

關(guān)閉窗口

相關(guān)文章