- •Основы микропроцессорной техники
 - •Введение
 - •1. Система команд микропроцессора 8080 Представление команд в числовой форме
 - •Мнемоническое представление команд Ассемблер
 - •Директивы Ассемблера процессора 8080
 - •Методы адресации операндов команд
 - •Биты признаков
 - •Общее представление команд
 - •Команды пересылок
 - •Однобайтные пересылки
 - •Двухбайтные пересылки
 - •Команды передачи управления
 - •Команды безусловных переходов
 - •Команды условных переходов
 - •Команды организации подпрограмм
 - •Команды безусловных вызовов и возврата
 - •Команды условных вызовов и возврата
 - •Команды арифметических, логических и сдвиговых операций
 - •Команды сложения
 - •Команды вычитания
 - •Команды логических операций
 - •Команды сравнения
 - •Команды сдвига
 - •Специальные арифметическо-логические команды
 - •Команды управления стеком
 - •Команды ввода, вывода и управления состоянием процессора Команды ввода и вывода
 - •Команды управления прерываниями
 - •Команда перевода процессора в состояние останова
 - •Учебная микро-эвм умк-80
 - •Управление микро-эвм средствами Монитора
 - •Чтение и модификация содержимого памяти хххх
 - •Чтение и модификация содержимого регистров
 - •Запуск программы пользователя
 - •Отражение типа машинного цикла через слово состояния
 - •Пошаговые режимы
 - •Порядок выполнения работы Заполнение памяти средствами Монитора
 - •Определение исходного положения области стека
 - •Ввод программы средствами Монитора
 - •Лабораторная работа № 1.2 Учебная микро-эвм умпк-80
 - •Краткие сведения из теории Назначение умпк-80
 - •Структура умпк-80 и распределения адресного пространства
 - •Управление микро-эвм средствами Монитора
 - •Тестирование микро-эвм и начальная установка
 - •Порядок выполнения работы Исследование порядка включения умпк-80
 - •Исследование содержимого памяти
 - •Запись числа в память умпк-80
 - •Запись числа в программно-доступные регистры
 - •Запуск программы
 - •Контроль выполнения команд программы
 - •Содержание отчёта
 - •Контрольные вопросы
 - •Лабораторная работа № 2 Отдельные команды, простые программы
 - •Краткие сведения из теории Типы команд
 - •Форматы команд
 - •Способы адресации операндов
 - •Признаки результатов операций
 - •Представление программы
 - •Порядок выполнения работы Исследование отдельных команд арифметических и логических операций
 - •Исследование команд пересылок и способов адресации операндов
 - •Исследование команд арифметического сложения
 - •Исследование операций сравнения однобайтных чисел
 - •Содержание отчёта
 - •Контрольные вопросы
 - •Библиографический список
 
Команды пересылок
Команды выполняют пересылки однобайтного или двухбайтного операнда, от источника к приёмнику. При этом исходное содержимое источника остаётся без изменений, то есть получается копирование содержимого источника в приёмник.
В качестве операнда источника может быть:
регистр (однобайтные операции) или регистровая пара процессора (двухбайтные операции);
одна или две последовательно расположенные ячейки памяти данных;
одна или две последовательно расположенные ячейки памяти программы, в которых размещены второй и третий байты самой команды пересылки.
В качестве операнда приёмника может быть:
регистр или регистровая пара процессора;
одна или две последовательно расположенные ячейки памяти данных.
Следует отметить, что команды пересылок между ячейками памяти отсутствуют в составе системы команд микропроцессора 8080. Такого рода пересылки предполагается выполнять через регистры процессора путём нескольких соответствующих команд.
Однобайтные пересылки
Для пересылок между регистрами процессора предназначены команды типа MOV r1,r2, в которых r1 – регистр приёмника, r2 – регистр источника. Приёмником или источником может быть любой регистр общего назначения процессора.
Пример 1.21
Адрес Число Мнемокод Комментарий
0800 78 MOV A,B ; пересылка из регистра В в аккумулятор
0801 4C MOV C,H ; пересылка из регистра H в регистр C
0802 55 MOV D,L ; пересылка из регистра L в регистр D
Всё это короткие однобайтные по формату 5-тактовые команды. На их интерпретацию процессору требуется только один машинный цикл для выборки самой команды.
Для пересылок между регистрами процессора и памятью данных предназначены команды типа MOV r,M – для чтения памяти и MOV M,r – для записи памяти. В этих командах M – ячейка памяти, адрес которой будет взят из регистровой пары HL.
Пример 1.22
Адрес Число Мнемокод Комментарий
0800 56 MOV D,M ; пересылка из ячейки M в регистр D
0801 71 MOV M,C ; пересылка из регистра C в ячейку M
Это однобайтовые по формату, но уже 7-тактовые команды. Дополнительный машинный цикл нужен в фазе выполнения команды. Кроме того, программисту, применяющему данные команды, следует помнить о необходимости предварительной подготовки адреса памяти M в регистровой паре HL.
Есть и другие команды обеспечивающие пересылки между регистрами процессора и памятью данных. Их особенность в том, что регистром для обмена с памятью может быть только аккумулятор. Ячейка памяти может определятся:
прямым адресом adr в командах типа LDA adr – чтение из памяти и STA adr – запись в память;
косвенно через одну из двух возможных регистровых пар – BC или DE в командах LDAX B, LDAX D – чтение из памяти и в командах STAX B, STAX D – запись в память.
Пример 1.23.
Адрес Число Мнемокод Комментарий
0800 3A 00 0B LDA 0B00h ; пересылка из ячейки адресом 0B00 в ре- ;гистр A
0803 32 10 0B STA 0B10h ; пересылка из A в ячейку с адресом 0B10
Это – медленные трёхбайтные 13-тактовые команды. Кроме трёх машинных циклов требуемых для чтения байтов команды, необходим ещё один цикл на выполнение операции пересылки.
Пример 1.24.
Адрес Число Мнемокод Комментарий
0800 1A LDAX D ; пересылка из ячейки M(DE) в
; аккумулятор
0801 02 STAX B ;пересылка из аккумулятора в ячейку ;M(BC)
Эти команды занимают в памяти только один байт памяти. Они требуют на выполнение 7 машинных тактов и предварительного определения адреса в регистровой паре.
Для пересылок с целью записать в регистр процессора или в память какое-то непосредственно указанное число применяются команды типа MVI r,d8 – для записи в регистр и MVI M,d8 – для записи в память. В этих командах непосредственно указанное число обозначено в общем виде – d8, а ячейка памяти M определена косвенно через адрес в регистровой паре HL.
Пример 1.25.
Адрес Число Мнемокод Комментарий
0800 0E 45 MVI B,45h ;пересылка числа 45 в регистр B
0802 36 6B MVI M,6Bh ;пересылка числа 6B в ячейку памяти
;M(HL)
