Skip to content

POPP

Operation

Pops one canonical Rn register pair selected by an inline pair index.

Assembler Syntax

POPP PAIRn(i)

Privilege

Unprivileged

Repeat eligibility

REP eligible

Pops the canonical register pair selected by the pair ID. The canonical pair sequence is pair 0 (R0, R1), pair 1 (R2, R3), pair 2 (R4, R5), pair 3 (R6, R7), pair 4 (R8, R9), pair 5 (R10, R11), pair 6 (R12, R13), and pair 7 (R14, R15). All eight pair IDs are valid and each selects one pair.

POPP selects one canonical pair using the unsigned 3-bit pair index and reads the complete two-slot stack range through the old SS:SP context before either destination register or SP is changed. For a listed pair (first, second), the second register is read from old SP and the first register is read from old SP plus 8. Both destination registers and the SP update to old SP plus 16 commit together. A preceding fault changes neither destination register nor SP.

Multiple POPP instructions can be used in reverse canonical epilogue order to restore multiple pairs.

2.75in

Encodings

POPP PAIRn(i)

Format: Instruction format for POPP PAIRn(i)

Format: Instruction format for POPP PAIRn(i)