- •Команды обработки данных и передачи управления для микроконтроллера mc68hc908gp32
- •Удк 621.375(03)
- •1. Команды арифметических операций
- •2. Команды логических операций
- •3. Команды сдвигов
- •4. Команды битовых операций
- •5. Команды управления программой и процессором
- •6. Маскирование данных и организация условных переходов
- •Упражнения
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Список литературы:
2. Команды логических операций
Команды логических операций AND, ORA, EOR выполняют операции И, ИЛИ, Исключающее ИЛИ над разрядами содержимого аккумулятора A и адресуемого операнда (табл. 1). Команда битового тестирования BIT производит логическое умножение операндов (операция И) без записи результата, но с установкой признаков N, Z. При выполнении этих команд используются те же способы адресации, что и в командах сложения-вычитания. В командах логической инверсии COM, COMA, COMX используется только индексная, индексная по указателю стека с 8-разрядным смещением или прямая адресация с 8-разрядным адресом.
3. Команды сдвигов
Команды сдвигов (табл.2) выполняют арифметические (команды ASL, ASLA, ASLX, ASR, ASRA, ASRX), логические (команды LSL, LSLA, LSLX, LSR, LSRA, LSRX) и циклические (команды ROL, ROLA, ROLX, ROR, RORA, RORX) сдвиги над операндами, расположенными в регистрах A, X или адресуемой ячейке памяти. При обращении к памяти используется индексная, индексная по указателю стека с 8-разрядным смещением или прямая адресация с 8-разрядным адресом. Команды ASL, ASLA, ASLX реализуют такие же операции, как и команды LSL, LSLA, LSLX.
Таблица 2. Команды сдвигов.
Мнемокод |
Команда |
Операция |
С
Операнд
00 ASLA,LSLA ASLX, LSLX |
Арифметический или логический сдвиг влево |
|
С Операнд |
Арифметический сдвиг вправо |
|
С Операнд |
0 вправо |
|
С Операнд |
Циклический сдвиг влево |
|
С Операнд |
Циклический сдвиг вправо |
|
4. Команды битовых операций
Команды битовых операций BCLR, BSET (табл.3) устанавливают соответственно значение 0 или 1 для n-го бита в операнде, 8-разрядный адрес которого содержится во втором байте команды (8-разрядная прямая адресация). Номер бита n задается в команде. Команды CLC, CLI и SEC, SEI устанавливают значение 0 или 1 признаков C, I в регистре условий CCR. При этом команды CLI и SEI разрешают и запрещают обслуживание поступающих запросов прерывания.
Таблица 3. Команды битовых операций и установки признаков
Мнемокод |
Команда |
Операция |
BCLR n, (opr) |
Установка значения бита bn = 0 |
0 bn |
BSET n, (opr) |
Установка значения бита bn = 1 |
1 bn |
CLC |
Установка признака C = 0 |
0 C |
CLI |
Установка признака I = 0 |
0 I |
SEC |
Установка признака C = 1 |
1 C |
SEI |
Установка признака I = 1 |
1 I |
При выполнении команд пересылки, арифметических и логических операций, сдвигов, битовых операций происходит изменение значений определенных признаков в регистре условий CCR. В табл.4 изменение этих признаков показано символами:
"+" - установка значения по результату операции,
"-" - значение остается неизменным,
0, 1 - установка соответствующих значений признаков,
“х” – принимает произвольное значение.
Таблица 4. Установка значений признаков при выполнении команд.
-
Команды
Признаки
V
N
I
N
Z
C
LDA, LDX, LDHX, STA, STX, STHX,
0
-
-
+
+
-
TST, TSTA, TSTX, AND, ORA, EOR, BIT,
INC, INCA, INCX, DEC, DECA,DECX
+
-
-
+
+
-
ADD, ADDC
+
+
-
+
+
+
SUB, SBC, NEG, NEGA, NEGX,
CMP, CPX, CPHX, ASL, ASLA, ASLX,
+
-
-
+
+
+
LSL, LSLA, LSLX, ASR, ASRA, ASRX,
ROL, ROLA, ROLX, ROR, RORA, RORX
LSR, LSRA, LSRX
+
-
-
0
+
+
CLR, CLRA, CLRX, CLRH
0
-
-
0
1
-
COM, COMA, COMX
0
-
-
+
+
1
MOV
+
-
-
+
+
-
MUL
-
0
-
-
-
0
DIV
-
-
-
+
+
-
DAA
x
-
-
+
+
+
CLC
-
-
-
-
-
0
CLI
-
-
0
-
-
-
SEC
-
-
-
-
-
1
SEI
-
-
1
-
-
-
SWI
-
-
1
-
-
-
RTI, TAP
+
+
+
+
+
+
BRCLR, BRSET
-
-
-
-
-
+
WAIT, STOP
-
-
0
-
-
-