12.01.2015 Views

Intel 64 and IA-32 Architectures Software Developer's Manual

Intel 64 and IA-32 Architectures Software Developer's Manual

Intel 64 and IA-32 Architectures Software Developer's Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Documentation Changes<br />

Table 14-16. <strong>IA</strong><strong>32</strong>_MCi_Status [15:0] Compound Error Code Encoding<br />

Type Form Interpretation<br />

Generic Memory<br />

Hierarchy<br />

000F 0000 0000 11LL<br />

Generic memory hierarchy error<br />

TLB Errors 000F 0000 0001 TTLL {TT}TLB{LL}_ERR<br />

Memory Hierarchy Errors 000F 0001 RRRR TTLL {TT}CACHE{LL}_{RRRR}_ERR<br />

Bus <strong>and</strong> Interconnect<br />

Errors<br />

000F 1PPT RRRR IILL<br />

BUS{LL}_{PP}_{RRRR}_{II}_{T}_ERR<br />

The “Interpretation” column in the table indicates the name of a compound error. The<br />

name is constructed by substituting mnemonics for the sub-field names given within<br />

curly braces. For example, the error code ICACHEL1_RD_ERR is constructed from the<br />

form:<br />

{TT}CACHE{LL}_{RRRR}_ERR,<br />

where {TT} is replaced by I, {LL} is replaced by L1, <strong>and</strong> {RRRR} is replaced by RD.<br />

For more information on the “Form” <strong>and</strong> “Interpretation” columns, see Section 14.7.2.1,<br />

“Correction Report Filtering (F) Bit” through Section 14.7.2.5, “Bus <strong>and</strong> Interconnect<br />

Errors”.<br />

.. ... ....Text omitted here... ... ....<br />

13. PUSHA/PUSHAD information updated<br />

In the Description subsection, “PUSHA/PUSHAD—Push All General-Purpose Registers”, in<br />

Chapter 4 of the <strong>Intel</strong> ® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong> <strong>Software</strong> Developer’s <strong>Manual</strong>,<br />

Volume 2B, the language has been updated to correct an error (EBP was listed twice in<br />

the earlier version). See the change bar <strong>and</strong> bold text.<br />

-------------------------------------------------------------------<br />

PUSHA/PUSHAD—Push All General-Purpose Registers<br />

Opcode Instruction <strong>64</strong>-Bit<br />

Mode<br />

Compat/<br />

Leg Mode<br />

Description<br />

60 PUSHA Invalid Valid Push AX, CX, DX, BX, original SP, BP, SI,<br />

<strong>and</strong> DI.<br />

60 PUSHAD Invalid Valid Push EAX, ECX, EDX, EBX, original ESP,<br />

EBP, ESI, <strong>and</strong> EDI.<br />

Description<br />

Pushes the contents of the general-purpose registers onto the stack. The registers are<br />

stored on the stack in the following order: EAX, ECX, EDX, EBX, ESP (original<br />

value), EBP, ESI, <strong>and</strong> EDI (if the current oper<strong>and</strong>-size attribute is <strong>32</strong>) <strong>and</strong> AX,<br />

CX, DX, BX, SP (original value), BP, SI, <strong>and</strong> DI (if the oper<strong>and</strong>-size attribute is<br />

16). These instructions perform the reverse operation of the POPA/POPAD instructions.<br />

The value pushed for the ESP or SP register is its value before prior to pushing the first<br />

register (see the “Operation” section below).<br />

The PUSHA (push all) <strong>and</strong> PUSHAD (push all double) mnemonics reference the same<br />

opcode. The PUSHA instruction is intended for use when the oper<strong>and</strong>-size attribute is 16<br />

<strong>and</strong> the PUSHAD instruction for when the oper<strong>and</strong>-size attribute is <strong>32</strong>. Some assemblers<br />

may force the oper<strong>and</strong> size to 16 when PUSHA is used <strong>and</strong> to <strong>32</strong> when PUSHAD is used.<br />

22 <strong>Intel</strong> ® <strong>64</strong> <strong>and</strong> <strong>IA</strong>-<strong>32</strong> <strong>Architectures</strong> <strong>Software</strong> Developer’s <strong>Manual</strong> Documentation Changes

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!