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

匯編語言程序設(shè)計下載

宏匯編語言程序設(shè)計(PDF)

匯編語言自學(xué)教程
匯編語言程序結(jié)構(gòu)
匯編語言程序設(shè)計實驗

評論