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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 數(shù)據(jù)傳送指令之:單寄存器的Load/Store指令

          數(shù)據(jù)傳送指令之:單寄存器的Load/Store指令

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

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

          5.3.4 用戶模式字(LDRT/STRT)

          1.LDRT指令

          (1)指令編碼格式

          LDRT指令用于從內(nèi)存中將一個32位的字讀取到目標寄存器。

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

          LDRT指令根據(jù)addr_mode>所確定的地址模式將一個32位字讀取到指令中的目標寄存器Rd>。如果指令中的尋址方式確定的地址不是字對齊的,則讀出的數(shù)值要進行循環(huán)右移。所移位數(shù)為尋址方式確定的地址bits[1∶0]的8倍。也就是說處理器將取到的數(shù)值作為字的最低位處理。

          圖5.9 LDRT指令編碼格式

          當處理器在特權(quán)模式下使用此指令時,內(nèi)存系統(tǒng)將該操作當作一般用戶模式下得內(nèi)存訪問指令。

          注意

          指令的編碼格式中,P位指定位“0”,也就是說LDRT指令的尋址方式為固定尋址方式,即后索引編碼尋址(post_indexed_addressing_mode)。

          (2)指令的語法格式

          LDR{cond>}T Rd>,post_indexed_addressing_mode>

          ① cond>

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

          ② Rd>

          確定使用哪個通用寄存器作為目標寄存器。

          ③ post_indexex_address_mode>

          使用后索引地址模式尋址。

          注意

          后索引地址模式中P=0并且W=0(即bit[21]=0、bit[24]=0)。但此指令P=0并且W=1(即bit[21]=1、bit[24]=0)。但實際的尋址操作是一樣的。

          (3)指令操作的偽代碼

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

          If ConditionPassed{cond} then

          If address[1:0]==0b00

          Rd=Memory[address,4]

          Else if address[1:0]==0b01

          Rd=Memory[address,4] Rotate_Right 8

          Else if address[1:0]==0b10

          Rd=Memory[address,4] Rotate_Right 16

          Else address[1:0]==0b11

          Rd=Memory[address,4] Rotate_Right 24

          2.STRT指令

          (1)指令編碼格式

          STRT指令用于將一個32位的字數(shù)據(jù)寫入到指令中指定的內(nèi)存單元。

          當處理器在特權(quán)模式下執(zhí)行此指令時,內(nèi)存系統(tǒng)將該操作當作一般用戶模式下的內(nèi)存訪問操作。

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

          圖5.10 STR指令編碼格式

          (2)指令的語法格式

          STR{cond>}T Rd>,post_indexed_addressing_mode>

          ① cond>

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

          ② Rd>

          確定使用哪個通用寄存器作為目標寄存器。

          ③ post_indexed_address_mode>

          使用后索引地址模式尋址,參見LDRT指令。

          (3)指令操作的偽代碼

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

          If ConditionPassed{cond} then

          Memory[address,4]=Rd

          存儲器相關(guān)文章:存儲器原理




          評論


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