Operations:

Format

Syntax:

Operation:

Operands:

Architecture revision

Opcode

1

stmts {--}Rp, Reglist16

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

Rev1+

111011

--

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

Stores the registers specified to the consecutive memory locations pointed to by Rp. The regis- ters specified all reside in the application context.

Status Flags:

Q:

Not affected.

V:

Not affected.

N:

Not affected.

Z:

Not affected.

C:

Not affected.

Note:

Emtpy Reglist16 gives UNDEFINED result. PC in Reglist16 gives UNDEFINED result.