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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM微處理器的指令集概述一——ARM應(yīng)用系統(tǒng)開發(fā)詳解筆記

          ARM微處理器的指令集概述一——ARM應(yīng)用系統(tǒng)開發(fā)詳解筆記

          作者: 時間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
          ARM微處理器指令集概述

          ARM指令集是加載/存儲型的,就是說指令集僅僅能處理寄存器中的數(shù)據(jù),而且處理結(jié)果都要放回寄存器中,而對系統(tǒng)存儲器的訪問則需要通過專門的加載/存儲指令來完成。

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

          ARM微處理器的指令集可以分為六大類

          跳轉(zhuǎn)指令、數(shù)據(jù)處理指令、程序狀態(tài)寄存器(PSR)處理指令、加載/存儲指令、協(xié)處理器指令和異常產(chǎn)生指令。

          一 指令的條件域

          當(dāng)處理器工作在ARM狀態(tài)時,幾乎所有的指令均根據(jù)CPSR中條件碼的狀態(tài)和指令的條件域有條件的執(zhí)行。當(dāng)指令的執(zhí)行條件滿足時,指令被執(zhí)行,否則指令被忽略。每一條ARM指令包含4位的條件碼,位于指令的最高4位[31:28]。條件碼共有16種,每種條件碼可用兩個字符表示,這兩個字符可以添加在指令助記符的后面和指令同時使用。
          例如,跳轉(zhuǎn)指令B可以加上后綴EQ變?yōu)锽EQ表示“相等則跳轉(zhuǎn)”,即當(dāng)CPSR中的Z標(biāo)志置位時發(fā)生跳轉(zhuǎn)。

          在16種條件標(biāo)志碼中,只有15種可以使用。

          二 ARM 指令的尋址方式

          立即尋址

          立即尋址也叫立即數(shù)尋址,這是一種特殊的尋址方式,操作數(shù)本身就在指令中給出,只要取出指令也就取到了操作數(shù)。

          寄存器尋址

          寄存器尋址就是利用寄存器中的數(shù)值作為操作數(shù)

          寄存器間接尋址

          寄存器間接尋址就是以寄存器中的值作為操作數(shù)的地址,而操作數(shù)本身存放在存儲器中。

          基址變址尋址

          基址變址尋址就是將寄存器(該寄存器一般稱作基址寄存器)的內(nèi)容與指令中給出的地址偏移量相加,從而得到一個操作數(shù)的有效地址。變址尋址方式常用于訪問某基地址附近的地址單元。例:

          LDR R0,[R1,#4] ;R0←[R1+4]
          LDR R0,[R1,#4]! ;R0←[R1+4]、R1←R1+4
          LDR R0,[R1] ,#4 ;R0←[R1]、R1←R1+4
          LDR R0,[R1,R2] ;R0←[R1+R2]

          多寄存器尋址

          采用多寄存器尋址方式,一條指令可以完成多個寄存器值的傳送。這種尋址方式可以用一條指令完成傳送最多 16 個通用寄存器的值。例

          LDMIA R0,{R1,R2,R3,R4}
          ;R1←[R0]
          ;R2←[R0+4]
          ;R3←[R0+8]
          ;R4←[R0+12]

          相對尋址

          與基址變址尋址方式相類似,相對尋址以程序計數(shù)器 PC 的當(dāng)前值為基地址,指令中的地址標(biāo)號作為偏移量,將兩者相加之后得到操作數(shù)的有效地址。
          BL NEXT ;跳轉(zhuǎn)到子程序 NEXT 處執(zhí)行

          堆棧尋址

          ARM 微處理器支持四種類型的堆棧工作方式,即:
          - 滿遞增堆棧:堆棧指針指向最后壓入的數(shù)據(jù),且由低地址向高地址生成。
          - 滿遞減堆棧:堆棧指針指向最后壓入的數(shù)據(jù),且由高地址向低地址生成。
          - 空遞增堆棧:堆棧指針指向下一個將要放入數(shù)據(jù)的空位置,且由低地址向高地址生成。
          - 空遞減堆棧:堆棧指針指向下一個將要放入數(shù)據(jù)的空位置,且由高地址向低地址生成。



          關(guān)鍵詞: ARM微處理器指令

          評論


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