Operations:

Format

Syntax:

Operation:

Operands:

Architecture revision

Opcode

1

ldmts Rp{++}, Reglist16

Loadaddress  =Rp;
for (i = 15 to 0)
      if Reglist16[i] == 1 then
            Ri USER  =*(Loadaddress++);
if Opcode[++] == 1 then
      Rp   = Loadaddress;
Reglist16 ∈ {R0, R1, R2, ..., R12, LR, SP} 
p ∈ {0, 1, …, 15}

Rev1+

111001

++

11100

Rp

Reglist16[15:1]

R15 R14 R13 R12 R11

R10

R9

R8

R7

R6

R5

R4

R3

R2

R1

Reglist16[0]

R0

6

1

5

4

15

1

Description

Loads the consecutive words pointed to by Rp into the registers specified in the instruction.The target registers reside in the User Register Context, regardless of which context the instruction is called from.

Status Flags:

Not affected.

Note:

This instruction is intended for performing task switches. Emtpy Reglist16 gives UNDEFINED result. PC in Reglist16 gives UNDEFINED result.