
- •Основы микропроцессорной техники
- •Введение
- •1. Система команд микропроцессора 8080 Представление команд в числовой форме
- •Мнемоническое представление команд Ассемблер
- •Директивы Ассемблера процессора 8080
- •Методы адресации операндов команд
- •Биты признаков
- •Общее представление команд
- •Команды пересылок
- •Однобайтные пересылки
- •Двухбайтные пересылки
- •Команды передачи управления
- •Команды безусловных переходов
- •Команды условных переходов
- •Команды организации подпрограмм
- •Команды безусловных вызовов и возврата
- •Команды условных вызовов и возврата
- •Команды арифметических, логических и сдвиговых операций
- •Команды сложения
- •Команды вычитания
- •Команды логических операций
- •Команды сравнения
- •Команды сдвига
- •Специальные арифметическо-логические команды
- •Команды управления стеком
- •Команды ввода, вывода и управления состоянием процессора Команды ввода и вывода
- •Команды управления прерываниями
- •Команда перевода процессора в состояние останова
- •Учебная микро-эвм умк-80
- •Управление микро-эвм средствами Монитора
- •Чтение и модификация содержимого памяти хххх
- •Чтение и модификация содержимого регистров
- •Запуск программы пользователя
- •Отражение типа машинного цикла через слово состояния
- •Пошаговые режимы
- •Порядок выполнения работы Заполнение памяти средствами Монитора
- •Определение исходного положения области стека
- •Ввод программы средствами Монитора
- •Лабораторная работа № 1.2 Учебная микро-эвм умпк-80
- •Краткие сведения из теории Назначение умпк-80
- •Структура умпк-80 и распределения адресного пространства
- •Управление микро-эвм средствами Монитора
- •Тестирование микро-эвм и начальная установка
- •Порядок выполнения работы Исследование порядка включения умпк-80
- •Исследование содержимого памяти
- •Запись числа в память умпк-80
- •Запись числа в программно-доступные регистры
- •Запуск программы
- •Контроль выполнения команд программы
- •Содержание отчёта
- •Контрольные вопросы
- •Лабораторная работа № 2 Отдельные команды, простые программы
- •Краткие сведения из теории Типы команд
- •Форматы команд
- •Способы адресации операндов
- •Признаки результатов операций
- •Представление программы
- •Порядок выполнения работы Исследование отдельных команд арифметических и логических операций
- •Исследование команд пересылок и способов адресации операндов
- •Исследование команд арифметического сложения
- •Исследование операций сравнения однобайтных чисел
- •Содержание отчёта
- •Контрольные вопросы
- •Библиографический список
Команды управления прерываниями
Работая под управлением программы, процессор является активным элементом в структуре микро-ЭВМ, инициатором выполнения всех операций, всех управляющих действий по отношении к внешним устройствам, предусмотренных выполняемой программой. Но для эффективного управления множеством одновременно работающих устройств, недостаточно активности только процессора. Поэтому в процессоре предусмотрен механизм прерываний процессора. Он предполагает возможность внешнему устройству в нужный ему момент прервать выполнение процессором его текущей программы и отправить процессор на, оформленные в виде подпрограммы, действия по обслуживанию внешнего устройства – инициатора прерывания. А с завершением подпрограммы обслуживания прерывания, предполагается успешный возврат на прежнее место прерванной программы.
В составе механизма прерываний есть программно управляемый триггер разрешения прерывания, способный блокировать реакцию на прерывания или наоборот разрешать прерывания. Команды управления прерываниями производят либо сброс триггера, либо его установку.
Команда EI обеспечивает установку триггера разрешения прерываний и возможность прерывать процессор запросами внешних устройств. Команда DI обеспечивает обратное действие – сброс триггера разрешения прерываний и блокирование реакций процессора на запросы от внешних устройств.
Команда перевода процессора в состояние останова
Основное состояние нормально работающего процессора – состояние выполнения программы. Вместе с тем, часто по условиям алгоритма управления бывает необходимо остановить процессор и включать его в работу только в те моменты, когда это необходимо для обслуживания прерываний от внешних устройств. Это состояние процессора так и называется – останов. Переход в состояние останова обеспечивается однобайтной командой программы – HLT. Процессор прочитает эту команду, дешифрирует её, и поскольку команда однобайтная, инкрементирует свой счётчик команд: (PC)(PC)+1. Затем начнётся фаза выполнения команды, особенность которой состоит в том, что после неё очередная команда выбираться из памяти уже не будет. Вместо этого процессор выполнит машинный цикл останов: перевод линий адреса и линий данных шины в высокоимпедансное состояние и выдачу сигнала WAIT. И далее перейдёт в состояние останова.
При этом предполагается, что далее процессор будет работать по запросам прерываний внешних устройств. С приходом запроса прерывания, процессор выйдет из состояния останова, выполнит машинный цикл прерывания при останове, в рамках которого должен будет прочитать от инициатора прерывания команду вызова подпрограммы. Прочитав эту команду процессор станет её выполнять: отправит в стек текущий счётчик команд и уйдёт на выполнение подпрограммы обслуживания прерывания. Корректно возвратившись из этой подпрограммы процессор должен прийти к команде следующей за командой HLT. То есть в состояние останова он уже не вернётся.
Биты признаков команда HLT не изменяет и требует 4 такта времени.
Команда NOP
Когда требуется, чтобы процессор сделал просто паузу между какими- то операциями, можно эффективно применять предназначенную для этого команду NOP.
Команда NOP не выполняет за один свой машинный цикл никаких программных операций кроме инкрементирования счётчика команд, затрачивая на это 4 такта.
Длительность нужной задержки может определяться количеством повторённых команд NOP.
2. Программирование процессора 8080
Лабораторная работа № 1.1