ia-32_instruction-set-ref_a-m

Operand represents the address of the byte in memory

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: itBase, BitOffset) 1; Flags Affected The CF flag contains the value of the selected bit before it is set. The OF, SF, ZF, AF, and PF flags are undefined. Protected Mode Exceptions #GP(0) If the destination operand points to a non-writable segment. If a memory operand effective address is outside the CS, DS, ES, FS, or GS segment limit. If the DS, ES, FS, or GS register contains a NULL segment selector. #SS(0) #PF(fault-code) #AC(0) If a memory operand effective address is outside the SS segment limit. If a page fault occurs. If alignment checking is enabled and an unaligned memory reference is made while the current privilege level is 3. Real-Address Mode Exceptions #GP #SS If a memory operand effective address is outside the CS, DS, ES, FS, or GS segment limit. If a memory operand effective address is outside the SS segment limit. Virtual-8086 Mode Exceptions #GP #SS #PF(fault-code) #AC(0) If a memory operand effective address is outside the CS, DS, ES, FS, or GS segment limit. If a memory operand effective address is outside the SS segment limit. If a page fault occurs. If alignment checking is enabled and an unaligned memory reference is made. Compatibility Mode Exceptions Same exceptions as in Protected Mode. 3-84 Vol. 2 INSTRUCTION SET REFERENCE, A-M 64-Bit Mode Exceptions #SS(0) #GP(0) #PF(fault-code) #AC(0) If a memory address referencing the SS segment is in a noncanonical form. If the memory address is in a non-canonical form. If a page fault occurs. If alignment checking is enabled and an unaligned memory reference is made while the current privilege level is 3. Vol. 2 3-85 INSTRUCTION SET REFERENCE, A-M CALL--Call Procedure Opcode E8 cw E8 cd Instruction CALL rel16 CALL rel32 64-Bit Mode N.S. Valid Compat/ Leg Mode Valid Valid Description Call near, relative, displacement relative to next instruction. Call near, relative, displacement relative to next instruction. 32-bit displacement sign extended to 64bits in 64-bit mode. Call near, absolute indirect, address given in r/m16. Call near, absolute indirect, address given in r/m32. Call near, absolute indirect, address given in r/m64. Call far, absolute, address given in operand. Call far, absolute, address given in operand. Call far, absolute indirect address given in m16:16. In 32-bit mode: if selector points to a gate, then RIP = 32-bit zero extended displacement taken from gate; else RIP = zero extended 16-bit offset from far pointer referenced in the instruction. In 64-bit mode: If selector points to a gate, then RIP = 64-bit displacement taken from gate; else RIP = zero extended 32-bit offset from far pointer referenced in the instruction. In 64-bit mode: If selector points to a gate, then RIP = 64-bit displacement taken from gate; else RIP = 64-bit offset from far pointer referenced in the instruction. FF /2 FF /2 FF /2 9A cd 9A cp FF /3 CALL r/m16 CALL r/m32 CALL r/m64 CALL ptr16:16 CALL ptr16:32 CALL m16:16 N.E. N.E. Valid Invalid Invalid Valid Valid Valid N.E. Valid Valid Valid FF...
View Full Document

Ask a homework question - tutors are online