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
PUSHFD Example Note PUSHBX
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
- Spring '11