帶你了解匯編語言程序設(shè)計之順序程序設(shè)計
目前,結(jié)構(gòu)化是程序設(shè)計的基本要求,可以使程序結(jié)構(gòu)清晰、易于讀寫且方便調(diào)試,也能夠提高程序設(shè)計的效率。在結(jié)構(gòu)化程序設(shè)計中,程序的基本結(jié)構(gòu)有三種,即順序結(jié)構(gòu)、分支結(jié)構(gòu)及循環(huán)結(jié)構(gòu)。而子程序(也被稱為函數(shù)或過程)是一種提高程序模塊化程度和重復(fù)利用率的程序設(shè)計技巧,有時也被當(dāng)作一種基本的程序結(jié)構(gòu)。
順序程序是三種結(jié)構(gòu)中最簡單的一種,依照順序逐條執(zhí)行指令序列,由程序開頭逐條順序地執(zhí)行直至程序結(jié)束為止,期間無轉(zhuǎn)移、無分支、無循環(huán)、無子程序調(diào)用。順序程序通常作為程序的一部分,用以構(gòu)造程序中的一些基本功能。順序結(jié)構(gòu)程序是最簡單、最基本的程序。程序按編寫的順序依次往下執(zhí)行每一條指令,直到最后一條。它能夠解決某些實際問題,或成為復(fù)雜程序的子程序。
順序程序設(shè)計
順序結(jié)構(gòu)是最簡單的程序結(jié)構(gòu),也是程序設(shè)計的基礎(chǔ)。這種結(jié)構(gòu)的特點是,程序指令的執(zhí)行順序與指令在程序存儲器中的存放順序一致,如圖3-5所示。實際上,指令執(zhí)行的順序最終是由CPU取指令的順序決定的。
【例1】編寫程序,將片內(nèi)RAM中地址為40H~44H的存儲單元清0。本例的源程序及其流程圖如圖3-5所示。
【例2】編寫雙字節(jié)加法程序,完成雙字節(jié)數(shù)據(jù)7345H和0F8EAH的加法,結(jié)果按由高字節(jié)到低字節(jié)的順序分別存放在寄存器R2、R1和R0中。要求:加法結(jié)果為三字節(jié)數(shù)據(jù)。
下面參考程序的運(yùn)行結(jié)果是:(R2)=01H,(R1)=6CH和(R0)=2FH。
【例3】計算X2+Y2。要求:X和Y均為0~10的整數(shù),并分別存于片內(nèi)RAM的40H和41H單元中,二次方和存于42H單元中。
參考程序如下,運(yùn)行結(jié)果是:(40H)=55H。