ARM Processor Instruction Set - Lecture 6
ARM Processor Instruction Set - Lecture 6
EMBEDDED SYSTEMS
1
ARM PROCESSOR
INSTRUCTION SET
MOV Rd, N
Rd : destination register
N : can be an immediate value or source
register
Example: mov r7, r5
MVN Rd, N
Move into Rd not of the 32-bit value from
source
Scaled
Address is calculated using the base address
register and a barrel shift operation
Pre & Post Indexing
Pre-index with write back: LDR r0, [r1, #4]!
Updates the address base register with new
address
Post index: LDR r0, [r1], #4
Updates the address register after address
is used
Created by Mr. THOMAS KWANTWI 07/06/2025
Example
17
STMIA│IB│DA│DB
Full Ascending
LDMFA: translates to LDMA (POP)
STMFA: translates to STMIB (PUSH)
SP points to last item in stack
Empty Descending
LDMED: translates to LDMIB (POP)
STMED: translates to STMIA (PUSH)
SP points to first unused location
Branch Instructions
Conditional Branches
Conditional Execution
Branch and Link instructions
Subroutine Return Instructions
No specific instructions
Example (1):
sub ……
MOV PC, r14
Example (2): when return address has been
pushed to stack
sub2 …….
LDMFD r13!,{r0-r12,PC}
Thumb instruction
decoder is placed in
the same instruction
data path called the
instruction pipeline
path of the decoder.
Change in Thumb
mode happens by
changing the state of
multiplexers A1