![]() ![]() |
![]() |
![]() Intel and compatable CPU's Programming Information ![]() |
|
Intel SSE MMX2 KNI documentation AMD 64 Bit & Opteron resource on this site Intel Itanium 64 Bit processor Intel 80386 Reference Programmer's Manual Our Partners: |
![]() |
prev: POPF/POPFD Pop Stack into FLAGS or EFLAGS Register next: PUSHA/PUSHAD Push all General Registers
PUSH -- Push Operand onto the StackOpcode Instruction Clocks Description FF /6 PUSH m16 5 Push memory word FF /6 PUSH m32 5 Push memory dword 50 + /r PUSH r16 2 Push register word 50 + /r PUSH r32 2 Push register dword 6A PUSH imm8 2 Push immediate byte 68 PUSH imm16 2 Push immediate word 68 PUSH imm32 2 Push immediate dword 0E PUSH CS 2 Push CS 16 PUSH SS 2 Push SS 1E PUSH DS 2 Push DS 06 PUSH ES 2 Push ES 0F A0 PUSH FS 2 Push FS OF A8 PUSH GS 2 Push GS OperationIF StackAddrSize = 16 THEN IF OperandSize = 16 THEN SP := SP - 2; (SS:SP) := (SOURCE); (* word assignment *) ELSE SP := SP - 4; (SS:SP) := (SOURCE); (* dword assignment *) FI; ELSE (* StackAddrSize = 32 *) IF OperandSize = 16 THEN ESP := ESP - 2; (SS:ESP) := (SOURCE); (* word assignment *) ELSE ESP := ESP - 4; (SS:ESP) := (SOURCE); (* dword assignment *) FI; FI; DescriptionPUSH decrements the stack pointer by 2 if the operand-size attribute of the instruction is 16 bits; otherwise, it decrements the stack pointer by 4. PUSH then places the operand on the new top of stack, which is pointed to by the stack pointer.The 80386 PUSH eSP instruction pushes the value of eSP as it existed before the instruction. This differs from the 8086, where PUSH SP pushes the new value (decremented by 2). Flags AffectedNoneProtected Mode Exceptions#SS(0) if the new value of SP or ESP is outside the stack segment limit; #GP(0) for an illegal memory operand effective address in the CS, DS, ES, FS, or GS segments; #SS(0) for an illegal address in the SS segment; #PF(fault-code) for a page faultReal Address Mode ExceptionsNone; if SP or ESP is 1, the 80386 shuts down due to a lack of stack spaceVirtual 8086 Mode ExceptionsSame exceptions as in real-address mode; #PF(fault-code) for a page fault
up:
Chapter 17 -- 80386 Instruction Set |