[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
PUSH             Push Word onto Stack                Flags: not altered

PUSH source

          Logic:    SP . SP - 2
                    (SP) . source

    PUSH decrements SP by 2, then copies the operand to the new top of
    stack. The source of a PUSH instruction cannot be an 8-bit register.

  --------------------------------------------------------------------------
   Operands                  Clocks   Transfers  Bytes   Example
   register                    15         1        1     PUSH BX
   seg-reg (CS illegal)        14         1        1     PUSH ES
   memory                   24 + EA       2       2-4    PUSH PARAMETERS
  --------------------------------------------------------------------------

       Notes:         Even if the source refers to a byte in memory, a
                      full word is always pushed.

                      The 80286 and 80386 microprocessors will push a
                      different value on the stack for the instruction
                      PUSH SP than will the 8086/8088.  The 80286 and
                      80386 push the value of SP before SP is incremented,
                      while the 8086/8088 increments SP first, then pushes
                      SP on the stack.  Use the following code instead of
                      a PUSH SP in order to obtain the same results on all
                      microprocessors.

                                  PUSH    BP
                                  MOV     BP, SP
                                  XCHG    BP, [BP]

                      This code functions in the same manner as a PUSH SP
                      on the 8088/8086.

See Also: POP POPF PUSHF MOV XCHG EA
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson