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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 數(shù)據(jù)傳送指令之:?jiǎn)渭拇嫫鞯腖oad/Store指令

          數(shù)據(jù)傳送指令之:?jiǎn)渭拇嫫鞯腖oad/Store指令

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

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

          5.3.2 字節(jié)(LDRB/STRB)

          1.LDRB指令

          (1)指令編碼格式

          LDRB指令根據(jù)addr_mode>所確定的地址模式將一個(gè)8位字節(jié)讀取到指令中的目標(biāo)寄存器Rd>。

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

          圖5.5 LDRB指令編碼格式

          注意

          LDRB指令加載一個(gè)內(nèi)存地址的8位字節(jié)到一個(gè)通用寄存器中。寄存器的高位數(shù)據(jù)補(bǔ)0。

          (2)指令的語法格式

          LDR{cond>}B Rd>,addr_mode>

          ① cond>

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

          ② Rd>

          確定使用哪個(gè)通用寄存器作為目標(biāo)寄存器。

          ③ addr_mode>

          它確定了指令編碼中的I、P、U、W、Rn和addr_mode>位。所有的尋址模式中,都會(huì)確定一個(gè)基址寄存器Rn。

          (3)指令操作的偽代碼

          if ConditionPassed{cond} then

          Rd = Memory[address,1]

          注意

          當(dāng)PC作為位基地址出現(xiàn)在指令中時(shí),指令中將會(huì)使用PC相關(guān)地址,使用這種方法可以編寫自己的位置無關(guān)(position-independ)指令。

          2.STRB指令

          (1)指令編碼格式

          STRB指令從寄存器中取出指定的8位字節(jié)放入寄存器的低8位,并將寄存器的高位補(bǔ)0。

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

          圖5.6 STRB指令編碼格式

          (2)指令的語法格式

          STR{cond>}B Rd>,addr_mode>

          ① cond>

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

          ② Rd>

          確定使用哪個(gè)通用寄存器作為目標(biāo)寄存器。

          注意

          當(dāng)PC作為目標(biāo)寄存器Rd>出現(xiàn)在指令中時(shí),指令的執(zhí)行結(jié)果不可預(yù)知。

          ③ addr_mode>

          它確定了指令編碼中的I、P、U、W、Rn和addr_mode>位。所有的尋址模式中,都會(huì)確定一個(gè)基址寄存器Rn。

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




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