13.07.2015 Views

Volume 3: General-Purpose and System Instructions - Stanford ...

Volume 3: General-Purpose and System Instructions - Stanford ...

Volume 3: General-Purpose and System Instructions - Stanford ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

24594 Rev. 3.10 February 2005 AMD64 TechnologyThere are two significant ranges for the ModRM byte for x87opcodes: 00–BFh <strong>and</strong> C0–FFh. When the value of the ModRMbyte falls within the first range, 00–BFh, the opcode uses onlythe reg field to further define the opcode. When the value of theModRM byte falls within the second range, C0–FFh, the opcodeuses the entire ModRM byte to further define the opcode.Byte values shown as reserved or invalid in Table A-10 haveimplementation-specific functions, which can include aninvalid-opcode exception.The basic instructions FNSTENV, FNSTCW, FNCLEX, FNINIT,FNSAVE, FNSTSW, <strong>and</strong> FNSTSW do not check for possiblefloating point exceptions before operating. Utility versions ofthese mnemonics are provided that insert an FWAIT (opcode9B) before the corresponding non-waiting instruction. These areFSTENV, FSTCW, FCLEX, FINIT, FSAVE, <strong>and</strong> FSTSW. Forfurther information on wait <strong>and</strong> non-waiting versions of theseinstructions, see their corresponding pages in <strong>Volume</strong> 5.Appendix A: Opcode <strong>and</strong> Oper<strong>and</strong> Encodings 393

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

Saved successfully!

Ooh no, something went wrong!