Jump to content

Флаг паритета

В компьютерных процессорах флаг четности указывает, является ли число установленных битов нечетным или четным в двоичном представлении результата последней операции. Обычно это один бит в регистре состояния процессора.

Например, предположим, что на машине установлен флаг четности, указывающий на четность. Если бы результатом последней операции было 26 (11010 в двоичном формате), флаг четности был бы равен 0, поскольку количество установленных битов нечетно . Аналогично, если бы результат был 10 (1010 в двоичном формате), то флаг четности был бы равен 1.

процессоры x86

[ редактировать ]

В процессорах x86 флаг четности отражает четность только младшего значащего байта результата и устанавливается, если число установленных битов четно (другими словами, бит четности устанавливается, если сумма битов равна даже). Согласно 80386 руководству Intel , флаг четности изменяется в процессорах семейства x86 с помощью следующих инструкций:

  • Все арифметические инструкции;
  • Инструкция сравнения (эквивалент инструкции вычитания без сохранения результата);
  • Логические инструкции – XOR, AND, OR;
  • инструкцию TEST (эквивалент инструкции AND без сохранения результата).
  • инструкция ПОПФ
  • инструкция IRET
  • инструкция или прерывание, вызывающее переключение аппаратной задачи

При условных переходах используется флаг четности, где, например, инструкция JP переходит к заданной цели, когда флаг четности установлен, а инструкция JNP переходит, если он не установлен. Флаг также можно прочитать напрямую с помощью таких инструкций, как PUSHF, которая помещает регистр флагов в стек.

Одной из распространенных причин проверки флага четности является проверка несвязанного флага x87-FPU. FPU . имеет четыре флага состояния (от C0 до C3), но их нельзя проверить напрямую, и вместо этого их необходимо сначала скопировать в регистр флагов Когда это происходит, C0 помещается во флаг переноса , C2 — во флаг четности, а C3 — в нулевой флаг . [1] Флаг C2 устанавливается, например, когда несравнимые значения с плавающей запятой ( NaN или неподдерживаемый формат) сравниваются с инструкциями FUCOM.

  1. ^ «Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32, том 1: Базовая архитектура» . Январь 2011. стр. 97–98.

См. также

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7482abf16044eadbb43fd4103ed5087c__1721482680
URL1:https://arc.ask3.ru/arc/aa/74/7c/7482abf16044eadbb43fd4103ed5087c.html
Заголовок, (Title) документа по адресу, URL1:
Parity flag - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)