9 new arm instruction set, 10 thumb instruction set overview – Rainbow Electronics AT91CAP9S250A User Manual

Page 57

Advertising
background image

57

6264A–CAP–21-May-07

AT91CAP9S500A/AT91CAP9S250A

12.3.9

New ARM Instruction Set

.

Notes:

1. A Thumb BLX contains two consecutive Thumb instructions, and takes four cycles.

12.3.10

Thumb Instruction Set Overview

The Thumb instruction set is a re-encoded subset of the ARM instruction set.

The Thumb instruction set is divided into:

• Branch instructions

• Data processing instructions

• Load and Store instructions

• Load and Store multiple instructions

• Exception-generating instruction

Table 5 shows the Thumb instruction set.

Table 12-4

gives the Thumb instruction mnemonic list.

Table 12-3.

New ARM Instruction Mnemonic List

Mnemonic

Operation

Mnemonic

Operation

BXJ

Branch and exchange to Java

MRRC

Move double from coprocessor

BLX

(1)

Branch, Link and exchange

MCR2

Alternative move of ARM reg to
coprocessor

SMLAxy

Signed Multiply Accumulate 16 *
16 bit

MCRR

Move double to coprocessor

SMLAL

Signed Multiply Accumulate
Long

CDP2

Alternative Coprocessor Data
Processing

SMLAWy

Signed Multiply Accumulate 32 *
16 bit

BKPT

Breakpoint

SMULxy

Signed Multiply 16 * 16 bit

PLD

Soft Preload, Memory prepare to
load from address

SMULWy

Signed Multiply 32 * 16 bit

STRD

Store Double

QADD

Saturated Add

STC2

Alternative Store from
Coprocessor

QDADD

Saturated Add with Double

LDRD

Load Double

QSUB

Saturated subtract

LDC2

Alternative Load to
Coprocessor

QDSUB

Saturated Subtract with double

CLZ

Count Leading Zeroes

Table 12-4.

Thumb Instruction Mnemonic List

Mnemonic

Operation

Mnemonic

Operation

MOV

Move

MVN

Move Not

ADD

Add

ADC

Add with Carry

SUB

Subtract

SBC

Subtract with Carry

CMP

Compare

CMN

Compare Negated

TST

Test

NEG

Negate

AND

Logical AND

BIC

Bit Clear

EOR

Logical Exclusive OR

ORR

Logical (inclusive) OR

Advertising