Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
FNSTSW
Влияние команды на флаги и форматы команды:
|
|
|
|
|
|
|
9B DD /7 |
FSTSW m2byte |
Проверить на наличие отложенных незамаскированных исключений и сохранить значение регистра SW в m2byte |
8087 |
fstsw wwS |
9B DF E0 |
FSTSW AX |
Проверить на наличие отложенных незамаскированных исключений и сохранить значение регистра SW в AX |
8087 |
fstsw ax |
DD /7 |
FNSTSW m2byte |
Сохранить значение регистра SW в m2byte |
8087 |
fnstsw [ebp] |
DF E0 |
FNSTSW AX |
Сохранить значение регистра SW в AX |
8087 |
fnstsw ax |
Описание:
Команды FSTSW и FNSTSW записывают текущее значение слова состояния FPU (SW) в память или в регистр AX. Команда FSTSW, в отличие от FNSTSW, проверяет на наличие отложенных необработанных исключений.
FSTSW и FNSTSW используются в первую очередь при условном ветвлении (после команд сравнения, FPREM, FPREM1 или FXAM). Они также могут быть использованы при активизации обработчиков исключений в среде не использующей прерывания (при упорядоченном опросе битов исключений).
При выполнении команды FNSTSW AX, регистр AX обновляется прежде, чем процессор приступает к выполнению следующей команды. Гарантируется, что сохранение состояния происходит после полного исполнения предыдущей ESC команды.
Операция:
DEST = SW;
Особые ситуации защищенного режима:
#GP(0), если операнд-назначение находится в сегменте, запрещенном для записи, если используется некорректный эффективный адрес операнда в памяти в сегментах CS, DS, ES, FS, GS или нулевой селектор.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#NM, если CR0.EM = 1 или CR0.TS = 1.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память при текущем уровне привилегий равном 3.
Особые ситуации режима реальной адресации:
#GP, если любая часть операнда находится вне пространства эффективных адресов в сегментах CS, DS, ES, FS или GS.
#SS, если любая часть операнда находится вне пространства эффективных адресов в сегменте SS.
#NM, если CR0.EM = 1 или CR0.TS = 1.
Особые ситуации режима V86:
Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru