The Definitive Guide to the ARM Cortex-M3

Appendix A: Cortex-M3 Instructions Summary

This material is reproduced from the Cortex-M3 Technical Reference Manual with permission from ARM Limited. Instructions marked with a plus sign (+) indicate that the flag (APSR) gets updated.

Supported 16-Bit Thumb Instructions

Table A.1: Supported 16-bit Instructions

Assembler

Operation

ADC   , <sup+</sup>

Add register value and C flag to register value:

Rd = Rd + Rm + C

ADD   , , #<sup+</sup>

Add immediate 3-bit value to register:

Rd = Rn + immed_3

ADD   , #<sup+</sup>

Add immediate 8-bit value to register:

Rd = Rd + immed_8

ADD   , , +

Add low register value to low register value:

Rd = Rn + Rm

ADD   , 

Add high register value to low or high register value

ADD   , PC, #*4

Add 4 (immediate 8-bit value) + (word aligned PC value) to register:

Rd = PC + 4*immed_8

ADD   , SP, #*4

Add 4 (immediate 8-bit value) + (word aligned SP value) to register:

Rd = SP + 4* immed_8

ADD   SP, #*4

Add 4 (immediate 7-bit value) to SP:

SP = SP + 4* immed_7

AND   , +

Bitwise AND register:

Rd = Rd AND Rm

ASR   , , #<sup+</sup>

Arithmetic shift right by immediate number:

Rd = Rm >> immed_5

ASR   , <sup+</sup>

Arithmetic shift right by number in register:

Rd = Rm >> Rs

B 

Branch conditional:

if  then  PC = (PC+4)+(SignExtend(target_address_8)*2)

B   

Branch unconditional:

PC = (PC+4) + (SignExtend (target_address_11) *2)

BIC   , < Rm>+

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Shift Registers
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.