四種基本程序結構
下面我們介紹四種基本程序結構
1) 順序結構
* 程序模塊或指令依次執(zhí)行的結構。
2) 分支結構
* 根據(jù)條件,轉向不同程序段(分支)的結構。
* 分支不應是模塊間的轉移,執(zhí)行分支后應返回流程主線。
* 注意防止從一個分支的出口進入另一個分支的入口
3) 循環(huán)結構
* 按循環(huán)控制條件重復執(zhí)行某一段程序,用于連續(xù)重復性操作。
* 循環(huán)圈包括循環(huán)體與循環(huán)控制;循環(huán)結構還包括循環(huán)初始化與后處理。循環(huán)控制有計數(shù)循環(huán)與條件循環(huán)兩種。
* 循環(huán)可以嵌套,但不應交叉,也不要從循環(huán)體外跳入循環(huán)圈。
轉載須保留地址:http://www.51hei.com/mcu/286.html
4) 子程序結構
* 在主程序中執(zhí)行調用子程序指令,CPU轉去執(zhí)行子程序。在子程序中由返回指令返回主程序,繼續(xù)執(zhí)行調用指令的下一條指令。
* 調用時,先將返回地址壓棧,并按調用指令提供的地址轉入子程序。返回時,從堆棧彈出返回地址送PC,重返主程序。
* 程序中多處使用的功能模塊可采用子程序結構,以節(jié)省程序空間。
* 編寫與使用子程序的七要素:
* 功能說明。
* 子程序名與入口地址。
* 入口條件。
* 出口狀態(tài)。
* 占用資源。
* 子程序中的調用。
* 編寫與使用子程序的四項注意:
* 現(xiàn)場保護與現(xiàn)場恢復,避免與主程序沖突。
* 堆棧操作應成對,且PUSH先行,保護返回地址。
* 多重調用應考慮堆棧的容量,不宜直接或間接的自反調用。
* 防止不經調用進入子程序,禁止不經返回指令跳出子程序。
評論