
- •Тема 2.5 Основы программирования процессора
- •1 Оперативная память, регистры, представление данных
- •1.Программная модель микропроцессорной системы на основе мп кр580вм80
- •2.Формат данных и структура команд языка ассемблер
- •3 Формат команд
- •4 Методы адресации
- •5 Система команд
- •6 Команды передачи данных и ввода-вывода
- •6.1 Команды передачи данных
- •6.2 Команды ввода-вывода
- •6.3 Команды работы со стеком
- •7 Команды обработки данных
- •Арифметические команды
- •Логические команды
- •8 Команды управления
- •1.Команды условного и безусловного переходов
- •2.Команды вызова подпрограмм и возврата из них, программное прерывание
- •9 Составление программ
6.2 Команды ввода-вывода
Для обмена данными с процессором внешние устройства имеют на своих входах и выходах регистры, называемые портами ввода-вывода. Оказывают влияние на флаги
2-х байтовые
IN PORT - команда ввода данных предназначена для ввода данных из входного порта в А. Команда двухбайтовая. А (PORT)
OUT PORT - команда вывода данных предназначена для вывода данных из А в выходной порт. Команда двухбайтовая. (PORT) А.
6.3 Команды работы со стеком
Однобайтовые
PUSH RP – загрузка в стек содержимого пары регистров
PUSH PSW - загрузка в стек слово состояния программы.
POP RP – считать из стека содержимое пары регистров.
POP PSW - считать из стека слова состояния программы.
XTHL – обмен содержимого верхушки стека и содержимого регистров H и L.
(L) ↔ (SP)
(H) ↔ (SP) + 1
SPHL – пересылка содержимого регистров H и L в указатель стека.
(SP) ↔ (H)(L).
7 Команды обработки данных
К этим командам относятся команды выполнения арифметических операций и команды выполнения логических операций.
Арифметические команды
Команды этой группы выполняют арифметические операции над данными в регистрах и памяти. Эти команды воздействуют на флаги состояний стандартным образом.
Однобайтовые
ADD R – команда сложения содержимого А с содержимым регистра. А А + R
ADD M – команда сложения содержимого А с содержимым ЯП, адрес которой находится в регистровой паре HL. А A + (HL)
2-х байтовые
ADI DATA – непосредственное сложение. А А + (ВYTE2).
Однобайтовые
ADC R - сложение содержимого регистра с А с переносом. A A + R + (CY)
ADС
M
- сложение содержимого памяти с А
переносом.
ACI - сложение константы с А с переносом АА + (ВYTE2) + (CY)
SUB R – команда вычитания содержимого регистра из содержимого А. А А - R
SUB M – команда вычитания содержимого ЯП из содержимого А. A A - (HL)
2-х байтовые
SUI DATA – непосредственное вычитание. А А - (ВYTE2).
Однобайтовые
SBB R – вычитание содержимого регистра и бита переноса. A A – R - (CY).
SBB M – вычитание содержимого ЯП и бита переноса. A A – (HL) – (CY).
SBB R - вычитание регистра с заёмом (уменьшаемое меньше вычитаемого).
A A - R - (CY)
SBB М - вычитание памяти с заёмом. А А - (HL) - (CY)
2-х байтовые
SBI DATA – непосредственное вычитание с заёмом. A A - (BYTE2) – (CY).
Однобайтовые
INR R – увеличение содержимого регистра на 1. R R + 1.
INR M – увеличение содержимого памяти на 1. (НL) (НL) + 1.
DCR R – уменьшение содержимого регистра на 1. R R – 1.
DCR M – уменьшение содержимого памяти на 1. (HL) (HL) – 1.
INX RP – увеличение содержимого регистровой пары на 1.
[(RH)(RL)] [(RH)(RL)] + 1.
DCX RP – уменьшение содержимого регистровой пары на 1.
[(RH) (RL)] [(RH) (RL)] – 1.
DAD RP – сложение содержимого пары регистров с содержимым регистров H и L.
[(H)(L)] [(H)(L)] + [(RH)(RL)].
Команды сложения и вычитания с учётом переносов (заёма) позволяют организовать обработку многобайтовых чисел последовательно по байтам, которые хранятся в смежных ячейках памяти и адресуются, начиная с младшего.