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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM指令尋址方式之: 內(nèi)存訪問指令尋址

          ARM指令尋址方式之: 內(nèi)存訪問指令尋址

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

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

          6.[Rn],±Rm>

          (1)編碼格式

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

          圖4.29 雜項(xiàng)內(nèi)存訪問指令——后索引寄存器偏移尋址編碼格式

          指令訪問地址為實(shí)際的基址寄存器的值。當(dāng)指令的執(zhí)行條件滿足時(shí),將基址寄存器的值加/減索引寄存器Rm的值回寫到Rn基址寄存器。

          (2)

          LDR|STR{cond>}H|SH|SB|D Rd>,[Rn],±Rm>

          其中:

          · Rn為基址寄存器,該寄存器包含內(nèi)存訪問的基地址;

          · Rm>為偏移地址寄存器,包含內(nèi)存訪問地址偏移量。

          (3)操作偽代碼

          Address = Rn

          If conditionPassed{cond} then

          If U = = 1 then

          Rn = Rn + Rm

          Else

          Rn = Rn – Rm

          (4)說明

          ① 程序寄存器r15被指定為Rm或Rn,指令的執(zhí)行結(jié)果不可預(yù)知。

          ② 如果Rm和Rn指定為同一寄存器,指令的執(zhí)行結(jié)果不可預(yù)知。

          4.2.3 批量Load/Store方式

          批量Load/Store指令將一片連續(xù)內(nèi)存單元的數(shù)據(jù)加載到通用寄存器組中或?qū)⒁唤M通用寄存器的數(shù)據(jù)存儲(chǔ)到內(nèi)存單元中。

          批量Load/Store指令的尋址模式產(chǎn)生一個(gè)內(nèi)存單元的地址范圍,指令寄存器和內(nèi)存單元的對(duì)應(yīng)關(guān)系滿足這樣的規(guī)則,即編號(hào)低的寄存器對(duì)應(yīng)于內(nèi)存中低地址單元,編號(hào)高的寄存器對(duì)應(yīng)于內(nèi)存中的高地址單元。

          指令的如下。

          LDM|STM{cond>}addressing_mode> Rn>{!},registers>^>

          指令的尋址方式如表4.6所示。

          表4.6 批量Load/Store指令的尋址方式

          格 式

          模 式

          1

          IA(Increment After)

          后遞增方式

          2

          IB(Increment Before)

          先遞增方式

          3

          DA(Decrement After)

          后遞減方式

          4

          DB(Decrement Before)

          先遞減方式

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

          圖4.30 批量Load/Store指令編碼格式

          編碼格式中各標(biāo)志位的含義如表4.7所示。

          表4.7 批量Load/Store指令編碼格式各標(biāo)志位含義

          位標(biāo)識(shí)

          取 值

          含 義

          P

          P=0

          Rn包含的地址,是所要訪問的內(nèi)存塊的高地址(U=0)還是低地址(U=1)

          P=1

          標(biāo)識(shí)Rn所指向的內(nèi)存單元是否被訪問

          U

          U=0

          Rn所指內(nèi)存單元為所要訪問的內(nèi)存單元塊的高地址

          U=1

          Rn所指內(nèi)存單元為所要訪問的內(nèi)存單元塊的低地址

          S

          S=0

          當(dāng)程序計(jì)數(shù)器PC作為要加載的寄存器之一時(shí),S標(biāo)識(shí)是否將spsr內(nèi)容拷貝到cpsr;對(duì)于不加載PC的load指令和所有store指令,S標(biāo)識(shí)特權(quán)模式下,使用用戶模式寄存器組代替當(dāng)前模式下寄存器組

          S=1

          W

          W=0

          數(shù)據(jù)傳送完畢,更新地址寄存器內(nèi)容

          W=1

          L

          L=0

          Store指令

          L=1

          Load指令



          評(píng)論


          相關(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); })();