回首頁 上一頁 內部結構 接腳圖 指令集            

指令符號

指令功能描

數學運算(Arithmetic instruction)

ADC

納入進位旗標相加指令

ADD

加法指令

CMN

比較反號指令

CMP

比較指令

SUB

減法指令

SUC

納入進位旗標相減指令

MLA

32位元相乘並相加指令

MUL

32位元乘法指令

RSB

對調相減指令

RSC

納入進位旗標對調相減指令

邏輯運算(Logic instruction)

AND

AND運算指令

BIC

位元清零(bit clear)指令

EOR

Exclusive 或 運算指令

ORR

ORR運算指令

TEQ

相等測試指令

TST

位元測試指令

跳轉指令(Branch Instruction)

B

跳轉指令

BL

帶返回的跳轉指令

BLX

帶返回和狀態切換的跳轉指令

BX

帶狀態切換的跳轉指令

載入指令(Load Instruction)

LDM

載入多個寄存器指令

LDR

記憶體到暫存器的資料傳輸指令

搬移指令(Move instruction)

MOV

資料傳送(搬移)指令

MVN

資料取反搬移指令

MRS

傳送CPSRSPSR的數值到一般暫存器指令

MSR

傳送一般暫存器到CPSRSPSR的指令

輔助運算器(協同處理器) (Coprocessor instruction)

MCR

ARM暫存器的數值到輔助運算器(協同處理器)暫存器的資料傳輸指令

MRC

從輔助運算器(協同處理器)暫存器的數值到ARM暫存器的資料傳輸指令

LDC

從輔助運算器(協同處理器)暫存器的數值到記憶體的資料傳輸指令

STC

從記憶體內的數值到輔助運算器(協同處理器)暫存器的資料傳輸指令

CDP

輔助運算器資料操作指令

軟體中斷(Software Interrupt instruction)

SWI

觸發軟體中斷指令

SBC

帶借位減法指令

儲存指令(Storw instruction)

STM

多重記憶體寫入指令

STR

暫存器到記憶體的資料傳輸指令

其他指令(Others)

NOP

無指令

SWP

暫存器與記憶體數值交換指令

    

                     . ARM指令及功能描述                                   

cond

x x x

opcode

S

Rn

Rd

shifter_operand

 其中:

           cond                         指令執行的條件式編碼

           opcode                     指令操作符號

           S                               指定是否在運算執行時順便更新CPRS的旗標

           Rn                            包含第一個運算元的目標暫存器的編號

           Rd                            資料來源暫存器的編號

           shifter_operand        第二個資料來源運算元

                     表. 條件式定義、編碼與跳轉指令範例  

編碼[31:28]

條件描述

狀態旗標

運算含義

指令範例

0000

EQ

Z = 1

相等

BEQ

0001

NE

Z = 0

不等值

BNE

0010

CS/HS

C =1

大於等於

BCS

0011

CC/LO

C = 0

小於

BCC

0100

MI

N =1

負值

BMI

0101

PL

N =0

正數或零

BPL

0110

VS

V = 1

溢位

BVS

0111

VC

V = 0

無溢出

BVC

1000

HI

C = 1 and Z = 0

大於

BHI

1001

LS

C = 0 or Z v

小於等於

BLS

1010

GE

N =V

大於等於

BGE

1011

LT

N V

小於

BLT

1100

GT

Z = 0 and N = V

大於

BGT

1101

LE

Z = 1or N V

小於或等於

BLE

1110

AL

Any

預設值

BAL