Слово состояния
Слово состояния
Слово состояния микросхемы 8087 содержит текущее состояние
процессора. Расположение отдельных битов слова состояния показано
на Фиг. 7.8. В слове состояния имеются биты, показывающие особые
ситуации, так что обработчик прерывания сможет определить суть
возникшей ситуации. Также в слове состояния имеется бит,
показывающий, занят сопроцессор или нет. Это тот же самый бит,
который выведен наружу для синхронизации с микропроцессором 8088.
Слово состояния содержит и указатель на текущую вершину стека
внутри набора регистров процессора 8087.
15 7 0
ЪДДДВДДДВДДДДДДДДДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДї
і B іC3 і ST іC2 і C1іC0 іIR і іPE іUE іOE іZE іDE іIE і
АДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДБДДДЩ
і і ДДДДДВДДДДД ДДДДДВДДДДД і і і і і і і і ФЛАГИ ИСКЛЮЧИТЕЛЬНЫХ СОСТОЯНИЙ (1=ЕСТЬ)
і і і і і і і і і і і АД НЕВЕРНАЯ ОПЕРАЦИЯ
і і і і і і і і і і АДДДДДД НЕНОРМАЛИЗОВАННЫЙ ОПЕРАНД
і і і і і і і і і АДДДДДДДДДД ДЕЛЕНИЕ НА НОЛЬ
і і і і і і і і АДДДДДДДДДДДДДД ПЕРЕПОЛНЕНИЕ
і і і і і і і АДДДДДДДДДДДДДДДДДД ИСЧЕЗАНИЕ ПОРЯДКА
і і і і і і АДДДДДДДДДДДДДДДДДДДДДД ТОЧНОСТЬ
і і і і і АДДДДДДДДДДДДДДДДДДДДДДДДДД(ЗАРЕЗЕРВИРОВАНО)
і і і і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЗАПРОС НА ПРЕРЫВАНИЕ
і АДДДДДДДЕДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДСОД УСЛОВИЯ (1)
і АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДУКАЗАТЕЛЬ ВЕРШИНЫ СТЕКА (2)
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЗАНЯТО
(1) См. описание команды сравнения, тестирования, опроса, и остатка в разделе
S.7 для прерывания по коду состояния
(2) Значения ST:
000 = Вершина стека - регистр 0
001 = Вершина стека - регистр 1
*
*
111 = Вершина стека - регистр 7
Фиг. 7.8 Формат слова состояния INTEL 8087
Вероятно, наиболее используемая часть слова состояния
микросхемы 8087 - это поле кода условия. В слове состояния есть
четыре бита, которые могут устанавливаться командами сопроцессора
8087. Два из этих битов кода условия непосредственно соответствуют
флагам переноса и нуля микропроцессора 8088; фактически, они
расположены на тех же позициях в старшем байте слова состояния
процессора 8087. Преимущества такого расположения этих бит можно
использовать, записав слово состояния в память; затем загрузить
старший байт слова состояния в регистр AH, и с помощью команды SAHF
устанавливаете флаги переноса и нуля в соответствии с результатом
операции сравнения в сопроцессоре 8087. Так как все числа в
сопроцессоре 8087 - действительные со знаком, этих двух флагов
достаточно для сравнения любых двух чисел. Далее мы будем иметь
дело с примерами, которые используют слово состояния для сравнения
чисел. Оставшиеся два бита регистра кода условия используются
специальной командой процессора 8087 для проверки появления любого
из чисел, соответствующих специальным условиям, которые известны
сопроцессору 8087. Поскольку многие из этих чисел требуют
индивидуальных способов обработки, регистр кода условия
предоставляет способ распознавания таких чисел.