Аппаратное обеспечение IBM PC


         

Бит C1 содержит знак анализируемого


Бит C1 содержит знак анализируемого числа:



























C1 Знак числа
0 положительное число;
1 отрицательное число.


С помощью бита C0 можно определить, является число конечным или бесконечным:



























C0 Конечность/бесконечность числа
0 конечное число;
1 бесконечное число.


Для конечных чисел дальнейшая классификация может проводиться по содержимому кодов условий C2 и C3:





















































C3 C2 Описание числа
0 0 Ненормализованное число
0 1 Нормализованное число
1 0 Нулевое число
1 1 Число денормализовано


Аналогично, для бесконечных чисел коды условий C2 и C3 имеют следующее значение:





















































C3 C2 Описание числа
0 0 Нечисло
0 1 Бесконечное число
1 0 Пустое число
1 1 Пустое число


С помощью команды "FSTSW AX" программа может переписать содержимое регистра состояния сопроцессора в регистр AX центрального процессора. Далее содержимое регистра AH можно переписать в регистр флагов центрального процессора при помощи команды SAHF. Биты кодов условий сопроцессора отображаются на регистр флагов центрального процессора таким образом, что для анализа кодов условий можно использовать команды условных переходов:

---T-T-T-T-T-T-T--¬ ¦B ¦C3¦ ¦ST¦ ¦C2¦C1¦C0¦ L--+--+--+--+--+--+--+---

---T-T-T-T-T-T-T--¬ ¦SF¦ZF¦ ¦AF¦ ¦PF¦ ¦CF¦ L--+--+--+--+--+--+--+---

Например, в следующем фрагменте программы выполняется переход к метке error, если операнды несравнимы:

fcom fstsw ax sahf je error


Содержание  Назад  Вперед