<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 數(shù)據(jù)傳送指令之: 程序狀態(tài)寄存器指令

          數(shù)據(jù)傳送指令之: 程序狀態(tài)寄存器指令

          作者: 時間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/257077.htm

          5.6

          指令集提供了兩條指令,可直接控制程序狀態(tài)寄存器(PSR,Program State Register)。指令用于把CPSR或SPSR的值傳送到一個寄存器;MSR與之相反,把一個寄存器的內(nèi)容傳送到CPSR或SPSR。這兩條指令結(jié)合,可用于對CPSR和SPSR進行讀/寫操作。

          交換指令如表5.5所示。

          表5.5

          指 令

          作 用

          操 作

          把程序狀態(tài)寄存器的值送到一個通用寄存器

          Rd=SPR

          MSR

          把通用寄存器的值送到程序狀態(tài)寄存器或把一個立即數(shù)送到程序狀態(tài)字

          PSR[field]=Rm或PSR[field]=immediate

          在指令語法中可看到一個稱為fields的項,它可以是控制(C)、擴展(X)、狀態(tài)(S)及標(biāo)志(F)的組合。

          注意

          程序不能通過直接修改CPSR中的T位控制直接將程序狀態(tài)切換到Thumb狀態(tài),必須通過BX等指令完成程序狀態(tài)的切換。

          5.6.1

          (1)指令編碼格式

          MRS指令用于將程序狀態(tài)寄存器的內(nèi)容傳送到通用寄存器中。

          指令的編碼格式如圖5.22所示。

          圖5.22 MRS指令編碼格式

          當(dāng)數(shù)據(jù)被移到通用寄存器以后,就可以對數(shù)據(jù)進行處理。

          (2)指令的語法格式

          MRS{cond>} Rd>,CPSR

          MRS{cond>} Rd>,SPSR

          ① cond>

          為指令編碼中的條件域。它指示LDM(1)指令在什么條件下執(zhí)行。當(dāng)cond>忽略時,指令為無條件執(zhí)行(cond=AL(Alway))。

          ② Rd>

          目標(biāo)寄存器。當(dāng)r15被用作目標(biāo)寄存器時,指令執(zhí)行結(jié)果不可預(yù)知。

          (3)指令操作的偽代碼

          指令操作偽代碼如下面程序段所示。

          If ConditionPassed{cond} then

          If R==1 then

          Rd=SPSR

          ELSE

          Rd=CPSR

          注意

          ① 當(dāng)操作碼opcode[11∶0]≠0x000時,指令的執(zhí)行結(jié)果不可預(yù)知。

          ② 當(dāng)操作碼opcode[19∶16]≠0b1111時,指令的執(zhí)行結(jié)果不可預(yù)知。

          ③ 當(dāng)在用戶模式下對SPSR進行操作時,指令的執(zhí)行結(jié)果不可預(yù)知。

          5.6.2 MSR

          (1)指令編碼格式

          MSR指令用于將通用寄存器中的內(nèi)容或立即數(shù)傳送到程序狀態(tài)寄存器中。因此指令的編碼格式也有兩種格式。

          指令的源操作數(shù)為通用寄存器時編碼格式如圖5.23所示。

          圖5.23 源操作數(shù)為通用寄存器的MSR指令編碼

          指令的源操作數(shù)為立即數(shù)時編碼格式如圖5.24所示。

          圖5.24 源操作數(shù)為立即數(shù)的MSR指令編碼


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();