Разделы:


Best links:

Программная модель арифметического процессора

Флаги С0, С1, С2 и С3 принимают значения в соответствии с результатами выполнения ряда команд, как описано ниже. Пара флагов С3, С0 служит для записи результата команд сравнения чисел, одно из которых x0 находится в вершине стека, а второе х1 в памяти или POH. В табл. 2.3 приведены значения флагов С3, С0 в зависимости от соотношения между значениями чисел x0 и х1. Ситуация, соответствующая случаю «x0 несравнимо с х1» (C3C0=11), возникает, например, при сравнении некоторого конечного числа с NAN (см. табл. 2.1).

Таблица 2.3

Соотношение x0 и х1

С3

С0

x0 > х1

0

0

x0 < х1

0

1

x0 = х1

1

0

x0 несравнимо с х1

1

1

Все четыре флага С0 - С3 одновременно служат для записи результата команды FXAM, которая осуществляет детальный анализ содержимого вершины стека ST(0). Флаг С2 указывает знак числа, находящегося в вершине: если С2 = 0 - знак «+», иначе « - ». Флаг С3 указывает на различие в использовании значений пары флагов С0, C1 в соответствии с табл. 2.4. Значение С3 = 0 указывает, что в вершине стека находится какое-либо конечное число, а значение C3 = 1 указывает, что содержимое вершины стека не является конечным числом.

Таблица 2.4

Флаги

С0 С1

Значение вершины стека ST(0)

При С3 = 0

При С3 = 1

0  0

Ненормализованное

NAN

0  1

Нормализованное

Бесконечность

1  0

Денормализованное

Вершина стека не инициализирована

1  1

Нулевое

Флаги С0 - C3 служат также для кодирования результатов выполнения команды FPREM получения частичного остатка. Эта команда позволяет определить точное значение частного от деления чисел. За одно обращение она выполняет 64 вычитания (со сдвигом) делителя из делимого. Если при этом точный результат не найден, то выдается полученная часть результата и флаг С2 показывает, завершена команда полностью (C2=0) или не завершена (С2=1). В том случае, когда деление не завершено полностью (С2=1), в разряды С3, С1, С0 заносятся три младших разряда частного и команда затем может быть построена из последней точки. Для целей управления режимами обработки исключительных ситуаций служат флаги, расположенные в младшем байте регистра состояния SR (см. рис. 2.4).

предыдущаяследующая