- •Структурная схема 8-ми разрядного мп
- •Алгоритм работы управляющего автомата
- •Форматы команд
- •Способы адресации
- •Команды пересылки (команды передачи данных) Арифметические и логические команды
- •Команды сдвига (сдвига в аккумуляторе)
- •Команды передачи управления
- •Спецкоманды
- •Псевдокоманды
- •Запоминающие устройства
- •1. Регистровый способ адресации с одним регистром Rd
- •Сторожевые таймеры
- •Организация таймеров/счетчиков.
Форматы команд
Команды МП К580 могут иметь различную длину и содержать один, два или три байта. Многобайтовые команды должны помещаться в последовательно расположенных ячейках памяти. При этом адресом команды считается адрес его первого байта.
Если команда состоит более чем из одного байта, что в первом байте всегда указывается код операции, а в последующем (или последующих) – адрес данных или сами данные команды.
Способы адресации
В МП 580К предусмотрено 5 способов адресации данных, данных хранимых в памяти или в оперативных регистрах.
Прямая– где расположен операнд указывается во втором (младшая часть адреса) и в третьем (старшая часть адреса) байтах команды.
Непосредственная – операнд непосредственно содержится в команде, для двухбайтовых команд – во втором байте, для трехбайтовых команд – во втором (младшая часть операнда) и в третьем (старшая часть операнда) байтах команды.
MVI B, 25;
Регистровая
– в команде задается адрес оперативного регистра или пары регистров, где находятся соответственно 8- или 16-битоывй операнд
– когда источник информации и приемник информации – регистры (лекции)
MOV B,C;
Регистро-косвенная
– адрес ячейки памяти, где расположен операнд, определяется содержимым парного регистра, явно или неявно указанного в команде. При этом старший байт адреса находится в первом регистре пары, а младший во втором.
– когда адрес ячейки памяти которая может быть как источником так и приемником находится как содержимое парного регистра HL (лекции)
MOV B,M;
MVI M, 24;
Стековая – когда адреса ячеек памяти которые могут быть как источником так и приемником находятся как содержимое указателя стека SP
Команды пересылки (команды передачи данных) Арифметические и логические команды
Логическое И – ANA ANI
Логическое ИЛИ – ORA ORI
Исключающее ИЛИ – XRA XRI
Сравнение – CMP CPI
Все логические операции делаются с учетом того, что цепи переноса в АЛУ отключаются и соответственно операции делаются поразрядно.
ANA B; [A] /\ [R] -> A
XRA B; [A] \-/ [R] -> A
XRI B; [A] \-/ [R] \-/ [C] -> A
CMP B; [A] – [R] -> смена флага в регистре признаков
Команды сдвига (сдвига в аккумуляторе)
RLC – циклический сдвиг влево
[Am] -> Am+1
[A7] -> C
[A7] -> A0
RAL – арифметический сдвиг влево
[Am] -> Am+1
[A7] -> C
[C] -> A0
RRC – циклический сдвиг вправо
RAR – арифметический сдвиг вправо
[Am+1] -> Am
[A0] -> C
[C] -> A7
Команды передачи управления
Делятся на условные и безусловные
J/MP/ - прерыв
C/ALL/ - вызов
R/ET/ - возврат
Часть этих мнемоник заменяется и получается условные команды
JNZ –
JMP 1F34H; - переходит, адрес во втором и третьем байте. [B2, B3] -> PC
CALL 32FBH; - команда вызова подпрограммы
[PCH] -> M([SP]-1)
[PCL] -> M([SP]-2)
[B2,B3] ->PC
[SP] – 2 -> SP
RET – возврат из подпрограммы
[M([SP])] -> PCL
[M([SP]+2)] -> PCH
[SP] +2 -> SP
CNZ – условная
SPHL – позволяет загрузить в SP значение HL
[HL] -> SP
XCHG – меняет пары DE, HL
[D] <-> [H]
[E] <-> [L]
Спецкоманды
IN 1FH; двухбайтовая команда
[ВУ([B2])] -> A
OUT 1FH;
[A] -> ВУ([B2])
EI – разрешить прерывание
DI – запретить прерывание
NOP – нет операции (код 00)
[PC] + 1 -> PC
HLT – команда останова