
- •Методические указания к лабораторной роботе №1
- •Лабораторная работа №1
- •2. Методы адресации, команды пересылки и арифметических операций
- •3. Логические операции
- •6. Введение в интегрированную отладочную среду ProView для микроконтроллеров семейства mcs-51, 251, xa
- •6.1.Оптимизирующий кросс-компилятор c51.
- •6.2. Макроассемблер a51.
- •6.3.Компоновщик l51.
- •6.4.Отладчик/симулятор WinSim51.
- •Начало работы
- •6. Список литературы
3. Логические операции
Логическое «И» , логическое умножение , «/\»
Принцип операции : если будет хотя-бы один 0, то и результат будет 0. Этот принцип иллюстрирует следующий пример из электротехники:
X1 X2 Y
При приложенном напряжении ток приходит в точку Y , если включены (включены –1, выключены -0) все выключатели.
Далее приводится таблица истинности для этой операции:
X1 |
X2 |
Y |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Далее приведены команды операции логическое умножение с различными методами адресации:
1. Регистровый метод:
ANL A , Rn ; A /\ Rn →A
2. Непосредственная адресация:
ANL A , #d8 ; A /\ d8→ A
Прямая адресация
ANL A , ad ; A /\ (ad) →A
ANL ad , A ; (ad) /\ A→(ad)
ANL ad , #d8 ; (ad) /\ d8→ (ad)
Косвенно – регистровая адресация:
ANL A , @Ri ; A /\ ((Ri)) → A
Прямая битовая адресация:
ANL C, bit ;(С) /\ (bit) → (С)
ANL
C, /bit ;(С)
/\ (bit) → (С)
Операции логического умножения используют для маскирования информации, а также сброса определённых битов в регистрах, ячейках памяти, портах.
Анализ состояния младшего бита
X |
X |
X |
X |
X |
X |
X |
X |
A(аккумулятор)
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Маска с «1» в младшем бите
_________________________________________
0 |
0 |
0 |
0 |
0 |
0 |
0 |
X |
2) Логическое «ИЛИ», логическое сложение, «\/».
Принцип операции : если будет хотя-бы однa 1, то и результат будет 1. Этот принцип иллюстрирует следующий пример из электротехники:
X1
Y
X2
При приложенном напряжении ток приходит в точку Y , если включен (включены –1) хотя бы один выключатель.
Это логическое действе описываетследующая таблица истинности:
X1 |
X2 |
Y |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Далее приведены команды операции логического сложения с различными методами адресации:
1. Регистровый метод:
ORL A , Rn ; A V Rn→ A
2. Непосредственная адресация:
ORL A , #d8 ; A V d8 → A
3. Прямая адресация
ORL A , ad ; A V (ad) → A
ORL ad , A ; (ad) V A →(ad)
ORL ad , #d8 ; (ad V) d8 → (ad)
4 Косвенно – регистровая адресация:
ORL A , @Ri ; A V ((Ri)) →A
Прямая битовая адресация:
ORL C, bit ;(С) V (bit) → (С)
ORL
C, /bit ;(С)
V
(bit) → (С)
Операции логического сложения используют для установки в «1» определённых битов в регистрах, ячейках памяти, портах без изменения других бит.
Пример: логическое сложение A(аккумулятора) и маски(A6H)
X |
X |
X |
X |
X |
X |
X |
X |
A(аккумулятор)
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
X |
1 |
X |
X |
1 |
1 |
X |
результат
И
сключающее «ИЛИ», сложение по модулю 2, «\/»
Принцип операции : если значения одинаковы, то результат будет 0, если разные, то 1. Этот принцип иллюстрирует следующий пример из электротехники:
X1
Y
X2
При приложенном напряжении ток приходит в точку Y , если включен один переключатель, а другой выключен(включены –1).
Это логическое действе описываетследующая таблица истинности:
X1 |
X2 |
Y |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
В электронике применяют логические элементы исключающее «ИЛИ», условно-графическое изображение которого приведено ниже:
X1
Y
X2
1. Регистровый метод:
XRL
A , Rn ; AV
Rn→ A
2. Непосредственная адресация:
XRL
A , #d8 ;
A V
d8 → A
3. Прямая адресация
XRL
A , ad ; AV
(ad) →A
XRL
ad , A ; (ad )V
A → (ad)
XRL
ad , #d8 ; (ad)V
d8 →(ad)
4 Косвенно – регистровая адресация:
XRL
A , @Ri ; AV
((Ri)) → A
Операция исключающее «ИЛИ» часто используется для реализации блокировок.
логическое «НЕ», логическое отрицание, инверсия, «Х».
Принцип операции : меняет значение на противоположное 0 на 1 и наоборот. Этот принцип иллюстрирует следующий пример из электротехники (нормально выключенный контакт:
X Y
Это логическое действе описываетследующая таблица истинности:
X |
Y |
0 |
1 |
1 |
0 |
В электронике применяют логические элементы :инверторы, условно-графическое изображение которого приведено ниже:
Пример : 10011001B=01100110B
Регистровый метод:
CPL
A ;A
→ A
Прямая битовая адресация:
CPL
C ;С → С
CPL
bit ;(bit)
→ (bit)
Приоритеты действий в порядке убывания:
Действия в скобках;
Инверсия;
Умножение, деление;
Логические действия (лог. умножение, лог.сложение, исключающее ИЛИ);
Сложение, вычитание
При равенстве приоритетов действия выполняются слева на право
Задание3: Решить математическое выражение, используя все методы адресации, кроме косвенно-регистровой. (Листинг решения приведён ниже):
[(20H)\/3CH
\/ (21H)+(22H)/\07H] →
(23H)
ORG 0
MOV A , 20H ; (20H) →A
CPL
A ; A → A
ORL A , #3CH ; A V 3CH→A
XRL
A , 21H ; AV
(21H) →A
MOV R0, A ; A →R0
MOV A, 22H ; (22H) →A
ANL A, #07 ; A /\ 07→ (A)
ADD A , R0 ; A + R0 → A
CPL
A ; A
→A
MOV 23H , A ; A → (23H)
L1: JMP L1 ;переход на метку L1(зацикливание на этом месте)
END
Задание4: Решить математическое выражение (Листинг решения приведён ниже):
[(20H)
V 3CH
V
(21H)+(22H)/\07H]
(23H)
ORG 0
MOV R0 , #20H ; 20H→ R0
MOV A , @ R0 ; ((R0)) →A
CPL
A ; A→A
ORL A , #3CH ; A V 3CH →A
INC R0 ; R0 + 1→R0
XRL
A , @R0 ; AV
((R0)) →A
ANL 22H , #07 ; (22H) /\ 07→ (22H)
INC R0 ; R0 + 1→R0
ADD A , @R0 ; A + ((R0)) →A
CPL
A ; A →A
INC R0 ; R0 + 1 →R0
MOV @R0 , A ; A→R0
L1: JMP L1 ;переход на метку L1(зацикливание на этом месте)
END
Задание 5: Самостоятельно написать программу для решения следующего математического задания.
[20H*3CH
V
(21H)+(22H):07H]
(23H)
4. Содержание отчёта
3.1. Тема и цель работы
3.2. Листинги сделанных самостоятельно программ.
3.3. Выводы
5. Контрольные вопросы
5.1 Понятие операнда.
5.2 Регистровый метод адресации. Примеры команд с этим методом.
5.3 Прямой байтовый метод адресации. Примеры команд с этим методом.
5.4 Прямой битовый метод адресации. Примеры команд с этим методом.
5.5 Непосредственный метод адресации. Примеры команд с этим методом.
5.6 Косвенно – регистровый метод адресации. Примеры команд с этим методом.
5.7 Косвенный метод адресации по сумме базового и индексного регистров. Примеры команд с этим методом.
5.8 Логическое умножение. Примеры команд с разными методами адресации.
5.9 Логическое сложение. Примеры команд с разными методами адресации.
5.10 Логическое исключающее «ИЛИ». Примеры команд с разными методами адресации.
5.11 Инверсия. Команда инверсии.
5.12 Написать программу для решения задания, заданного преподавателем.