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

PROGRAMMING WITH INTEL MMX TECHNOLOGY

9.6.7Exception Handling in MMX Code

MMX instructions generate the same type of memory-access exceptions as other IA-32 instructions (page fault, segment not present, and limit violations). Existing exception handlers do not have to be modified to handle these types of exceptions for MMX code.

Unless there is a pending floating-point exception, MMX instructions do not generate numeric exceptions. Therefore, there is no need to modify existing exception handlers or add new ones to handle numeric exceptions.

If a floating-point exception is pending, the subsequent MMX instruction generates a numeric error exception (interrupt 16 and/or assertion of the FERR# pin). The MMX instruction resumes execution upon return from the exception handler.

9.6.8Register Mapping

MMX registers and their tags are mapped to physical locations of the floating-point registers and their tags. Register aliasing and mapping is described in more detail in Chapter 11, MMX Technology System Programming Model, in the IA-32 Intel Architecture Software Developer’s Manual, Volume 3.

9.6.9Effect of Instruction Prefixes on MMX Instructions

Table 9-3 describes the effect of instruction prefixes on MMX instructions. Unpredictable behavior can range from being treated as a reserved operation on one generation of IA-32 processors to generating an invalid opcode exception on another generation of processors.

Table 9-3. Effect of Prefixes on MMX Instructions

Prefix Type

Effect on MMX Instructions

 

 

Address Size Prefix (67H)

Affects instructions with a memory operand.

 

 

 

Reserved for instructions without a memory operand and may

 

result in unpredictable behavior.

 

 

Operand Size (66H)

Reserved and may result in unpredictable behavior.

 

 

Segment Override (2EH, 36H, 3EH,

Affects instructions with a memory operand.

26H, 64H, 65H)

 

Reserved for instructions without a memory operand and may

 

 

result in unpredictable behavior.

 

 

Repeat Prefix (F3H)

Reserved and may result in unpredictable behavior.

 

 

Repeat NE Prefix(F2H)

Reserved and may result in unpredictable behavior.

 

 

Lock Prefix (F0H)

Reserved; generates invalid opcode exception (#UD).

 

 

Branch Hint Prefixes (2EH and 3EH)

Reserved and may result in unpredictable behavior.

 

 

See the section titled “Instruction Prefixes” in Chapter 2 of the IA-32 Intel Architecture Software Developer’s Manual, Volume 2A for a description of the instruction prefixes.

9-14 Vol. 1

10

Programming With

Streaming SIMD

Extensions (SSE)

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