December 11 2017 07:50:36
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
КОМАНДЫ УПРАВЛЕНИЯ FPU
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ

В эту группу включены системные команды, определяющие режим функционирования FPU (табл. 2.38). Отметим, что многие системные команды: FINIT/FNINIT, FSTSW/FNSTSW, FSTCW/FNSTCW, FCLEX/FNCLEX, FSTENV/FNSTENV, FSAVE/FNSAVE - имеют две модификации: с обычным для команд FPU префиксом F или префиксом FN.

Таблица 2.38 Команды управления FPU

Синтаксис команды Операция
FINIT
037Fh ® FPGR, 0 ® FPSR, FFFFh ® TW,


0 ® FIP, 0 ® FDP, проверка исключений FPU
FNINIT
037Fh ® FPCR, 0 ® FPSR, FFFFh ® TW,


0 ® FIR 0 ® FDP, без проверки исключений FPU
FSTSW АХ FPSR ® AX, проверка исключений FPU

m2 byte FPSR ® m2byte, проверка исключений FPU
FNSTW АХ FPSR ® AX, без проверки исключений FPU

m2byte FPSR ® m2byte, без проверки исключений FPU
FLDCW m2byte m2byte ® FPCR
FSTCW m2byte FPSR ® m2byte, проверка исключений FPU
FNSTCW m2byte FPCR ® m2byte, без проверки исключений FPU
FCLEX
0 ® PE,VE,OE,ZE,DE,IE,ES,SF,B, проверка исключений FPU
FNCLEX
0 ® PE,VE,OE,ZE,DE,IE,ES,SF,B, без проверки исключений FPU
FSTENV m14/28byte FPCR, FPSR,TW, FIR FDP ® m14/28byte, проверка исключений FPU
FNSTENV m14/28byte FPCR,FPSR,TW,FIRFDP ® m14/28byte,6e3 проверки исключений FPU
FDENV m14/28byte m14/28/byte ® FDP,FIP,TW,FPSR,FPCR
FSAVE m94/108byte FPCR,FPSR,TW,FIRFDRST(0)-ST(7) ® m94/108byte, проверка исключений FPU
FNSAVE m94/108byte FPCR,FPSR,TW,FIRFDP,ST(0)-ST(7) ® m94/108byte,6e3 проверки исключений FPU
FRSTOR m94/108byte m94/108byte ® ST(7)-ST(0),FDRFIP,TW,FPSR,FPCR
FINCSTP
TOP+1 ® TOP
FDECSTR
TOP-1 ® TOP
FFREI ST(i) 11B ® tag i
FNOP
Отсутствие операции
WATT/FWATT Проверка и обслуживание исключений FPU

При выборке команды с префиксом F проверяются значения признаков в регистре FPSR и реализуется обработка соответствующих исключений FPU, если в этом регистре установлены единичные значения признаков, не маскируемые содержимым регистра FPCR. После обработки исключений выполняется поступившая команда. Если команда имеет префикс FN, то она выполняется без проверки и обработки исключений.

Команды инициализации FINIT/FNINT устанавливают регистры FPU в начальное состояние. При этом для всех арифметических регистров FPU значения тегов в регистре TW принимают значение tag = 11 (регистры пустые); все биты регистра FPSR принимают нулевые значения. В регистре управления FPCR устанавливаются значения полей RC = 00 (округление к ближайшему), PC = 11 (расширенная точность, формат РТ), биты маски РМ, UM, ОМ, ZM, DM, IM = 1 (прерывания замаскированы), бит 12 принимает значение «0», остальные биты принимают произвольное значение (не определены). Аналогичное состояние регистров FPU устанавливается при поступлении внешнего сигнала сброса RESET.

Команды FSTSW/ FNSTSW осуществляют запись содержимого регистра FPSR в регистр АХ или 16-разрядную ячейку памяти m2byte, адресованную в команде процессора. Если после команд FSTSW АХ или FNSTSW AX выполнить команду FSAHF, то биты условий С0, С2, СЗ регистра FPSR замещают определенные флаги в регистре EFLAGS: С0 оказывается на месте CF, C2 - на месте PF, СЗ - на месте ZF. Используя затем команды условных переходов, можно управлять ходом выполнения программы в зависимости от значений битов условий FPU, поступивших в регистр EFLAGS.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.04 секунд 2,294,966 уникальных посетителей