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

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

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

24594 Rev. 3.10 February 2005 AMD64 TechnologyMnemonic Opcode DescriptionIDIV reg/mem32 F7 /7IDIV reg/mem64 F7 /7Perform signed division of EDX:EAX by the contents of a 32-bitregister or memory location <strong>and</strong> store the quotient in EAX <strong>and</strong>the remainder in EDX.Perform signed division of RDX:RAX by the contents of a 64-bitregister or memory location <strong>and</strong> store the quotient in RAX <strong>and</strong>the remainder in RDX.Related <strong>Instructions</strong>IMULrFLAGS AffectedID VIP VIF AC VM RF NT IOPL OF DF IF TF SF ZF AF PF CFExceptionsU U U U U U21 20 19 18 17 16 14 13–12 11 10 9 8 7 6 4 2 0Note: Bits 31–22, 15, 5, 3, <strong>and</strong> 1 are reserved. A flag set to 1 or cleared to 0 is M (modified). Unaffected flags are blank. Undefinedflags are U.ExceptionDivide by zero, #DERealXVirtual8086 Protected Cause of ExceptionXXThe divisor oper<strong>and</strong> was 0.X X X The quotient was too large for the designated register.Stack, #SS X X X A memory address exceeded the stack segment limit or was noncanonical.<strong>General</strong> protection,#GPX X XA memory address exceeded a data segment limit or was non-canonical.X A null data segment was used to reference memory.Page fault, #PF X X A page fault resulted from the execution of the instruction.Alignment check, #AC X X An unaligned memory reference was performed while alignmentchecking was enabled.IDIV 145

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

Saved successfully!

Ooh no, something went wrong!