匯編語言程序的結構
1、順序結構程序
順序結構程序,是按程序順序一條指令緊接一條指令執行,是所有程序設計中最基本的程序結構,是應用最普遍的程序結構,是實際編寫程序的基礎。
2、選擇結構程序(分支程序)
選擇結構程序,是指在程序執行過程中,依據條件選擇執行不同的分支程序。為實現程序分支,編寫選擇結構程序時要合理選用具有判斷功能的指令,如條件轉移指令、比較轉移指令和位轉移指令等。
選擇結構程序允許嵌套,從而形成多級選擇程序結構。匯編語言不限制嵌套的層數,但過多的嵌套將使程序的結構變得復雜和臃腫,容易造成混亂。
3、循環結構程序
循環是指MCU反復地執行某種相同的操作。從本質上講,循環只是選擇結構程序中的一個特殊形式而已,但因為其重要性,因而獨立作為一種程序結構。
在進入循環體之前,需給用于循環過程的工作單元設置初值,如循環控制計數初值、地址指針起始地址的設置、變量初值等,初始化部分是保證循環正確執行所必須的。循環體是循環結構的核心,完成實際的處理工作,在循環體中也可包括改變循環變量、改變地址指針等有關修改循環參數的部分。循環控制部分通過循環變量和結束條件控制循環結束,有時修改循環參數和判斷結束條件由一條指令完成,如DJNZ。循環處理程序的結束條件不同,相應控制部分的實現方法也不一樣,分循環計數控制和條件控制。
4、子程序結構
子程序是在主程序中通過LCALL、ACALL等指令調用的程序段,該程序段的第一條指令地址稱子程序入口地址。子程序的最后一條指令必須是RET返回指令,即返回到主程序中調用子程序指令的下一條指令。
實際應用中,大多數子程序具有復雜程度不等的結構,主程序調用的子程序運行時有可能改變主程序中某些寄存器的內容,如PSW、A、B、工作寄存器等,這樣就必須先用PUSH指令將相應寄存器的內容壓入堆棧保護起來,返回時再用POP指令將壓入堆棧的內容彈回到相應的寄存器中。有調用前在主程序保護和子程序開頭保護兩種,相應的在主程序恢復和子程序末尾恢復。
常用匯編語言程序
1、延時程序
延時程序是經常使用的程序,一般設計成具有通用性的循環結構子程序。在設計延時子程序時,延時的最小單位為機器周期,所以要注意晶振的頻率。
2、碼制轉換程序
MCU內部進行數據計算和存儲時,多采用二進制碼;在數據的輸入/輸出中,多采用BCD碼。編程中經常會遇到各種碼制的轉換問題。
十進制數常用BCD碼表示,BCD碼有兩種形式:一種是一個字節放一位BCD碼,適用于顯示或輸出;另一種是壓縮的BCD碼,一個字節放兩個BCD碼,節省存儲單元。
單字節二進制(或16進制)數轉換為BCD碼的一般方法是把二進制數除以100,得到百位數,余數除以10的商和余數分別是十位數、個位數。
3、數據排序程序
經常要對數據進行排序,排序的方法有按從小到大的次序和按從大到小的次序排。示例為將放于片內RAM的50H~5AH單元中的單字節無符號正整數按從小到大的次序重新排列(冒泡法)。
-
匯編語言
+關注
關注
14文章
410瀏覽量
36283 -
匯編語言程序
+關注
關注
0文章
6瀏覽量
6420
發布評論請先 登錄
相關推薦
匯編語言程序設計下載

評論