Архитектура микропроцессорной системы. Состав машинных команд и основы программирования микропроцессорной системы на ассемблере. Булатов В.Н. - 43 стр.

UptoLike

Составители: 

MOV DH,[1000] ; и разность в DH.
6.5 Команда логической функции ИЛИ
Основные логические функции булевой алгебрыэто И, ИЛИ,
НЕ. В таблице представлены только две из них: И (AND) и ИЛИ (OR).
Дело в том, что операция НЕ оперирует только с одним адресатом,
поэтому ее здесь нет. Ее рассмотрим в конце этой главы. А пока
вернемся к команде ИЛИ (дизъюнкция).
Рассмотрим следующий пример. Пусть в AL=3C (00111100
2
), в
AH=41 (01000001
2
). Что получится после выполнения OR AH,AL?
Учитывая, что с многобитовыми событиями логические операции
выполняются по-битно, можем записать:
00111100 (3С)
(ИЛИ)
01000001 (41)
01111101
AH = 7 D.
Эта логическая операция используется достаточно часто.
Например, еобходимо установить бит D5 ячейки памяти M
1000
в единицу,
оставив неизменными остальные биты M
1000
. Это делается очень просто.
Составим байт, у которого бит D
5
=1: 00100000
2
=20
16
. Выполним
команду:
OR BYTE [1000],20
И все.
6.6 Команда логической функции И
Операция И (конъюнкция) выполняется аналогично ИЛИ
(смотрите п.5 таблицы 5).
Рассмотрим пример. Пусть в регистре АХ хранятся следующие
события: AH=42, AL=7C. Что будет в регистре AL после выполнения
команды AND AL,AH?
01111100 (7С)
И)
01000010
(42)
01000000
AL= 4 0
Эта команда тоже достаточно популярна. Например, она позволяет
сбрасывать в «0»один бит в байте (слове), оставляя неизменными
другие биты. Пусть, например, необходимо установить бит D5 ячейки
памяти M
1000
в «0», оставив при этом неизменными остальные биты.
Составляем байт, у которого D5=0: 1101111
2
=DF. Выполним команду:
AND BYTE [1000],DF.
Бит D5 ячейки памяти M
1000
будет сброшен в «0».
43
MOV DH,[1000]    ; и разность в DH.

6.5 Команда логической функции ИЛИ
     Основные логические функции булевой алгебры —это И, ИЛИ,
НЕ. В таблице представлены только две из них: И (AND) и ИЛИ (OR).
Дело в том, что операция НЕ оперирует только с одним адресатом,
поэтому ее здесь нет. Ее рассмотрим в конце этой главы. А пока
вернемся к команде ИЛИ (дизъюнкция).
     Рассмотрим следующий пример. Пусть в AL=3C (001111002), в
AH=41 (010000012). Что получится после выполнения OR AH,AL?
Учитывая, что с многобитовыми событиями логические операции
выполняются по-битно, можем записать:
                       00111100 (3С)
               (ИЛИ) ∨
                       01000001 (41)
                       01111101
                AH =     7 D.
     Эта логическая операция используется достаточно часто.
Например, еобходимо установить бит D5 ячейки памяти M1000 в единицу,
оставив неизменными остальные биты M1000. Это делается очень просто.
Составим байт, у которого бит D5=1: 001000002=2016. Выполним
команду:
     OR BYTE [1000],20
И все.

6.6 Команда логической функции И
     Операция И (конъюнкция) выполняется аналогично ИЛИ
(смотрите п.5 таблицы 5).
     Рассмотрим пример. Пусть в регистре АХ хранятся следующие
события: AH=42, AL=7C. Что будет в регистре AL после выполнения
команды AND AL,AH?
                 01111100 (7С)
          И) ∧
                 01000010 (42)
                 01000000
           AL=       4        0
     Эта команда тоже достаточно популярна. Например, она позволяет
сбрасывать в «0»один бит в байте (слове), оставляя неизменными
другие биты. Пусть, например, необходимо установить бит D5 ячейки
памяти M1000 в «0», оставив при этом неизменными остальные биты.
Составляем байт, у которого D5=0: 11011112=DF. Выполним команду:
     AND BYTE [1000],DF.
Бит D5 ячейки памяти M1000 будет сброшен в «0».

                                                                  43