Регистр тегов
Регистр тегов TWR представляет собой совокупность двухразрядных полей. Каж-
дое двухразрядное поле соответствует определенному физическому регистру сте-
ка (см. рис. 17.1) и характеризует его текущее состояние. Изменение состояния
любого регистра стека отражается на содержимом соответствующего этому регис-
тру поля регистра тега. Возможны следующие значения в полях регистра тега:
00 — регистр стека сопроцессора занят допустимым ненулевым значением;
it 01 — регистр стека сопроцессора содержит нулевое значение;
456 Глава
Архитектура и программирование сопроцессора
10 — регистр стека сопроцессора содержит одно из специальных
значений (см. ниже), за исключением нуля;
в
— регистр пуст, и в него можно производить запись (нужно отметить, что это
значение в одном из двухразрядных полей регистра тегов не означает, что все
биты соответствующего регистра стека обязательно нулевые).
Мы не раз уже отмечали, что при написании программы разработчик манипу-
лирует не абсолютными, а относительными номерами регистров стека. По этой
причине у него могут возникнуть трудности при попытке интерпретации содер-
жимого регистра тегов TWR с соответствующими физическими регистрами стека.
В качестве связующего звена необходимо привлекать информацию из поля ТОР
регистра SWR.
Форматы данных
Сопроцессор расширяет номенклатуру форматов данных, с которыми работает
основной процессор. В этом нет ничего удивительного, так как формат
любого устройства в существенной мере отражает специфику его работы. Сопро-
цессор специально разрабатывался для вычислений с плавающей точкой. Но со-
процессор может работать и с целыми числами, хотя и менее эффективно. Пере-
числим форматы данных, с которыми работает сопроцессор:
* двоичные целые числа в трех форматах — 16, 32 и 64 бита;
упакованные целые десятичные (BCD) числа — длина максимального числа
составляет 18 упакованных десятичных цифр (9 байтов);
вещественные числа в трех форматах — коротком (32 бита), длинном (64 бита),
расширенном (80 битов).
Кроме этих основных форматов, сопроцессор поддерживает специальные чис-
ленные значения, к которым относятся:
я денормализованные вещественные числа — это
меньшие
числа (см. ниже) для каждого вещественного формата, под-
держиваемого сопроцессором;
я нуль;
is положительные и отрицательные значения бесконечности;
нечисла;
неопределенности и неподдерживаемые форматы.
Рассмотрим более подробно основные форматы данных, поддерживаемые со-
процессором. Важно отметить, что в самом сопроцессоре числа в этих форматах
имеют одинаковое внутреннее представление — расширенный формат веществен-
ного числа. Это один из форматов представления вещественных чисел, который
точно соответствует формату регистров
R7 стека сопроцессора (см. рис.
Таким образом, даже если вы используете команды сопроцессора с целочислен-
ными операндами, то после загрузки в сопроцессор операндов целого типа они ав-
томатически преобразуются в формат расширенного вещественного числа.
Форматы данных 457
Do'stlaringiz bilan baham: |