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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM匯編指令學習之開篇

          ARM匯編指令學習之開篇

          作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
          指令集學習

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

          (一)ARM

          指令集

          1.指令格式

          2.條件碼

          3.ARM

          存儲器訪問指令

          1)LDR/ STR

          -加載/存儲指令

          2)LDM/ STM

          -多寄存器加載/存儲指令

          3)SWP

          -寄存器和存儲器交換指令

          4.ARM

          數(shù)據(jù)處理指令

          1)數(shù)據(jù)傳送指令

          a)MOV

          -數(shù)據(jù)傳送指令

          b)MVN

          -數(shù)據(jù)非傳送指令

          2)算術(shù)邏輯運算指令

          a)ADD

          -加法運算指令

          b)SUB

          -減法運算指令

          c)RSB-

          逆向減法指令

          d)ADC

          -帶進位加法指令

          e)SBC

          -帶進位減法指令

          f)RSC

          -帶進位逆向減法指令

          g)AND

          -邏輯“與”

          h)ORR

          -邏輯“或”

          i)EOR

          -邏輯“異或

          j)BIC

          -位清除指令

          3)比較指令

          a)CMP

          -比較指令

          b)CMN

          -負數(shù)比較指令

          c)TST

          -位測試指令

          d)TEQ

          -相等測試指令

          4)乘法指令

          a)MUL

          -32位乘法指令

          b)MLA

          -32位乘加指令

          c)UMULL

          -64位無符號乘法指令

          d)UMLAL

          -64位無符號乘加指令

          e)SMULL

          -64位有符號乘法指令

          f)SMLAL

          -64位有符號乘加指令

          5.ARM

          分支指令

          1)B

          -分支指令

          2)BL

          -帶連接的分支指令

          3)BX

          -帶狀態(tài)切換的分支指令

          6.ARM

          協(xié)處理器指令

          1)CDP

          -協(xié)處理器數(shù)據(jù)操作指令

          2)LDC

          -協(xié)處理器數(shù)據(jù)讀取指令

          3)STC

          -協(xié)處理器數(shù)據(jù)寫入指令

          4)MCR

          -ARM處理器到協(xié)處理器的數(shù)據(jù)傳送指令

          5)MRC

          -協(xié)處理器到ARM處理器的數(shù)據(jù)傳送指令

          7.ARM

          雜項指令

          1)SWI

          -軟中斷指令

          2)MRS

          -讀狀態(tài)寄存器指令

          3)MSR

          -寫狀態(tài)寄存器指令

          8.ARM

          偽指令

          1)ADR

          -小范圍的地址讀取偽指令

          2)ADRL

          -中等范圍的地址讀取偽指令

          3)LDR

          -大范圍的地址讀取偽指令

          4)NOP

          -空操作偽指令

          (二)Thumb

          指令集

          1.Thumb

          指令集和ARM指令集的區(qū)別

          2.Thumb

          存儲器訪問指令

          1)LDR/ STR

          -加載/存儲指令

          2)PUSH/ POP

          -寄存器入棧/出棧指令

          3)LDMIA/ STMIA

          -多寄存器加載/存儲指令

          3.Thumb

          數(shù)據(jù)處理指令

          1)數(shù)據(jù)傳送指令

          a)MOV

          -數(shù)據(jù)傳送指令

          b)MVN

          -數(shù)據(jù)非傳送指令

          c)NEG

          -數(shù)據(jù)取負指令

          2)算術(shù)邏輯運算指令

          a)ADD

          -加法運算指令

          b)SUB

          -減法運算指令

          c)ADC

          -帶進位加法指令

          d)SBC

          -帶進位減法指令

          e)MUL

          -乘法運算指令

          f)AND

          -邏輯“與”

          g)ORR

          -邏輯“或”

          h)EOR

          -邏輯“異或”

          i)BIC

          -位清除指令

          j)ASR

          -算術(shù)右移指令

          k)LSL

          -邏輯左移指令

          l)LSR

          -邏輯右移指令

          m)ROR

          -循環(huán)右移指令

          3)比較指令

          a)CMP

          -比較指令

          b)CMN

          -負數(shù)比較指令

          c)TST

          -位測試指令

          4.Thumb

          分支指令

          1)B

          -分支指令

          2)BL

          -帶連接的分支指令

          3)BX

          -帶狀態(tài)切換的分支指令

          5.Thumb

          雜項指令

          1)SWI

          -軟中斷指令

          6.Thumb

          偽指令

          1)ADR

          -小范圍的地址讀取偽指令

          2)LDR

          -大范圍的地址讀取偽指令

          3)NOP-空操作偽指令



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