新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 四種基本程序結(jié)構(gòu)

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

作者: 時(shí)間:2013-01-07 來源:網(wǎng)絡(luò) 收藏

下面我們介紹四種基本

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.51hei.com/mcu/286.html

4) 子

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

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

* 程序中多處使用的功能模塊可采用子,以節(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)返回指令跳出子程序。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉