Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 75

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 69 70 71 72 73 74 < 75 > 76 77 78 79 80 81 .. 528 >> Следующая

регистре ST(1)].
Команда F2XM1 вычисляет значение функции 2 х - 1, где х-содержимое
регистра ST(0). Результат операции размещается в том же регистре
ЭТ(0).При этом величина х должна находиться в диапазоне - 1 ... +1, иначе
результатом операции будет неопределенность (см. табл. 2.26).
При вычислении логарифмических функций y*log 2 х, у*1од 2 (х+1) с помощью
команд FYL2X, FYL2XP1 операнд х размещается в ST(0), операнд у - в ST(1).
При выполнении команд производится извлечение операндов из стека, а
результат заносится в вершину стека. Значение поля ТОР в регистре FPSR
после выполнения этих команд возрастает на единицу, т. е. результат будет
содержаться в новой вершине стека ST(0) - бывшем регостре ST(1). На
значения операнда х накладываются определенные ограничения. При
выполнении команды FYL2X должно быть значение х > 0, иначе реализуется
исключение недействительной операции #1. При выполнении команды FYL2XP1
операнд х должен находиться в диапазоне
- (1 - I 2/2) < х < + (1 - I 2/2), иначе результатом операции будет
неопределенность (см. табл. 2.26).
Таблица 2.37
Команды специальных операций FPU
Синтаксис команды Операция
FSCALE Порядок ST(0) + целое ST(1) -" порядок ST(0)
FXTRACT Округление ST(0)
FRNDINT Мантисса ST(0) ST(0), порядок ST(0) -" ST(1)
FSIN sin ST(0) -> ST(0)
FCOS cos ST(0) -> ST(0)
FSINCOS sin ST(0) -+ ST(0), cos ST(0) -> ST(1)
FPTAN tg ST(0) ST(1), 1.0 -> ST(0)
FPATAN arctg (ST(1)/ST(0)) -> ST(0)
F2XM1 2ST(0)-1 ST(0)
FYL2X ST(1)*log2ST(0) -> ST(0)
FYL2XP1 ST(1)*log2(ST(0)+1.0) -> ST(0)
СИСТЕМА КОМАНД: ОПЕРАЦИИ НАД ЧИСЛАМИ С ПЛАВАЮЩЕЙ ТОЧКОЙ
2.4.7. КОМАНДЫ УПРАВЛЕНИЯ FPU
В эту группу включены системные команды, определяющие режим
функционирования FPU (табл. 2.38). Отметим, что многие системные команды:
FINIT/FNINIT, FSTSW/FNSTSW, FSTCW/FNSTCW, FCLEX/FNCLEX, FSTENV/FNSTENV,
FSAVE/FNSAVE - имеют две модификации: с обычным для команд FPU префиксом
F или префиксом FN.
При выборке команды с префиксом F проверяются значения признаков в
регистре FPSR и реализуется обработка соответствующих исключений FPU,
если в этом регистре установлены единичные значения признаков, не
маскируемые содержимым регистра FPCR. После обработки исключений
выполняется поступившая команда. Если команда имеет префикс FN, то она
выполняется без проверки и обработки исключений.
Таблица 2.38
Команды управления FPU
Синтаксис команды Операция
FINIT FNINIT 037Fh -> FPGR, 0 -> FPSR, FFFFh -> TW, 0 -" FIP, 0 -"
FDP, проверка исключений FPU 037Fh -> FPCR, 0 -> FPSR, FFFFh -> TW, 0 -"
FIP, 0 -" FDP, без проверки исключений FPU
FSTSW АХ m2 byte FNSTW АХ m2byte FPSR -" AX, проверка исключений FPU
FPSR -> m2byte, проверка исключений FPU FPSR -> AX, без проверки
исключений FPU FPSR -> m2byte, без проверки исключений FPU
FLDCW m2byte FSTCW m2byte FNSTCW m2byte m2byte -> FPCR FPSR -" m2byte,
проверка исключений FPU FPCR -> m2byte, без проверки исключений FPU
FCLEX FNCLEX 0 -> PE,VE,OE,ZE,DE,IE,ES,SF,B, проверка исключений FPU
0 -" PE,VE,OE,ZE,DE,IE,ES,SF,B, без проверки исключений FPU
FSTENV m14/28byte FNSTENV m14/28byte FDENV m14/28byte
FPCR,FPSR,TW,FIP,FDP -> m14/28byte,проверка исключений FPU
FPCR,FPSR,TW,FIP,FDP m14/28byte,6e3 проверки исключений FPU ml 4/28/byte
-> FDP,FIP,TW,FPSR,FPCR
FSAVE m94/108byte FNSAVE m94/108byte FRSTOR m94/108byte
FPCR,FPSR,TW,FIP,FDP,ST(0)-ST(7) -> m94/108byte,проверка исключений
FPU FPCR,FPSR,TW,FIP,FDP,ST(0)-ST(7) -> m94/108byte,6e3 проверки
исключений FPU m94/108byte -> ST(7)-ST(0),FDP,FIP.TW,FPSR,FPCR
FINCSTP FDECSTR TOP+1 ->TOP TOP-1 -> TOP
FFREI ST(i) 11В -> tag i
FNOP WATT/FWATT Отсутствие операции Проверка и обслуживание исключений
FPU
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Команды инициализации 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 АХ выполнить команду
FSAHF, то биты условий СО, С2, СЗ регистра FPSR замещают определенные
флаги в регистре EFLAGS: СО оказывается на месте CF, С2 - на месте PF, СЗ
- на месте ZF. Используя затем команды условных переходов, можно
управлять ходом выполнения программы в зависимости от значений битов
условий FPU, поступивших в регистр EFLAGS.
Команда FLDCW загружает в регистр управления FPCR содержимое адресуемой
Предыдущая << 1 .. 69 70 71 72 73 74 < 75 > 76 77 78 79 80 81 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed