Volume 3: General-Purpose and System Instructions - Stanford ...
Volume 3: General-Purpose and System Instructions - Stanford ... Volume 3: General-Purpose and System Instructions - Stanford ...
AMD64 Technology 24594 Rev. 3.10 February 2005ExceptionsVirtualException Real 8086 Protected Cause of ExceptionInvalid opcode, #UD X X X The far CALL indirect opcode (FF /3) had a register operand.Invalid TSS, #TS(selector)XXXXXXXThe far CALL direct opcode (9A) was executed in 64-bit mode.As part of a stack switch, the target stack segment selector or rSP inthe TSS was beyond the TSS limit.As part of a stack switch, the target stack segment selector in the TSSwas a null selector.As part of a stack switch, the target stack selector’s TI bit was set, butLDT selector was a null selector.As part of a stack switch, the target stack segment selector in the TSSwas beyond the limit of the GDT or LDT descriptor table.As part of a stack switch, the target stack segment selector in the TSScontained a RPL that was not equal to its DPL.As part of a stack switch, the target stack segment selector in the TSScontained a DPL that was not equal to the CPL of the code segmentselector.Segment not present,#NP (selector)XXAs part of a stack switch, the target stack segment selector in the TSSwas not a writable segment.The accessed code segment, call gate, task gate, or TSS was notpresent.Stack, #SS X X X A memory address exceeded the stack segment limit or was noncanonical,and no stack switch occurred.Stack, #SS(selector)XAfter a stack switch, a memory access exceeded the stack segmentlimit or was non-canonical.XAs part of a stack switch, the SS register was loaded with a non-nullsegment selector and the segment was marked not present.General protection,#GPXXXA memory address exceeded a data segment limit or was non-canonical.XXXThe target offset exceeded the code segment limit or was non-canonical.XA null data segment was used to reference memory.94 CALL (Far)
24594 Rev. 3.10 February 2005 AMD64 TechnologyExceptionGeneral protection,#GP(selector)RealVirtual8086 Protected Cause of ExceptionXXThe target code segment selector was a null selector.A code, call gate, task gate, or TSS descriptor exceeded the descriptortable limit.XXXXXXXXXA segment selector’s TI bit was set but the LDT selector was a nullselector.The segment descriptor specified by the instruction was not a codesegment, task gate, call gate or available TSS in legacy mode, or nota 64-bit code segment or a 64-bit call gate in long mode.The RPL of the non-conforming code segment selector specified bythe instruction was greater than the CPL, or its DPL was not equal tothe CPL.The DPL of the conforming code segment descriptor specified by theinstruction was greater than the CPL.The DPL of the callgate, taskgate, or TSS descriptor specified by theinstruction was less than the CPL, or less than its own RPL.The segment selector specified by the call gate or task gate was a nullselector.The segment descriptor specified by the call gate was not a code segmentin legacy mode, or not a 64-bit code segment in long mode.The DPL of the segment descriptor specified by the call gate wasgreater than the CPL.The 64-bit call gate’s extended attribute bits were not zero.X The TSS descriptor was found in the LDT.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.CALL (Far) 95
- Page 74 and 75: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 76 and 77: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 78 and 79: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 80 and 81: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 82 and 83: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 84 and 85: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 86 and 87: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 88 and 89: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 90 and 91: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 92 and 93: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 94 and 95: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 96 and 97: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 98 and 99: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 100 and 101: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 102 and 103: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 104 and 105: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 106 and 107: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 108 and 109: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 110 and 111: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 112 and 113: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 114 and 115: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 116 and 117: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 118 and 119: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 120 and 121: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 122 and 123: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 126 and 127: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 128 and 129: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 130 and 131: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 132 and 133: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 134 and 135: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 136 and 137: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 138 and 139: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 140 and 141: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 142 and 143: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 144 and 145: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 146 and 147: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 148 and 149: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 150 and 151: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 152 and 153: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 154 and 155: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 156 and 157: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 158 and 159: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 160 and 161: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 162 and 163: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 164 and 165: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 166 and 167: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 168 and 169: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 170 and 171: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 172 and 173: AMD64 Technology 24594 Rev. 3.10 Fe
AMD64 Technology 24594 Rev. 3.10 February 2005ExceptionsVirtualException Real 8086 Protected Cause of ExceptionInvalid opcode, #UD X X X The far CALL indirect opcode (FF /3) had a register oper<strong>and</strong>.Invalid TSS, #TS(selector)XXXXXXXThe far CALL direct opcode (9A) was executed in 64-bit mode.As part of a stack switch, the target stack segment selector or rSP inthe TSS was beyond the TSS limit.As part of a stack switch, the target stack segment selector in the TSSwas a null selector.As part of a stack switch, the target stack selector’s TI bit was set, butLDT selector was a null selector.As part of a stack switch, the target stack segment selector in the TSSwas beyond the limit of the GDT or LDT descriptor table.As part of a stack switch, the target stack segment selector in the TSScontained a RPL that was not equal to its DPL.As part of a stack switch, the target stack segment selector in the TSScontained a DPL that was not equal to the CPL of the code segmentselector.Segment not present,#NP (selector)XXAs part of a stack switch, the target stack segment selector in the TSSwas not a writable segment.The accessed code segment, call gate, task gate, or TSS was notpresent.Stack, #SS X X X A memory address exceeded the stack segment limit or was noncanonical,<strong>and</strong> no stack switch occurred.Stack, #SS(selector)XAfter a stack switch, a memory access exceeded the stack segmentlimit or was non-canonical.XAs part of a stack switch, the SS register was loaded with a non-nullsegment selector <strong>and</strong> the segment was marked not present.<strong>General</strong> protection,#GPXXXA memory address exceeded a data segment limit or was non-canonical.XXXThe target offset exceeded the code segment limit or was non-canonical.XA null data segment was used to reference memory.94 CALL (Far)