5 ldmia and stmia – ARM VERSION 1.2 User Manual

Page 207

Advertising
background image

Thumb Instruction Reference

ARM DUI 0068B

Copyright © 2000, 2001 ARM Limited. All rights reserved.

5-13

5.1.5

LDMIA and STMIA

Load and store multiple registers.

Syntax

op Rn!, {reglist}

where:

op

is either:

LDMIA

Load multiple, increment after

STMIA

Store multiple, increment after.

Rn

is the register containing the base address.

Rn

must be in the range

r0

-

r7

.

reglist

is a comma-separated list of low registers or low-register ranges.

Note

The braces in the syntax description are part of the instruction format.
They do not indicate that the register list is optional.

There must be at least one register in the list.

Usage

Registers are loaded stored and in numerical order, with the lowest numbered register
at the address initially in

Rn

.

The value in

Rn

is incremented by 4 times the number of registers in

reglist

.

If

Rn

is in

reglist

:

for an

LDMIA

instruction, the final value of

Rn

is the value loaded, not the

incremented address

for an

STMIA

instruction, the value stored for

Rn

is:

the initial value of

Rn

if

Rn

is the lowest-numbered register in

reglist

unpredictable otherwise.

Architectures

These instructions are available in all T variants of the ARM architecture.

Advertising