
- •А.2. Символы и сокращения
- •А.З. Форматы команд и данных
- •А.4. Способы адресации
- •А.5. Флаги условий
- •А.6. Справочник по системе команд
- •А.6.1. Команды пересылки данных
- •Xchg (обмен регистров н и l с регистра-ми d и е)
- •А.6.2. Арифметические команды
- •Inr r (увеличение регистра)
- •Inx rр (увеличение регистровой пары)
- •А.6.3. Логические команды
- •А.6.4. Команды перехода
- •А.6.5. Команды работы со стеком, ввод-вывод и управление процессором
- •Xthl (обмен верхушки стека с регистровой парой h-l)
А.6. Справочник по системе команд
В данном разделе приводится описание всех команд микропроцессора 8085А, разделенных на пять групп следующим образом:
-
Команды пересылки данных -пересылают данные между регистрами или между регистрами и ячейками памяти. Включают команды пересылки, загрузки, записи и обмена.
-
Арифметические команды - складывают, вычитают, увеличивают и уменьшают данные в регистрах и памяти,
-
Логические команды – выполнение операций И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, сравнения, сдвига и дополнения данных в регистрах или ячейках памяти.
-
Команды перехода - условные и безусловные переходы, вызовы подпрограмм, возвраты из подпрограмм и программные прерывания.
-
Команды работы со стеком, ввод-вывод и управление процессором - команды работы со стеком, чтение входных портов, запись в выходные порты, установка и чтение масок прерываний и флагов условий.
Описанные в справочнике форматы команд соответствуют коду, генерируемому ассемблером, используемым в инструментальных системах Intellec® фирмы Intel.
А.6.1. Команды пересылки данных
Команды этой группы служат для пересылки данных между регистрами, а также между регистрами и ячейками памяти. Эти команды не оказывают воздействия на флаги условий.
MOV r1, r2 (пересылка регистровая)
(r1) ← (r2)
Содержимое регистра r2 пересылается в регистр r1.
0 |
1 |
D |
D |
D |
S |
S |
S |
Циклов: 1
Состояний: 4(8085), 5(8080) Адресация': регистровая
Флаги: не изменяются
MOV R, М (пересылки из памяти)
(r) ← ((H)(L))
Содержимое ячейки памяти, адрес которой находится в регистровой паре H-L. пересылается в регистр R.
0 |
1 |
D |
D |
D |
1 |
1 |
0 |
Циклов: 2
Состояний: 7
Адресация: регистровая косвенная
Флаги: не изменяются
MOV M, r (пересылка в память)
((H)(L)) ← (r)
Содержимое регистра r пересылается в ячейку памяти, адрес которой находится в паре регистров H-L.
0 |
1 |
1 |
1 |
0 |
S |
S |
S |
Циклов: 2
Состояний: 7
Адресация: регистровая косвенная
Флаги: не изменяются
MVI r, данные (пересылка непосредственная)
(r) ← (байт 2)
Содержимое второго байта команды пересылается в регистр r.
0 |
0 |
D |
D |
D |
1 |
1 |
0 |
Циклов: 2
Состояний: 7
Адресация: непосредственная
Флаги: не изменяются
MVI М, данные (пересылка в память не-посредственная)
((Н)(L)) ← (байт 2)
Содержимое второго байта команды пересылается в ячейку памяти, адрес которой находится в регистрах Н и L.
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
Данные |
Циклов: 3 Состояний: 10
Адресация: непоср./регистр. косвенная
Флаги: не изменяются
LXI rр, данные 16 (загрузка регистровой пары непосредственная)
(rh) ← (байт 3)
(rl) ← (байт 2)
Содержимое третьего байта команды записывается в старший регистр пары rр, а содержимое второго байта команды - в младший регистр пары.
0 |
0 |
R |
P |
0 |
0 |
0 |
1 |
Младшие разряды данных |
|||||||
Старшие разряды данных |
Циклов: 3
Состояний: 10
Адресация: непосредственная
Флаги: не изменяются
LDA, адрес (загрузка аккумулятора прямая)
(А) ← ((байт 3)(байт 2))
Содержимое ячейки памяти, адрес которой находится во втором и третьем байтах команды, пересылается в регистр А.
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
Младшие разряды данных |
|||||||
Старшие разряды данных |
Циклов: 4
Состояний: 13
Адресация: прямая
Флаги: не изменяются
STA, адрес (запоминание аккумулятора прямое)
((байт 3)(байт 2)) ← (А)
Содержимое аккумулятора пересылается в ячейку памяти, адрес которой находится во втором и третьем байтах команды.
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
Младшие разряды данных |
|||||||
Старшие разряды данных |
Циклов: 4
Состояний: 13
Адресация: прямая
Флаги: не изменяются
LHLD, адрес (загрузка регистров Н и L прямая)
(Н) ← ((байт 3)(байт 2))
(L) ← ((байт 3)(байт 2)+1)
Содержимое ячейки памяти, адрес которой расположен во втором и третьем байтах команды, пересылается в регистр Н. Содержимое следующей ячейки памяти пересылается в регистр L.
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
Младшие разряды данных |
|||||||
Старшие разряды данных |
Циклов: 5
Состояний: 16
Адресация: прямая
Флаги: не изменяются
SHLD, адрес (запоминание регистров Н и L прямое)
((байт 3)(байт 2)) ← (L)
((байт 3)(байт 2) +1) ← (Н)
Содержимое регистра L пересылается в ячейку памяти, адрес которой расположен во втором и третьем байтах команды. Содержимое регистра Н пересылается в следующую ячейку памяти.
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
Младшие разряды данных |
|||||||
Старшие разряды данных |
Циклов: 5
Состояний: 16
Адресация: прямая
Флаги: не изменяются
LDAX rр (загрузка аккумулятора косвенная)
(А) ← ((rр))
Содержимое ячейки памяти, адрес которой расположен в регистровой паре rр, пересылается в аккумулятор. Учтите: в качестве регистровой пары в данном случае можно указать лишь «В» (регистры В и С) или «D» (регистры D и Е),
0 |
0 |
R |
P |
0 |
0 |
1 |
0 |
Циклов: 2
Состояний: 7
Адресация: регистровая косвенная
Флаги: не изменяются
STAX rр (запоминание аккумулятора косвенное)
((rр)) ← (А)
Содержимое регистра А пересылается в ячейку памяти, адрес которой находится в регистровой паре rр. Учтите: в качестве регистровой пары в данном случае можно указать лишь «В»,(регистры В и С) или «D» (регистры D и Е).
0 |
0 |
R |
P |
1 |
0 |
1 |
0 |
Циклов: 2
Состояний: 7
Адресация: регистровая косвенная
Флаги: не изменяются