色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Android的ARM匯編語(yǔ)言系列之五:ARM指令集與Thumb指令集

          基于Android的ARM匯編語(yǔ)言系列之五:ARM指令集與Thumb指令集

          作者: 時(shí)間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
          章節(jié)列表

          之一:ARM匯編語(yǔ)言開篇
          之二:C/C++程序生成ARM匯編程序的過程分析
          之三:ARM匯編語(yǔ)言程序結(jié)構(gòu)
          之四:ARM處理器的尋址方式
          之五:ARM指令集Thumb指令集
          之六:NEON指令集與VFP指令集

          本文引用地址:http://cafeforensic.com/article/201611/317690.htm

          寫在前面:本篇文章旨在大致介紹下ARM指令集的相關(guān)內(nèi)容,這里也同時(shí)提供一個(gè)有詳細(xì)解釋和用例的待書簽的PDF版本,方便大家查閱。

          ARM指令集詳解

          指令集是處理器的核心,ARM指令的基本格式如下所示:

          opcode {cond}{S}{.W.N}Rd, Rn{.operand2}
          • S:指定是否影響CPSR寄存器的值,如ADDS,SUBS等。
          • .W.N:指令寬度說明符。
          • Rd:目的寄存器。
          • Rn:第一個(gè)操作數(shù)寄存器。
          • operand2:第二個(gè)操作數(shù),第二個(gè)操作數(shù)可以是立即數(shù)、寄存器或寄存器位操作,
          • cond:執(zhí)行條件,它的取值如下圖所示:

          一 跳轉(zhuǎn)指令

          1.1 B

          跳轉(zhuǎn)指令。

          1.2 BL

          帶鏈接的跳轉(zhuǎn)指令。

          1.3 BX

          帶狀態(tài)切換的跳轉(zhuǎn)指令。

          二 存儲(chǔ)器訪問指令

          2.1 LDR

          從存儲(chǔ)器中加載數(shù)據(jù)到寄存器。

          2.2 STR

          存儲(chǔ)數(shù)據(jù)到指定的存儲(chǔ)單元。

          2.3 LDM

          從指定的存儲(chǔ)單元加載多個(gè)數(shù)據(jù)到一個(gè)寄存器列表。

          2.4 STM

          將一個(gè)寄存器列表的數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)到指定的存儲(chǔ)單元。

          2.5 PUSH

          將寄存器推入滿遞減堆棧。

          2.6 POP

          從遞減堆棧中彈出數(shù)據(jù)到寄存器。

          2.7 SWP

          用于寄存器和存儲(chǔ)器之間的數(shù)據(jù)交換。

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

          3.1 MOV

          將8位立即數(shù)或寄存器里的內(nèi)容送到目標(biāo)寄存器中。

          3.2 MVN

          將8位立即數(shù)或寄存器里的內(nèi)容按位取反后送到目標(biāo)寄存器中。

          3.3 ADD

          加法指令。

          3.4 ADC

          帶進(jìn)位的加法指令。

          3.5 SUB

          減法指令。

          3.6 RSB

          逆向減法指令。

          3.7 SBC

          帶進(jìn)位的減法指令。

          3.8 RSC

          帶進(jìn)位的逆向減法指令。

          3.9 MUL

          乘法指令。

          3.10 MLS

          3.11 MLA

          3.12 UMULL

          3.13 UMLAL

          3.14 SMULL

          3.15 SMLAL

          3.16 SMLAD

          3.17 SMLSD

          3.18 SDIV

          有符號(hào)數(shù)除法指令。

          3.19 UDIV

          無(wú)符號(hào)數(shù)除法指令。

          3.20 ASR

          算術(shù)右移指令。

          3.21 AND

          邏輯與指令。

          3.22 ORR

          邏輯或指令。

          3.23 EOR

          異或指令。

          3.24 BIC

          位清除指令。

          3.25 LSL

          邏輯左移指令。

          3.26 LSR

          邏輯右移指令。

          3.27 ROR

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

          3.28 RRX

          帶擴(kuò)展的循環(huán)右移指令。

          3.29 CMP

          3.30 CMN

          3.31 TST

          位測(cè)試指令。

          3.32 TEQ

          四 其他指令

          4.1 SWI

          軟中斷指令。

          4.2 NOP

          空操作指令。

          4.3 MRS

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

          4.4 MSR

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



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉