Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб2012 / 319433-011.pdf
Скачиваний:
27
Добавлен:
02.02.2015
Размер:
2.31 Mб
Скачать

APPLICATION PROGRAMMING MODEL

2.7.1Exceptions Type 1 (Aligned memory reference)

Table 2-10. Type 1 Class Exception Conditions

Exception

Real

Virtual80x86

Protectedand Compatibility

64-bit

Cause of Exception

 

 

 

 

 

 

 

 

 

 

Invalid Opcode,

X

X

 

 

VEX prefix

#UD

 

 

 

 

 

 

 

X

X

VEX prefix:

 

 

 

 

 

 

 

 

If XFEATURE_ENABLED_MASK[2:1] != ‘11b’.

 

 

 

 

 

If CR4.OSXSAVE[bit 18]=0.

 

 

 

 

 

 

 

X

X

X

X

Legacy SSE instruction:

 

 

 

 

 

If CR0.EM[bit 2] = 1.

 

 

 

 

 

If CR4.OSFXSR[bit 9] = 0.

 

 

 

 

 

 

 

X

X

X

X

If preceded by a LOCK prefix (F0H)

 

 

 

 

 

 

 

 

 

X

X

If any REX, F2, F3, or 66 prefixes precede a VEX

 

 

 

 

 

prefix

 

 

 

 

 

 

 

X

X

X

X

If any corresponding CPUID feature flag is ‘0’

 

 

 

 

 

 

Device Not Avail-

X

X

X

X

If CR0.TS[bit 3]=1

able, #NM

 

 

 

 

 

 

 

 

 

 

 

Stack, SS(0)

 

 

X

 

For an illegal address in the SS segment

 

 

 

 

 

 

 

 

 

 

X

If a memory address referencing the SS segment

 

 

 

 

 

is in a non-canonical form

 

 

 

 

 

 

General Protec-

 

 

X

X

VEX.256: Memory operand is not 32-byte

tion, #GP(0)

 

 

 

 

aligned

 

 

 

 

 

VEX.128: Memory operand is not 16-byte

 

 

 

 

 

aligned

 

 

 

 

 

 

 

X

X

X

X

Legacy SSE: Memory operand is not 16-byte

 

 

 

 

 

aligned

 

 

 

 

 

 

 

 

 

X

 

For an illegal memory operand effective address

 

 

 

 

 

in the CS, DS, ES, FS or GS segments.

 

 

 

 

 

 

 

 

 

 

X

If the memory address is in a non-canonical form.

 

 

 

 

 

 

 

X

X

 

 

If any part of the operand lies outside the effec-

 

 

 

 

 

tive address space from 0 to FFFFH

 

 

 

 

 

 

Page Fault

 

X

X

X

For a page fault

#PF(fault-code)

 

 

 

 

 

 

 

 

 

 

 

Ref. # 319433-011

2-21

APPLICATION PROGRAMMING MODEL

2.7.2Exceptions Type 2 (>=16 Byte Memory Reference, Unaligned)

Table 2-11. Type 2 Class Exception Conditions

Exception

Real

Virtual8086

Protectedand Compatibility

64-bit

Cause of Exception

 

 

 

 

 

 

 

 

 

 

Invalid Opcode,

X

X

 

 

VEX prefix

#UD

 

 

 

 

 

X

X

X

X

If an unmasked SIMD floating-point exception and

 

 

 

 

 

 

CR4.OSXMMEXCPT[bit 10] = 0.

 

 

 

 

 

 

 

 

 

X

X

VEX prefix:

 

 

 

 

 

If XFEATURE_ENABLED_MASK[2:1] != ‘11b’.

 

 

 

 

 

If CR4.OSXSAVE[bit 18]=0.

 

 

 

 

 

 

 

X

X

X

X

Legacy SSE instruction:

 

 

 

 

 

If CR0.EM[bit 2] = 1.

 

 

 

 

 

If CR4.OSFXSR[bit 9] = 0.

 

 

 

 

 

 

 

X

X

X

X

If preceded by a LOCK prefix (F0H)

 

 

 

 

 

 

 

 

 

X

X

If any REX, F2, F3, or 66 prefixes precede a VEX

 

 

 

 

 

prefix

 

 

 

 

 

 

 

X

X

X

X

If any corresponding CPUID feature flag is ‘0’

 

 

 

 

 

 

Device Not Avail-

X

X

X

X

If CR0.TS[bit 3]=1

able, #NM

 

 

 

 

 

 

 

 

 

 

 

Stack, SS(0)

 

 

X

 

For an illegal address in the SS segment

 

 

 

 

 

 

 

 

 

 

X

If a memory address referencing the SS segment is

 

 

 

 

 

in a non-canonical form

 

 

 

 

 

 

General Protec-

X

X

X

X

Legacy SSE: Memory operand is not 16-byte

tion, #GP(0)

 

 

 

 

aligned

 

 

 

 

 

 

 

 

 

X

 

For an illegal memory operand effective address in

 

 

 

 

 

the CS, DS, ES, FS or GS segments.

 

 

 

 

 

 

 

 

 

 

X

If the memory address is in a non-canonical form.

 

 

 

 

 

 

 

X

X

 

 

If any part of the operand lies outside the effective

 

 

 

 

 

address space from 0 to FFFFH

 

 

 

 

 

 

Page Fault

 

X

X

X

For a page fault

#PF(fault-code)

 

 

 

 

 

 

 

 

 

 

 

SIMD Floating-

X

X

X

X

If an unmasked SIMD floating-point exception and

Point Exception,

 

 

 

 

CR4.OSXMMEXCPT[bit 10] = 1

#XM

 

 

 

 

 

 

 

 

 

 

 

2-22

Ref. # 319433-011

APPLICATION PROGRAMMING MODEL

2.7.3Exceptions Type 3 (<16 Byte memory argument)

Table 2-12. Type 3 Class Exception Conditions

Exception

Real

Virtual80x86

Protectedand Compatibility

64-bit

Cause of Exception

 

 

 

 

 

 

 

 

 

 

Invalid Opcode, #UD

X

X

 

 

VEX prefix

 

 

 

 

 

 

 

X

X

X

X

If an unmasked SIMD floating-point exception

 

 

 

 

 

and CR4.OSXMMEXCPT[bit 10] = 0.

 

 

 

 

 

 

 

 

 

X

X

VEX prefix:

 

 

 

 

 

If XFEATURE_ENABLED_MASK[2:1] != ‘11b’.

 

 

 

 

 

If CR4.OSXSAVE[bit 18]=0.

 

 

 

 

 

 

 

X

X

X

X

Legacy SSE instruction:

 

 

 

 

 

If CR0.EM[bit 2] = 1.

 

 

 

 

 

If CR4.OSFXSR[bit 9] = 0.

 

 

 

 

 

 

 

X

X

X

X

If preceded by a LOCK prefix (F0H)

 

 

 

 

 

 

 

 

 

X

X

If any REX, F2, F3, or 66 prefixes precede a

 

 

 

 

 

VEX prefix

 

 

 

 

 

 

 

X

X

X

X

If any corresponding CPUID feature flag is ‘0’

 

 

 

 

 

 

Device Not Available,

X

X

X

X

If CR0.TS[bit 3]=1

#NM

 

 

 

 

 

 

 

 

 

 

 

Stack, SS(0)

 

 

X

 

For an illegal address in the SS segment

 

 

 

 

 

 

 

 

 

 

X

If a memory address referencing the SS seg-

 

 

 

 

 

ment is in a non-canonical form

 

 

 

 

 

 

General Protection,

 

 

X

 

For an illegal memory operand effective

#GP(0)

 

 

 

 

address in the CS, DS, ES, FS or GS segments.

 

 

 

 

 

 

 

 

 

 

X

If the memory address is in a non-canonical

 

 

 

 

 

form.

 

 

 

 

 

 

 

X

X

 

 

If any part of the operand lies outside the

 

 

 

 

 

effective address space from 0 to FFFFH

 

 

 

 

 

 

Page Fault

 

X

X

X

For a page fault

#PF(fault-code)

 

 

 

 

 

 

 

 

 

 

 

Alignment Check

 

X

X

X

If alignment checking is enabled and an

#AC(0)

 

 

 

 

unaligned memory reference is made while

 

 

 

 

 

the current privilege level is 3.

 

 

 

 

 

 

SIMD Floating-Point

X

X

X

X

If an unmasked SIMD floating-point exception

Exception, #XM

 

 

 

 

and CR4.OSXMMEXCPT[bit 10] = 1

 

 

 

 

 

 

Ref. # 319433-011

2-23

APPLICATION PROGRAMMING MODEL

2.7.4Exceptions Type 4 (>=16 Byte mem arg no alignment, no floating-point exceptions)

Table 2-13. Type 4 Class Exception Conditions

Exception

Real

Virtual80x86

Protectedand Compatibility

64-bit

Cause of Exception

 

 

 

 

 

 

 

 

 

 

Invalid Opcode, #UD

X

X

 

 

VEX prefix

 

 

 

 

 

 

 

 

 

X

X

VEX prefix:

 

 

 

 

 

If XFEATURE_ENABLED_MASK[2:1] != ‘11b’.

 

 

 

 

 

If CR4.OSXSAVE[bit 18]=0.

 

 

 

 

 

 

 

X

X

X

X

Legacy SSE instruction:

 

 

 

 

 

If CR0.EM[bit 2] = 1.

 

 

 

 

 

If CR4.OSFXSR[bit 9] = 0.

 

 

 

 

 

 

 

X

X

X

X

If preceded by a LOCK prefix (F0H)

 

 

 

 

 

 

 

 

 

X

X

If any REX, F2, F3, or 66 prefixes precede a

 

 

 

 

 

VEX prefix

 

 

 

 

 

 

 

X

X

X

X

If any corresponding CPUID feature flag is ‘0’

 

 

 

 

 

 

Device Not Available,

X

X

X

X

If CR0.TS[bit 3]=1

#NM

 

 

 

 

 

 

 

 

 

 

 

Stack, SS(0)

 

 

X

 

For an illegal address in the SS segment

 

 

 

 

 

 

 

 

 

 

X

If a memory address referencing the SS seg-

 

 

 

 

 

ment is in a non-canonical form

 

 

 

 

 

 

General Protection,

X

X

X

X

Legacy SSE: Memory operand is not 16-byte

#GP(0)

 

 

 

 

aligned

 

 

 

 

 

 

 

 

 

X

 

For an illegal memory operand effective

 

 

 

 

 

address in the CS, DS, ES, FS or GS segments.

 

 

 

 

 

 

 

 

 

 

X

If the memory address is in a non-canonical

 

 

 

 

 

form.

 

 

 

 

 

 

 

X

X

 

 

If any part of the operand lies outside the

 

 

 

 

 

effective address space from 0 to FFFFH

 

 

 

 

 

 

Page Fault

 

X

X

X

For a page fault

#PF(fault-code)

 

 

 

 

 

 

 

 

 

 

 

2-24

Ref. # 319433-011

Соседние файлы в папке Лаб2012