程序轉(zhuǎn)移控制類和其它_第1頁
程序轉(zhuǎn)移控制類和其它_第2頁
程序轉(zhuǎn)移控制類和其它_第3頁
程序轉(zhuǎn)移控制類和其它_第4頁
程序轉(zhuǎn)移控制類和其它_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Sunplus

16位微控制器程序轉(zhuǎn)移和其它控制類指令分類SPCE061A的指令總共只有41種,可分為四類:數(shù)據(jù)傳送類算邏運(yùn)算類(移位操作補(bǔ)充說明)程序轉(zhuǎn)移控制類其它控制類移位操作補(bǔ)充說明邏輯左移(LSL)邏輯右移(LSR)循環(huán)左移(ROL)循環(huán)右移(ROR)算術(shù)右移(ASR)邏輯左移(LSL)<1>【格式】 Rd

Rs

LSL

n【說明】該指令對Rs進(jìn)行n(可設(shè)為1~4)位邏輯左移,將Rs高n位移入SB寄存器,同時(shí)Rs的低n(1~4)位用0補(bǔ)足,結(jié)果送

Rd寄存器。邏輯左移(LSL)<2>B15B14B13B12B11B10B9B8B7B6B5B4B3B2B1B0S3S2S1S0B12B11B10B9B8B7B6B5B4B3B2B1B0000【舉例】0xF00F邏輯左移3位。寄存器移位前的狀態(tài)為:SB

RS寄存器移位后的狀態(tài)為:SB

RdS0B15B14B13邏輯右移(LSR)【格式】 Rd

Rs

LSR

n【說明】

該指令對Rs進(jìn)行n(可設(shè)為1~4)位邏輯右移,將Rs低n位移入SB寄存器同時(shí)Rs的高n(1~4)位用0補(bǔ)足,結(jié)果送Rd寄存器。循環(huán)左移(ROL)<1>【格式】 Rd

Rs

ROL

n【說明】

該指令對Rs進(jìn)行n(可設(shè)為1~4)位循環(huán)左移,將Rs的高n位移入S寄存器,同時(shí)移動SB寄存器的高n位移入Rs的低n位,結(jié)果送Rd寄存器。循環(huán)左移(ROL)<2>B15B14B13B12B11B10B9B8B7B6B5B4B3B2B1B0S3S2S1S0B14B13B12B11B10B9B8B7B6B5B4B3B2B1B0S3S2S1S0B15【舉例】0x0010循環(huán)左移1位。移位前的各位狀態(tài)如下:SB

RS寄存器移位后的狀態(tài)為:SB

Rd循環(huán)右移(ROR)【格式】 Rd

Rs

ROR

n【說明】

該指令對Rs進(jìn)行n(可設(shè)為1~4)位循環(huán)右移,將Rs的低n位移入SB寄存器,同時(shí)移動SB寄存器的低n位移入Rs的高n位,結(jié)果送Rd寄存器。算術(shù)右移(ASR)<1>【格式】 Rd

Rs

ASR

n【說明】

該指令將Rs算術(shù)右移n(可設(shè)為1~4)位,將Rs的低n位移入SB寄存器,并對最高有效位進(jìn)行符號擴(kuò)展,結(jié)果送Rd寄存器。該指令適合有符號數(shù)的移位操作。算術(shù)右移(ASR)<2>其中E2,E1,E0是Rs中最高有效位的符號擴(kuò)展位。B15B14B13B12B11B10B9B8B7B6B5B4B3B2B1B0S3S2S1S0【舉例】 0xF111算術(shù)右移3位。移位前的各位狀態(tài)如下:RS

SB移位后的各位狀態(tài)如下:RdB2B1B0S3E2E1E0B15B14B13B12B11B10B9B8B7B6B5B4B3SB轉(zhuǎn)移控制類指令軟件中斷子程序調(diào)用指令

有條件/無條件跳轉(zhuǎn)子程序返回中斷返回?zé)o條件長跳轉(zhuǎn)軟件中斷功能描述:產(chǎn)生一個由指令控制的軟件中斷,CPU會跳到中斷向量[0x00FFF5]處執(zhí)行軟中斷服務(wù)子程序。應(yīng)用舉例:BREAK;//產(chǎn)生一個軟件中斷子程序調(diào)用指令功能描述:這是在64頁CODE段絕對地址范圍內(nèi)的子程序調(diào)用指令。在指令執(zhí)行期間,程序指針

PC和段寄存器SR都會被自動壓入棧中。應(yīng)用舉例:

Call

sub_1;有條件/無條件跳轉(zhuǎn)<1>功能描述:這是一組程序條件/無條件近轉(zhuǎn)移指令。通過檢測SR寄存器中各標(biāo)志位作為程序轉(zhuǎn)移的條件。若條件滿足則程序跳轉(zhuǎn)到與PC相關(guān)的地址上,跳轉(zhuǎn)范圍限制為PC+63個字;條件不滿足則程序繼續(xù)執(zhí)行條件轉(zhuǎn)移指令后面的指令。有條件/無條件跳轉(zhuǎn)<2>應(yīng)用舉例:

CMP

R1,R2;JNE

label1;//若不相等,跳轉(zhuǎn)到label2JMPlabe2;//無條件跳轉(zhuǎn)到label1子程序返回功能描述:從子程序返回時(shí)須用RETF指令從棧中彈出狀態(tài)寄存器SR和程序指針PC的值。由于彈棧動作發(fā)生在本指令執(zhí)行之后,故彈棧后SR和PC的值應(yīng)分別與調(diào)用子程序之前二者的值相同。應(yīng)用舉例:

sub1:.PROC...RETF;

//

return

from

sub1.

ENDP中斷返回功能描述:從中斷服務(wù)子程序返回時(shí)須用RETF或者RETI指令從棧中彈出狀態(tài)寄存器SR和程序指針PC的值。由于彈棧動作發(fā)生在本指令執(zhí)行之后,故彈棧后

SR和PC的值應(yīng)分別與進(jìn)入中斷服務(wù)子程序之前二者的值相同。應(yīng)用舉例:.TEXT.PUBLIC

_IRQ1_IRQ1:...RETI;

//

return

from

IRQ1無條件長跳轉(zhuǎn)功能描述:無條件遠(yuǎn)轉(zhuǎn)移到用戶指定地址。在μ'nSP?1.0,目標(biāo)地址被限制在當(dāng)前頁的內(nèi)64K字范圍內(nèi);在

μ'nSP?

1.1,目標(biāo)地址的尋址空間為整個4M字范圍。應(yīng)用舉例:GOTOloop;//程序無條件跳轉(zhuǎn)到loop標(biāo)號地址上其它控制類指令控制允許/禁止FIR濾波器運(yùn)算過程中數(shù)據(jù)的自動移動FIQ中斷使能/屏蔽IRQ中斷使能/屏蔽Interrupt

SetNo

Operation控制允許/禁止FIR濾波器運(yùn)算過程中數(shù)據(jù)的自動移動<1>功能描述:這組指令用來控制允許/禁止FIR濾波器運(yùn)算過程中數(shù)據(jù)的自動移動。由于這會影響到FIR濾波器運(yùn)算的狀態(tài),且此狀態(tài)具有全局性質(zhì),故用在中斷服務(wù)子程序時(shí)要格外小心??刂圃试S/禁止FIR濾波器運(yùn)算過程中數(shù)據(jù)的自動移動<2>應(yīng)用舉例:_IRQ1:PUSH

R1,

R4

to[SP];CALL

F_IRQ1_Service_10kHz;//采樣,F(xiàn)IR濾波,輸出POP

R1,

R4

from

[SP];RETI;控制允許/禁止FIR濾波器運(yùn)算過程中數(shù)據(jù)的自動移動<3>F_IRQ1_Service_10kHz:...;R1=Data_Entry;//R1指向采樣向量

R2=Conf_

Entry;//R2指向系數(shù)向量FIR_MOVON;//允許FIR運(yùn)算過程中數(shù)據(jù)自動移動MR=[R1]*

[R2],N;//N階FIR濾波計(jì)算

FIR_MOV

OFF;RETFFIQ中斷使能/屏蔽FIQ

ONFIQ

OFF功能描述:這組指令用來開通/關(guān)斷FIQ中斷。IRQ中斷使能/屏蔽IRQ

ONIRQOFF功能描述:這組指令用來開通/關(guān)斷IRQ中斷。設(shè)置允許/禁止FIQ和IRQ中斷功能描述:這組指令用來設(shè)置允許/禁止FIQ和IRQ中斷的標(biāo)志。應(yīng)用舉例:INT

FIQ;//允許FIQ中斷,禁止IRQ中斷

INT

FIQ,IRQ;//允許FIQ與IRQ中斷INT

OFF;//禁止FIQ與IRQ中斷空操作<1>NOP功能描述:空操作,只是將PC指向下一個地址。,用于時(shí)間的延遲或其它目的??詹僮?lt;2>應(yīng)用舉例:

Delay_Loop:NOP;//等待CMPR1,0xFFFF;//查尋結(jié)束等待的標(biāo)志

JA

E

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論