順序結(jié)構(gòu)程序
發(fā)布時間:2014/6/5 21:18:03 訪問次數(shù):674
順序結(jié)構(gòu)程序又稱簡單結(jié)構(gòu)程序,AD604ARZ-RL是程序設(shè)計中最基本的,在整個程序設(shè)計中所占比例極大,是程序設(shè)計的基礎(chǔ)。這里所說的簡單結(jié)構(gòu)程序是指一種無分支的直接程序,是按照邏輯操作順序,從第一條指令開始逐條執(zhí)行,直到最后一條指令為止。
順序結(jié)構(gòu)的程序一般用來處理比較簡單的算術(shù)或邏輯問題,它的執(zhí)行過程是按照程序存儲器PC自動加1的順序執(zhí)行的,主要用數(shù)據(jù)傳送類指令和數(shù)據(jù)運(yùn)算類指令來實現(xiàn)。
下面來看一個例子:將內(nèi)部RAM中20H單元、30H單元和40H單元的無符號數(shù)相加,存入RO(高位)和Rl(低位)中。
:起始偽指令,用于定義程序的存放起始地址
:將20H單元的數(shù)送到累加器A中
:將A中的數(shù)和30H單元的數(shù)相加
:暫存低位和于Rl寄存器
.A清零,為下一條指令做準(zhǔn)備
:將進(jìn)位(即前面加法結(jié)果的高位)加到了累加器A
:暫存高位和
:將最后一個加數(shù)送到A中
:與前面暫存的結(jié)果相加
:接要求存放低位結(jié)果
:為高位加法做準(zhǔn)備
:與前面暫存的高位以及最近一次加法的進(jìn)位累加起來
:按要求存放高位結(jié)果
:結(jié)束偽指令
分支結(jié)構(gòu)程序的設(shè)計
所謂分支結(jié)構(gòu)就是利用條件轉(zhuǎn)移指令,使程序執(zhí)行某一指令后,根據(jù)所給的條件是否滿足來改變程序執(zhí)行的順序,也就是本條指令執(zhí)行完后,并不是像順序結(jié)構(gòu)那樣執(zhí)行下一條指令,而是看本條指令所給的條件是否滿足,如果滿足條件就跳轉(zhuǎn)到其他的指令,如果不滿足就順序執(zhí)行。
這就是分支結(jié)構(gòu)的程序,如果P3.5為O,就轉(zhuǎn)移;反之就順序執(zhí)行。當(dāng)然也可以改成P3.5=0順序執(zhí)行;而P3.5=1則轉(zhuǎn)移,不過此時的程序就要用JB指令了。在51系列單片機(jī)中,可以直接用于分支程序的指令有JB (JNB)、JC (JNC)、JZ (JNZ)、CJNE、JBC等,
它們可以完成諸如正負(fù)判斷、大小判斷和溢出判斷等。在分支結(jié)構(gòu)的指令設(shè)計中,大家必須注意,執(zhí)行一條判斷指令只可以形成單路分支,如果要形成多路分支,就必須進(jìn)行多次判斷,也就是多條指令連續(xù)判斷。
順序結(jié)構(gòu)程序又稱簡單結(jié)構(gòu)程序,AD604ARZ-RL是程序設(shè)計中最基本的,在整個程序設(shè)計中所占比例極大,是程序設(shè)計的基礎(chǔ)。這里所說的簡單結(jié)構(gòu)程序是指一種無分支的直接程序,是按照邏輯操作順序,從第一條指令開始逐條執(zhí)行,直到最后一條指令為止。
順序結(jié)構(gòu)的程序一般用來處理比較簡單的算術(shù)或邏輯問題,它的執(zhí)行過程是按照程序存儲器PC自動加1的順序執(zhí)行的,主要用數(shù)據(jù)傳送類指令和數(shù)據(jù)運(yùn)算類指令來實現(xiàn)。
下面來看一個例子:將內(nèi)部RAM中20H單元、30H單元和40H單元的無符號數(shù)相加,存入RO(高位)和Rl(低位)中。
:起始偽指令,用于定義程序的存放起始地址
:將20H單元的數(shù)送到累加器A中
:將A中的數(shù)和30H單元的數(shù)相加
:暫存低位和于Rl寄存器
.A清零,為下一條指令做準(zhǔn)備
:將進(jìn)位(即前面加法結(jié)果的高位)加到了累加器A
:暫存高位和
:將最后一個加數(shù)送到A中
:與前面暫存的結(jié)果相加
:接要求存放低位結(jié)果
:為高位加法做準(zhǔn)備
:與前面暫存的高位以及最近一次加法的進(jìn)位累加起來
:按要求存放高位結(jié)果
:結(jié)束偽指令
分支結(jié)構(gòu)程序的設(shè)計
所謂分支結(jié)構(gòu)就是利用條件轉(zhuǎn)移指令,使程序執(zhí)行某一指令后,根據(jù)所給的條件是否滿足來改變程序執(zhí)行的順序,也就是本條指令執(zhí)行完后,并不是像順序結(jié)構(gòu)那樣執(zhí)行下一條指令,而是看本條指令所給的條件是否滿足,如果滿足條件就跳轉(zhuǎn)到其他的指令,如果不滿足就順序執(zhí)行。
這就是分支結(jié)構(gòu)的程序,如果P3.5為O,就轉(zhuǎn)移;反之就順序執(zhí)行。當(dāng)然也可以改成P3.5=0順序執(zhí)行;而P3.5=1則轉(zhuǎn)移,不過此時的程序就要用JB指令了。在51系列單片機(jī)中,可以直接用于分支程序的指令有JB (JNB)、JC (JNC)、JZ (JNZ)、CJNE、JBC等,
它們可以完成諸如正負(fù)判斷、大小判斷和溢出判斷等。在分支結(jié)構(gòu)的指令設(shè)計中,大家必須注意,執(zhí)行一條判斷指令只可以形成單路分支,如果要形成多路分支,就必須進(jìn)行多次判斷,也就是多條指令連續(xù)判斷。
上一篇:操作碼
上一篇:單分支結(jié)構(gòu)
熱門點擊
- 工作寄存器區(qū)
- 四位一體數(shù)碼管
- 檢驗標(biāo)準(zhǔn)(按照IPC-A-610E標(biāo)準(zhǔn))
- 晶圓級CSP (WL-CSP)、WLP (
- 中斷優(yōu)先級寄存器IP
- AOI編程方法有在線編程和離線編程兩種
- 濕度敏感器件(MSD)的管理、存儲、使用要求
- 點膠機(jī)
- 中斷請求的撤除
- 中斷按照功能通常可以分為可屏蔽中斷
推薦技術(shù)資料
- 基準(zhǔn)電壓的提供
- 開始的時候,想使用LM385作為基準(zhǔn),HIN202EC... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究