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.

AMD64 Technology 24594 Rev. 3.10 February 2005Mnemonic Opcode DescriptionCALL FAR pntr16:169A cdCALL FAR pntr16:329A cpCALL FAR mem16:16 FF /3CALL FAR mem16:32 FF /3Far call direct, with the target specified by a far pointer containedin the instruction. (Invalid in 64-bit mode.)Far call direct, with the target specified by a far pointer containedin the instruction. (Invalid in 64-bit mode.)Far call indirect, with the target specified by a far pointer inmemory.Far call indirect, with the target specified by a far pointer inmemory.Action// See “Pseudocode Definitions” on page 49.CALLF_START:IF (REAL_MODE)CALLF_REAL_OR_VIRTUALELSIF (PROTECTED_MODE)CALLF_PROTECTEDELSE // (VIRTUAL_MODE)CALLF_REAL_OR_VIRTUALCALLF_REAL_OR_VIRTUAL:IF (OPCODE = callf [mem]) // CALLF Indirect{temp_RIP = READ_MEM.z [mem]temp_CS = READ_MEM.w [mem+Z]}ELSE // (OPCODE = callf direct){temp_RIP = z-sized offset specified in the instructionzero-extended to 64 bitstemp_CS = selector specified in the instruction}PUSH.v old_CSPUSH.v next_RIPIF (temp_RIP>CS.limit)EXCEPTION [#GP(0)]CS.sel = temp_CSCS.base = temp_CS SHL 4RIP = temp_RIPEXIT90 CALL (Far)

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

Saved successfully!

Ooh no, something went wrong!