Эти команды позволяют проводить логическую обработку многоразрядных операндов. Команды, работающие с байтовыми аккумуляторами RB1 и RB2, введены для совместимости с системой команд контроллеров С100, С200 и не рекомендуются к использованию в новых программах.
1) UW - логическое поразрядное умножение аккумуляторов RW1 и RW2.
Формат команды: UW.
Выполняется побитная функция И аккумуляторов RW1 и RW2. Результат помещается в RW1. Если результат равен 0, то флаг ZF устанавливается в 1, иначе сбрасывается в 0. Флаги CF, OF сбрасываются в 0. Команда изменяет аккумулятор RW1 и флаги ZF, CF, SF, PF, OF. Команда “заканчивает опрос”.
2) OW - логическое поразрядное сложение аккумуляторов RW1 и RW2.
Формат команды: OW.
Выполняется побитная функция ИЛИ аккумуляторов RW1 и RW2. Результат помещается в RW1. Если результат равен 0, то флаг ZF устанавливается в 1, иначе сбрасывается в 0. Флаги CF, OF сбрасываются в 0. Команда изменяет аккумулятор RW1 и флаги ZF, CF, SF, PF, OF. Команда “заканчивает опрос”.
3) XOW - логическое поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ RW1 и RW2.
|
|
Формат команды: XOW.
Выполняется побитная функция ИСКЛЮЧАЮЩЕЕ ИЛИ (сложение по модулю 2) аккумуляторов RW1 и RW2. Результат помещается в RW1. Если результат равен 0, то флаг ZF устанавливается в 1, иначе сбрасывается в 0. Флаги CF, OF сбрасываются в 0. Команда изменяет аккумулятор RW1 и флаги ZF, CF, SF, PF, OF. Команда “заканчивает опрос”.
4) KEW - инвертирование аккумулятора RW1.
Формат команды: KEW.
Каждый бит аккумулятора RW1 инвертируется и помещается в RW1. Команда изменяет аккумулятор RW1. Команда “заканчивает опрос”.
5) UB - логическое поразрядное умножение аккумуляторов RB1 и RB2.
Формат команды: UB.
Выполняется побитная функция И аккумуляторов RB1 и RB2. Результат помещается в RB1. Если результат равен 0, то флаг ZF устанавливается в 1, иначе сбрасывается в 0. Флаги CF, OF сбрасываются в 0. Команда изменяет аккумулятор RB1 и флаги ZF, CF, SF, PF, OF. Команда “заканчивает опрос”.
6) OB - логическое поразрядное сложение аккумуляторов RB1 и RB2.
Формат команды: OB.
Выполняется побитная функция ИЛИ аккумуляторов RB1 и RB2. Результат помещается в RB1. Если результат равен 0, то флаг ZF устанавливается в 1, иначе сбрасывается в 0. Флаги CF, OF сбрасываются в 0. Команда изменяет аккумулятор RB1 и флаги ZF, CF, SF, PF, OF. Команда “заканчивает опрос”.
7) XOB - логическое поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ RB1 и RB2.
Формат команды: XOB.
Выполняется побитная функция ИСКЛЮЧАЮЩЕЕ ИЛИ (сложение по модулю 2) аккумуляторов RB1 и RB2. Результат помещается в RB1. Если результат равен 0, то флаг ZF устанавливается в 1, иначе сбрасывается в 0. Флаги CF, OF сбрасываются в 0. Команда изменяет аккумулятор RB1 и флаги ZF, CF, SF, PF, OF. Команда “заканчивает опрос”.
8) KEB - инвертирование аккумулятора RB1.
Формат команды: KEB.
Каждый бит аккумулятора RB1 инвертируется и помещается в RB1. Команда изменяет аккумуляторы RB1 и LA. Команда “заканчивает опрос”.