ВУЗ:
Составители:
Рубрика:
6.7 Команда «Исключающая ИЛИ»
Это команда сложения по модулю 2. При сложении чисел по
модулю N в формировании разрядной суммы игнорируются все
переносы, которые получаются при превышении разрядной суммой
числа N.
Составим таблицу истинности сложения по модулю 2 для 2-х двоичных
переменных A и B:
Таблица 6 —Таблица истинности mod2
А
В
А⊕В
Комментарий
0
0
0
Внутриразрядная сумма = 0
0
1
1
Внутриразрядная сумма =
1
1
0
1
Внутриразрядная сумма =
1
1
1
0
Внутриразрядная сумма =
0,
Переполнение
игнорируется
А теперь выпишем ДНФ (дизъюнктивную нормальную форму
записи) этой логической функции: A⊕B=((-A)∧B)∨(A∧(-B)). Что же
является важным из таблицы истинности функции A⊕B?
Произведем анализ зависимости выходной функции A⊕B от
переменной B, если A=1. Он позволяет сделать вывод, что при
A=1 существует зависимость A+B = -В, то есть B инвертируется.
А верхние две строчки таблицы 6 говорят об обратном: если A=0,
то B не инвертируется.
Вот эти свойства и используются, главным образом. Обратимся к
примеру. Пусть необходимо изменить бит D5 ячейки памяти M
1000
на
противоположное состояние. Составляем слово, где бит D5=1 (событие
A), остальные биты равны нулю: 00100000
2
=20
16
. После выполнения
команды:
XOR BYTE [1000],20
состояние разряда D5 ячейки памяти M
1000
изменится на
противоположное.
Большой популярностью пользуется такое применение команд
сложения по модулю 2:
XOR AX,AX ; обнулить AX;
XOR SI,SI ; обнулить SI;
Эти команды сбрасывают в «0» регистры AX и SI, что собственно и
должно быть при сложении по модулю 2 любого числа с самим собой.
44
6.7 Команда «Исключающая ИЛИ» Это команда сложения по модулю 2. При сложении чисел по модулю N в формировании разрядной суммы игнорируются все переносы, которые получаются при превышении разрядной суммой числа N. Составим таблицу истинности сложения по модулю 2 для 2-х двоичных переменных A и B: Таблица 6 —Таблица истинности mod2 А А⊕В Комментарий В 0 0 Внутриразрядная сумма = 0 0 0 Внутриразрядная сумма = 1 1 1 1 Внутриразрядная сумма = 1 0 1 Внутриразрядная сумма = 1 0, 0 1 Переполнение игнорируется А теперь выпишем ДНФ (дизъюнктивную нормальную форму записи) этой логической функции: A⊕B=((-A)∧B)∨(A∧(-B)). Что же является важным из таблицы истинности функции A⊕B? Произведем анализ зависимости выходной функции A⊕B от переменной B, если A=1. Он позволяет сделать вывод, что при A=1 существует зависимость A+B = -В, то есть B инвертируется. А верхние две строчки таблицы 6 говорят об обратном: если A=0, то B не инвертируется. Вот эти свойства и используются, главным образом. Обратимся к примеру. Пусть необходимо изменить бит D5 ячейки памяти M1000 на противоположное состояние. Составляем слово, где бит D5=1 (событие A), остальные биты равны нулю: 001000002=2016. После выполнения команды: XOR BYTE [1000],20 состояние разряда D5 ячейки памяти M1000 изменится на противоположное. Большой популярностью пользуется такое применение команд сложения по модулю 2: XOR AX,AX ; обнулить AX; XOR SI,SI ; обнулить SI; Эти команды сбрасывают в «0» регистры AX и SI, что собственно и должно быть при сложении по модулю 2 любого числа с самим собой. 44
Страницы
- « первая
- ‹ предыдущая
- …
- 42
- 43
- 44
- 45
- 46
- …
- следующая ›
- последняя »