Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
FINIT
Влияние команды на флаги и форматы команды:
|
|
|
|
|
|
|
9B DB E3 |
FINIT |
Проверить на наличие отложенных незамаскированных исключений и инициализировать FPU |
8087 |
finit |
DB E3 |
FNINIT |
Инициализировать FPU |
8087 |
fninit |
Описание:
Команды инициализации устанавливают некоторые регистры FPU в их начальное состояние, незавимо от предыдущих значений.
Слово управления CW устанавливается в 037Fh (округлять к ближайшему, все особые ситуации замаскированы, точность 64 бита). Слово состояния SW очищается (флаги особых ситуаций сброшены, регистр стека R0 является вершиной стека). Все стековые регистры помечаются как пустые. Указатели команды и данных очищаются. Команды FINIT и FNINIT не оказывают влияния на SIMD-регистры.
Команда FINIT перед сбросом проверяет на наличие отложенных незамаскированных исключений, FNINIT этого не делает.
Операция:
CW = 037Fh; (* Управляющее слово *) (* Control word *)
SW = 0; (* Слово состояния *) (* Status word *)
TW = FFFFh; (* Слово тэгов *) (* Tag word *)
FEA = 0; FDS = 0; (* Указатель данных *) (* Data pointer *)
FIP = 0; FOP = 0; FCS = 0; (* Указатель команды *) (* Instruction pointer *)
Замечание:
В процессорах Intel486, … FINIT и FNINIT очищают указатели ошибок, в Intel387, Intel287 и 8087 этого не происходит.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru