5.44. Pop Multiple Registers off the Stack


Addr
Mode  Mnemonic          Format/Opcode
                           8      4      4
                        ----------------------
S     POPM  RA,RB       |  8F  |  RA  |  RB  |
                        ----------------------

Description. For RA < RB, registers RA through RB are loaded sequentially from a stack in memory using R15 as the stack pointer. For RA >= RB, registers RA through R14 and then R0 through RB are loaded sequentially from the stack.

In both cases,

Register Transfer Description.

if RA <= RB then
for i = 0 thru RB - RA do
begin
    if RA + i /= 15 then (RA + i) <-- [(R15)];
    (R15) <-- (R15) + 1;
end;
else
begin
for i = 0 thru 15 - RA do
    begin
        if RA + i /= 15 then (RA + i) <-- [(R15)];
        (R15) <-- (R15) + 1;
    end;
for i = 0 thru RB do
    begin
        (i) <-- [(R15)];
        (R15) <-- (R15) + 1;
    end;
end;

Registers Affected. RA through R14, R0 through RB, R15