|
Слово состояния микросхемы 8087 содержит
текущее состояние
процессора.Расположение отдельных битов слова состояния показано
на Фиг. 7.8.В слове состояния имеются биты, показывающие особые
ситуации, так что обработчик прерывания
сможет определить суть
возникшей ситуации.Также в слове состояния имеется бит,
показывающий, занят сопроцессор или
нет.Это тот же самый бит,
который выведен наружу для синхронизации с
микропроцессором 8088.
Слово состояния содержит и указатель на
текущую вершину стека
внутри набора регистров процессора 8087.
1570
ЪДДДВДДДВДДДДДДДДДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДї
і 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.Поскольку многие из этих чисел требуют
индивидуальных способов обработки, регистр
кода условия
предоставляет способ распознавания таких
чисел.
|