Assembler - язык неограниченных возможностей


Регистры FPU - часть 2


Бит 3: ОЕ — флаг переполнения — результат слишком большой.

Бит 2: ZE — флаг деления на ноль — выполнено деление на ноль.

Бит 1: DE — флаг денормализованного операнда — выполнена операция над денормализованным числом.

Бит 0: IE — флаг недопустимой операции — произошла ошибка стека (SF = 1) или выполнена недопустимая операция.

Биты С0 – С3 употребляются так же, как и биты, состояния в основном процессоре, — их значения отражают результат выполнения предыдущей команды и используются для условных переходов; команды

fstsw ax sahf

копируют их значения в регистр FLAGS так, что флаг С0 переходит в CF, С2 — в PF, а С3 — в ZF (флаг С2 теряется).

Биты 0 – 5 отражают различные ошибочные ситуации, которые могут возникать при выполнении команд FPU. Они рассмотрены в описании управляющих регистров.

Регистр управления CR:

    Биты 15 – 13 — зарезервированы.

    Бит 12 «IC» — управление бесконечностью (поддерживается для совместимости с 8087 и 80287 — вне зависимости от значения этого бита +

    > -
    ).

    Биты 11 – 10 «RC» — управление округлением.

    Биты 9 – 8 «PC» — управление точностью.

    Биты 7 – 6 — зарезервированы.

    Бит 5 «РМ» — маска неточного результата.

    Бит 4 «UM» — маска антипереполнения.

    Бит 3 «ОМ» — маска переполнения.

    Бит 2 «ZM» — маска деления на ноль.

    Бит 1 «DM» — маска денормализованного операнда.

    Бит 0 «IM» — маска недействительной операции.

Биты RC определяют способ округления результатов команд FPU до заданной точности (табл. 10).





- Начало -  - Назад -  - Вперед -



Книжный магазин