THE 80286 INSTRUCTION SET

LEAVE-HighLevel Procedure Exit

OpcodeInstruction ClocksDescription

C9

LEAVE

5

Set SP to BP, then POP 8P

FLAGS MODIFIED

None

FLAGS UNDEFINED

None

OPERATION

LEAVE is the complementary operation to ENTER; it reverses the effects of that instruction. By copying BP to SP, LEAVE releases the stack space used by a procedure for its dynamics and display. The old frame pointer is now popped into BP, restoring the caller's frame, and a subsequent RET nn instruction will follow the back-link and remove any arguments pushed on the stack for the exiting procedure.

PROTECTED MODE EXCEPTIONS

#S~(O) if BP does not point to a location within the current stack segment.

REAL ADDRESS MODE EXCEPTIONS

Interrupt 13 for a word operand at offset OFFFFH.

8-64

Page 274
Image 274
Intel 80287, 80286 manual LEAVE-HighLevel Procedure Exit, Leave