Praca magisterska



Pobieranie 68,85 Kb.
Data28.01.2018
Rozmiar68,85 Kb.

Symulator procesora Pentium 4

Opisy wybranych instrukcji SSE2


Paweł Suski

CVTSS2SD – Konwersja liczby zmiennoprzecinkowej pojedyńczej precyzji na liczbę zmiennoprzecinkową podwójnej precyzji


Kod

Instrukcja

Opis

F3 0F 5A /r

CVTSS2SD xmm1, xmm2/m32

Konwertuje liczbę zmiennoprzecinkową pojedyńczej precyzji zawartą w xmm2/m32 na liczbę zmiennoprzecinkową podwójnej precyzji i zwraca rezultat konwersji w xmm1.



Opis

Konwertuje liczbę zmiennoprzecinkową pojedyńczej precyzji zawartą w argumencie źródłowym na liczbę zmiennoprzecinkową podwójnej precyzji, która będzie zawarta w argumencie docelowym. Argument źródłowy może być rejestrem XMM lub wskaźnikiem na 32-bitową komórkę pamięci. Argument docelowy jest rejestrem XMM. Gdy argument źródłowy jest rejestrem XMM, liczba zmiennoprzecinkowa pojedyńczej precyzji poddawana konwersji jest zawarta w dolnym, podwójnym słowie rejestru. Rezultat jest zachowywany w dolnym, poczwórnym słowie argumentu docelowego, a górne, poczwórne słowo nie jest zmieniane.



Działanie

DEST[63-0]  ConvertSinglePrecisionToDoublePrecisionFloatingPoint(SRC[31-0])

DEST[127-64] pozostaje bez zmian;

Wyjątki zmiennoprzecinkowe SIMD

#I Gdy wystąpi nieprawidłowa operacja

#D Gdy wynik jest wartością zdenormalizowaną.

Wyjątki trybu chronionego

#GP(0) Gdy adres efektywny argumentu w pamięci jest poza granicami segmentu CS, DS, ES, FS lub GS.

#SS(0) Gdy adres w segmencie SS jest nieprawidłowy.

#PF(kod) Gdy wystąpi błąd strony.

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.

#AC(0) Gdy włączone jest sprawdzanie wyrównania i wystąpiło odwołanie do argumentu w pamięci pod niewyrównanym adresem podczas gdy aktualnym poziomem uprzywilejowania jest poziom 3.
Wyjątki trybu rzeczywistego
Przerwanie 13 Gdy jakakolwiek część argumentu leży poza efektywną przestrzenią adresową od 0 do FFFFH.

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.
Wyjątki trybu wirtualnego
Te same wyjątki co w trybie rzeczywistym.
#PF(kod) Gdy wystąpi błąd strony.

#AC(0) Gdy włączone jest sprawdzanie wyrównania i wystąpiło odwołanie do argumentu w pamięci pod niewyrównanym adresem.


CVTPD2DQ – Konwersja spakowanych liczb zmiennoprzecinkowych podwójnej precyzji do spakowanych liczb całkowitych 32-bitowych


Kod

Instrukcja

Opis

F2 0F E6

CVTPD2DQ xmm1, xmm2/m128

Konwertuje dwie spakowane liczby zmiennoprzecinkowe podwójnej precyzji zawarte w xmm2/m128 na dwie spakowane liczby całkowite 32-bitowe ze znakiem i zwraca rezultat konwersji w xmm1.



Opis



Konwertuje dwie spakowane liczby zmiennoprzecinkowe podwójnej precyzji zawarte w argumencie źródłowym na dwie spakowane liczby całkowite 32-bitowe ze znakiem, które będą zawarte w argumencie docelowym. Argument źródłowy może być rejestrem XMM lub wskaźnikiem na 128-bitową komórkę pamięci. Argument docelowy jest rejestrem XMM. Rezultat jest zachowywany w dolnym, poczwórnym słowie argumentu docelowego, a górne, poczwórne słowo jest zerowane.
Gdy konwersja nie może być dokładna, zwracana wartość jest zaokrąglana według bitów kontrolujących zaokrąglanie w rejestrze MXCSR. Jeżeli konwertowana wartość jest większa niż maksymalna liczba całkowita 32-bitowa ze znakiem, zwracana jest nieokreślona wartość całkowita (80000000H).
Działanie
DEST[31-0]  ConvertDoublePrecisionFloatingPointToInteger(SRC[63-0]);

DEST[63-32]  ConvertDoublePrecisionFloatingPointToInteger(SRC[127-64]);

DEST[127-64]  0000000000000000H;

Wyjątki zmiennoprzecinkowe SIMD

#I Gdy wystąpi nieprawidłowa operacja

#P Gdy wynik nie jest dokładnie reprezentowany w formacie argumentu docelowego.

Wyjątki trybu chronionego

#GP(0) Gdy adres efektywny argumentu w pamięci jest poza granicami segmentu CS, DS, ES, FS lub GS.

Gdy argument w pamięci nie jest wyrównany do 16-bajtowej granicy bez względu na segment

#SS(0) Gdy adres w segmencie SS jest nieprawidłowy.

#PF(kod) Gdy wystąpi błąd strony.

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.
Wyjątki trybu rzeczywistego
#GP(0) Gdy argument w pamięci nie jest wyrównany do 16-bajtowej granicy bez względu na segment

Przerwanie 13 Gdy jakakolwiek część argumentu leży poza efektywną przestrzenią adresową od 0 do FFFFH.

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.


Wyjątki trybu wirtualnego
Te same wyjątki co w trybie rzeczywistym.
#PF(kod) Gdy wystąpi błąd strony.
CVTTPD2DQ – Konwersja z ucięciem spakowanych liczb zmiennoprzecinkowych podwójnej precyzji do spakowanych liczb całkowitych 32-bitowych


Kod

Instrukcja

Opis

66 0F E6

CVTTPD2DQ xmm1, xmm2/m128

Konwertuje dwie spakowane liczby zmiennoprzecinkowe podwójnej precyzji zawarte w xmm2/m128 na dwie spakowane liczby całkowite 32-bitowe ze znakiem i zwraca rezultat konwersji w xmm1. Konwersja odbywa poprzez ucięcie części po przecinku



Opis



Konwertuje dwie spakowane liczby zmiennoprzecinkowe podwójnej precyzji zawarte w argumencie źródłowym na dwie spakowane liczby całkowite 32-bitowe ze znakiem, które będą zawarte w argumencie docelowym. Argument źródłowy może być rejestrem XMM lub wskaźnikiem na 128-bitową komórkę pamięci. Argument docelowy jest rejestrem XMM. Rezultat jest zachowywany w dolnym, poczwórnym słowie argumentu docelowego, a górne, poczwórne słowo jest zerowane.
Gdy konwersja nie może być dokładna, część po przecinku jest ucinana (zakrąglana w kierunku zera). Jeżeli konwertowana wartość jest większa niż maksymalna liczba całkowita 32-bitowa ze znakiem, zwracana jest nieokreślona wartość całkowita (80000000H).
Działanie
DEST[31-0]  ConvertDoublePrecisionFloatingPointToIntegerTruncate(SRC[63-0]);

DEST[63-32]  ConvertDoublePrecisionFloatingPointToIntegerTruncate (SRC[127-64]);

DEST[127-64]  0000000000000000H;

Wyjątki zmiennoprzecinkowe SIMD

#I Gdy wystąpi nieprawidłowa operacja

#P Gdy wynik nie jest dokładnie reprezentowany w formacie argumentu docelowego.

Wyjątki trybu chronionego

#GP(0) Gdy adres efektywny argumentu w pamięci jest poza granicami segmentu CS, DS, ES, FS lub GS.

Gdy argument w pamięci nie jest wyrównany do 16-bajtowej granicy bez względu na segment

#SS(0) Gdy adres w segmencie SS jest nieprawidłowy.

#PF(kod) Gdy wystąpi błąd strony.

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.
Wyjątki trybu rzeczywistego
#GP(0) Gdy argument w pamięci nie jest wyrównany do 16-bajtowej granicy bez względu na segment

Przerwanie 13 Gdy jakakolwiek część argumentu leży poza efektywną przestrzenią adresową od 0 do FFFFH.

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.


Wyjątki trybu wirtualnego
Te same wyjątki co w trybie rzeczywistym.
#PF(kod) Gdy wystąpi błąd strony.
CVTDQ2PD – Konwersja spakowanych liczb całkowitych 32-bitowych do spakowanych liczb zmiennoprzecinkowych podwójnej precyzji


Kod

Instrukcja

Opis

F3 0F E6

CVTDQ2PD xmm1, xmm2/m64

Konwertuje dwie spakowane liczby całkowite 32-bitowe ze znakiem zawarte w xmm2/m64 na dwie spakowane liczby zmiennoprzecinkowe podwójnej precyzji i zwraca rezultat konwersji w xmm1.

Opis



Konwertuje dwie spakowane liczby całkowite 32-bitowe ze znakiem zawarte w argumencie źródłowym na dwie spakowane liczby zmiennoprzecinkowe podwójnej precyzji, które będą zawarte w argumencie docelowym. Argument źródłowy może być rejestrem XMM lub wskaźnikiem na 64-bitową komórkę pamięci. Argument docelowy jest rejestrem XMM. Gdy argument źródłowy jest rejestrem XMM, liczba spakowane liczby całkowite zawarte są w dolnym, poczwórnym słowie rejestru.

Działanie

DEST[63-0]  ConvertIntegerToDoublePrecisionFloatingPoint(SRC[31-0]);

DEST[127-64]  ConvertIntegerToDoublePrecisionFloatingPoint(SRC[63-32]);

Wyjątki zmiennoprzecinkowe SIMD

Brak


Wyjątki trybu chronionego

#GP(0) Gdy adres efektywny argumentu w pamięci jest poza granicami segmentu CS, DS, ES, FS lub GS.

#SS(0) Gdy adres w segmencie SS jest nieprawidłowy.

#PF(kod) Gdy wystąpi błąd strony.

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.

#AC(0) Gdy włączone jest sprawdzanie wyrównania i wystąpiło odwołanie do argumentu w pamięci pod niewyrównanym adresem podczas gdy aktualnym poziomem uprzywilejowania jest poziom 3.
Wyjątki trybu rzeczywistego
Przerwanie 13 Gdy jakakolwiek część argumentu leży poza efektywną przestrzenią adresową od 0 do FFFFH.

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.
Wyjątki trybu wirtualnego
Te same wyjątki co w trybie rzeczywistym.
#PF(kod) Gdy wystąpi błąd strony.

#AC(0) Gdy włączone jest sprawdzanie wyrównania i wystąpiło odwołanie do argumentu w pamięci pod niewyrównanym adresem.


CVTPS2DQ – Konwersja spakowanych liczb zmiennoprzecinkowych pojedyńczej precyzji do spakowanych liczb całkowitych 32-bitowych


Kod

Instrukcja

Opis

66 0F 5B /r

CVTPS2DQ xmm1, xmm2/m128

Konwertuje cztery spakowane liczby zmienno- przecinkowe pojedyńczej precyzji zawarte w xmm2/m128 na cztery spakowane liczby całkowite 32-bitowe ze znakiem i zwraca rezultat konwersji w xmm1.



Opis



Konwertuje cztery spakowane liczby zmiennoprzecinkowe pojedyńczej precyzji zawarte w argumencie źródłowym na cztery spakowane liczby całkowite 32-bitowe ze znakiem, które będą zawarte w argumencie docelowym. Argument źródłowy może być rejestrem XMM lub wskaźnikiem na 128-bitową komórkę pamięci. Argument docelowy jest rejestrem XMM.
Gdy konwersja nie może być dokładna, zwracana wartość jest zaokrąglana według bitów kontrolujących zaokrąglanie w rejestrze MXCSR. Jeżeli konwertowana wartość jest większa niż maksymalna liczba całkowita 32-bitowa ze znakiem, zwracana jest nieokreślona wartość całkowita (80000000H).
Działanie
DEST[31-0]  ConvertSinglePrecisionFloatingPointToInteger(SRC[31-0]);

DEST[63-32]  ConvertSinglePrecisionFloatingPointToInteger(SRC[63-32]);

DEST[95-64]  ConvertSinglePrecisionFloatingPointToInteger(SRC[95-64]);

DEST[127-96]  ConvertSinglePrecisionFloatingPointToInteger(SRC[127-96]);



Wyjątki zmiennoprzecinkowe SIMD

#I Gdy wystąpi nieprawidłowa operacja

#P Gdy wynik nie jest dokładnie reprezentowany w formacie argumentu docelowego.

Wyjątki trybu chronionego

#GP(0) Gdy adres efektywny argumentu w pamięci jest poza granicami segmentu CS, DS, ES, FS lub GS.

Gdy argument w pamięci nie jest wyrównany do 16-bajtowej granicy bez względu na segment

#SS(0) Gdy adres w segmencie SS jest nieprawidłowy.

#PF(kod) Gdy wystąpi błąd strony.

#MF Gdy wykryto oczekujący wyjątek koprocesora x87

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.


Wyjątki trybu rzeczywistego
#GP(0) Gdy argument w pamięci nie jest wyrównany do 16-bajtowej granicy bez względu na segment

Przerwanie 13 Gdy jakakolwiek część argumentu leży poza efektywną przestrzenią adresową od 0 do FFFFH.

#NM Gdy ustawiony jest znacznik TS w CR0.

#MF Gdy wykryto oczekujący wyjątek koprocesora x87

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.
Wyjątki trybu wirtualnego
Te same wyjątki co w trybie rzeczywistym.
#PF(kod) Gdy wystąpi błąd strony.
CVTTPS2DQ – Konwersja z ucięciem spakowanych liczb zmiennoprzecinkowych pojedyńczej precyzji do spakowanych liczb całkowitych 32-bitowych


Kod

Instrukcja

Opis

F3 0F 5B /r

CVTTPS2DQ xmm1, xmm2/m128

Konwertuje cztery spakowane liczby zmienno- przecinkowe pojedyńczej precyzji zawarte w xmm2/m128 na cztery spakowane liczby całkowite 32-bitowe ze znakiem i zwraca rezultat konwersji w xmm1. Konwersja odbywa poprzez ucięcie części po przecinku



Opis



Konwertuje cztery spakowane liczby zmiennoprzecinkowe pojedyńczej precyzji zawarte w argumencie źródłowym na cztery spakowane liczby całkowite 32-bitowe ze znakiem, które będą zawarte w argumencie docelowym. Argument źródłowy może być rejestrem XMM lub wskaźnikiem na 128-bitową komórkę pamięci. Argument docelowy jest rejestrem XMM.
Gdy konwersja nie może być dokładna, część po przecinku jest ucinana (zakrąglana w kierunku zera). Jeżeli konwertowana wartość jest większa niż maksymalna liczba całkowita 32-bitowa ze znakiem, zwracana jest nieokreślona wartość całkowita (80000000H).
Działanie
DEST[31-0] ConvertSinglePrecisionFloatingPointToIntegerTruncate(SRC[31-0]);

DEST[63-32]  ConvertSinglePrecisionFloatingPointToIntegerTruncate(SRC[63-32]);

DEST[95-64]  ConvertSinglePrecisionFloatingPointToIntegerTruncate(SRC[95-64]);

DEST[127-96] ConvertSinglePrecisionFloatingPointToIntegerTruncate(SRC[127-96]);



Wyjątki zmiennoprzecinkowe SIMD

#I Gdy wystąpi nieprawidłowa operacja

#P Gdy wynik nie jest dokładnie reprezentowany w formacie argumentu docelowego.

Wyjątki trybu chronionego

#GP(0) Gdy adres efektywny argumentu w pamięci jest poza granicami segmentu CS, DS, ES, FS lub GS.

Gdy argument w pamięci nie jest wyrównany do 16-bajtowej granicy bez względu na segment

#SS(0) Gdy adres w segmencie SS jest nieprawidłowy.

#PF(kod) Gdy wystąpi błąd strony.

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.
Wyjątki trybu rzeczywistego
#GP(0) Gdy argument w pamięci nie jest wyrównany do 16-bajtowej granicy bez względu na segment

Przerwanie 13 Gdy jakakolwiek część argumentu leży poza efektywną przestrzenią adresową od 0 do FFFFH.

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.


Wyjątki trybu wirtualnego
Te same wyjątki co w trybie rzeczywistym.
#PF(kod) Gdy wystąpi błąd strony.
CVTDQ2PS – Konwersja spakowanych liczb całkowitych 32-bitowych do spakowanych liczb zmiennoprzecinkowych pojedyńczej precyzji


Kod

Instrukcja

Opis

0F 5B /r

CVTDQ2PS xmm1, xmm2/m128

Konwertuje cztery spakowane liczby całkowite 32-bitowe ze znakiem zawarte w xmm2/m128 na cztery spakowane liczby zmiennoprzecinkowe pojedyńczej precyzji i zwraca rezultat konwersji w xmm1.

Opis



Konwertuje cztery spakowane liczby całkowite 32-bitowe ze znakiem zawarte w argumencie źródłowym na cztery spakowane liczby zmiennoprzecinkowe pojedyńczej precyzji, które będą zawarte w argumencie docelowym. Argument źródłowy może być rejestrem XMM lub wskaźnikiem na 128-bitową komórkę pamięci. Argument docelowy jest rejestrem XMM. Gdy konwersja nie może być dokładna, zwracana wartość jest zaokrąglana według bitów kontrolujących zaokrąglanie w rejestrze MXCSR.

Działanie

DEST[31-0]  ConvertIntegerToSinglePrecisionFloatingPoint(SRC[31-0]);

DEST[63-32]  ConvertIntegerToSinglePrecisionFloatingPoint(SRC[63-32]);

DEST[95-64]  ConvertIntegerToSinglePrecisionFloatingPoint(SRC[95-64]);

DEST[127-96]  ConvertIntegerToSinglePrecisionFloatingPoint(SRC[127-96]);

Wyjątki zmiennoprzecinkowe SIMD

#P Gdy wynik nie jest dokładnie reprezentowany w formacie argumentu docelowego.



Wyjątki trybu chronionego

#GP(0) Gdy adres efektywny argumentu w pamięci jest poza granicami segmentu CS, DS, ES, FS lub GS.

Gdy argument w pamięci nie jest wyrównany do 16-bajtowej granicy bez względu na segment

#SS(0) Gdy adres w segmencie SS jest nieprawidłowy.

#PF(kod) Gdy wystąpi błąd strony.

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.
Wyjątki trybu rzeczywistego
#GP(0) Gdy argument w pamięci nie jest wyrównany do 16-bajtowej granicy bez względu na segment

Przerwanie 13 Gdy jakakolwiek część argumentu leży poza efektywną przestrzenią adresową od 0 do FFFFH.

#NM Gdy ustawiony jest znacznik TS w CR0.

#XM Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest jedynką.

#UD Jeżeli wystąpił niezamaskowany wyjątek zmiennoprzecinkowy SIMD i OSXMMEXCPT w CR4 jest zerem.

Gdy ustawiony jest znacznik EM w CR0.

Gdy OSFXSR w CR4 jest zerem.

Gdy flaga charakterystyczna SSE2 w CPUID jest zerem.


Wyjątki trybu wirtualnego
Te same wyjątki co w trybie rzeczywistym.
#PF(kod) Gdy wystąpi błąd strony.







©operacji.org 2019
wyślij wiadomość

    Strona główna