Состав команд логических операций

Логические команды составляют еще одну группу команд МП. Состав этих команд следующий: логическое умножение – И, логическое сложение – ИЛИ, ИЛИ – исключающее, отрицание – НЕ и сдвиг. В этой группе команд именно аккумулятор составляет ядро большинства операций. Как и при арифметических операциях, способ адресации и здесь влияет на способ и место нахождения других данных в системе. Команда ANI выполняет логическое умножение над содержимым аккумулятора (00010011) и содержимым программной памяти после команды (00000001). Содержимое аккумулятора подтверждается операции И побитно. И в соответствии с таблицей истинности для этой операции имеем: 00000001. Результатом всех операций И будет сброс индикатора переноса. Так же результат операции И проверяется с целью определения не ноль ли он и если нет, индикатор нуля Z сбрасывается в ноль.

Пример операции И с косвенной операцией (ANA M). Содержимое аккумулятора подвергается операции И (бит с битом) с содержимым ячейки памяти указанной парой регистров HL. Допустим, в аккумуляторе – 00111100, а в ячейке памяти – 00000001. Результат умножения будет 00000000, этот результат размещается в аккумуляторе. Индикатор переноса CY сбрасывается в ноль, кроме того, результат проверяется на ноль и поскольку, ответ да, индикатор нуля Z устанавливается в единицу.

В обоих примерах второй операнд (00000001) используется как маска. В первом примере она используется для сброса в ноль 7 старших бит, а во втором примере, с учетом наличия индикатора нуля, для тестирования значений ноль или единица в позиции младшего бита аккумулятора.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: