{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

PUSHAexample - TABLE 6—7 The PUSH instructions 5—2...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
Background image of page 1
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: TABLE 6—7 The PUSH instructions 5—2 PUSH/POP FIGURE 6—12 The opera- tion of the PUSHA instruction, showing the location and order of stack data. SP after PUSHA 183 <— 16 bits —> The second byte is removed from stack segment memory location SP + 1, and placed into register BH. After both bytes are removed from the stack, the SP register increments by 2. Figure 6—13 shows how the POP BX instruction removes data from the stack and places them into register BX. The opcodes used for the POP instruction and all its variations, appear in Table 6—8. Like Table 6—7, this table also lists many example instructions. Note that POP CS is not a valid instruction. If a POP CS instruction executes, only a portion of the address (CS) of the next instruction changes. This makes the POP CS instruction unpredictable and there— fore not allowed. Symbolic PUSH reg16 PUSH regSZ PUSH mem16 PUSH mem32 PUSH seg PUSH imm8 PUSHW imm16 PUSHD imm32 PUSHA PUSHAD PUSHF PUSHFD Example Note PUSHBX PUSHEAX PUSH[BX] PUSH[EAX] PUSHDS PUSH12H PUSHW 1000H PUSHD20 PUSHA PUSHAD PUSHF PUSHFD 16-bit register 32-bit register 16—bit addressing mode 32-bit addressing mode Any segment register 8-bit immediate data 16-bit immediate data 32-bit immediate data Save 16-bit registers Save 32-bit registers Save 16-bit flag register Save 32-bit flag register Note: registers, and immediate data. The 80386/80486/Pentium is required to operate with 32-bit addresses, ...
View Full Document

{[ snackBarMessage ]}