BASIC INSTRUCTION SET

HIGH ADDRESS

SS LIMIT

SP

SS

LOW ADDRESS h

BEFOREAFTER

PUSHAPUSHA

PUSHA copies Ihe conlenls of Ihe elghl general reglslers 10 Ihe slack In Ihe above order. The Inslrucllon decremenls SP by 16 bytes (8 words) 10 polnllo Ihe l.sl word pushed on Ihe slack.

G30108

Figure 3-2. PUSHA

POP (Pop) transfers the word at the current top of stack (indicated by SP) to the destination operand, and then increments SP by two to point to the new top of stack. See figure 3-3. POP moves information from the stack to either a register or memory. The only restriction on POP is that it cannot place a value in register CS.

Example: POP BX. Replaces the contents of register BX with the contents of the memory location at the top of stack.

paPA (Pop All Registers) restores the registers saved on the stack by PUSHA, except that it ignores the value of SP. See figure 3-4.

Example: papA. Pops from the stack the saved contents of the general registers, and restores the registers (except SP) to their original state.

3-3

Page 59
Image 59
Intel 80286, 80287 manual Basic Instruction SET