LRET
Operation
Pops a long return frame and atomically restores CS:PC.
Assembler Syntax
LRET
Privilege
Unprivileged
Long Return is a segment-changing control transfer that requires LPA.A to be zero, reads the long return frame from SS:SP, and commits CS and PC together. An active resident link raises INVALID_CONTROL_TRANSITION before stack access. The frame contains the continuation PC Q value at the current SP and the return CS Q value at SP+8; after both values are fetched, SP is advanced by 16 bytes and the control state is committed.
-
Read both 8-byte long-return-frame words through the old SS context without changing SP.
-
Validate the complete return CS image.
-
Validate the continuation PC offset against the return CS and probe executable translation at the resulting linear address.
-
Commit advanced SP, return CS, and continuation PC as one successful control-transfer operation.
Fault atomicity. SP, CS, and PC remain unchanged when a frame read or return-target validation faults.
The 16-byte long return frame is read through the old SS context: the continuation PC occupies offset 0 and the return CS image occupies offset 8. A frame translation or return-target translation failure raises the applicable ADDRESS_TRANSLATION family event; an invalid return CS image raises INVALID_CONTROL_IMAGE.
2.75in
Encodings
LRET
Format: Instruction format for LRET