
- •Основы микропроцессорной техники
- •Введение
- •1. Система команд микропроцессора 8080 Представление команд в числовой форме
- •Мнемоническое представление команд Ассемблер
- •Директивы Ассемблера процессора 8080
- •Методы адресации операндов команд
- •Биты признаков
- •Общее представление команд
- •Команды пересылок
- •Однобайтные пересылки
- •Двухбайтные пересылки
- •Команды передачи управления
- •Команды безусловных переходов
- •Команды условных переходов
- •Команды организации подпрограмм
- •Команды безусловных вызовов и возврата
- •Команды условных вызовов и возврата
- •Команды арифметических, логических и сдвиговых операций
- •Команды сложения
- •Команды вычитания
- •Команды логических операций
- •Команды сравнения
- •Команды сдвига
- •Специальные арифметическо-логические команды
- •Команды управления стеком
- •Команды ввода, вывода и управления состоянием процессора Команды ввода и вывода
- •Команды управления прерываниями
- •Команда перевода процессора в состояние останова
- •Учебная микро-эвм умк-80
- •Управление микро-эвм средствами Монитора
- •Чтение и модификация содержимого памяти хххх
- •Чтение и модификация содержимого регистров
- •Запуск программы пользователя
- •Отражение типа машинного цикла через слово состояния
- •Пошаговые режимы
- •Порядок выполнения работы Заполнение памяти средствами Монитора
- •Определение исходного положения области стека
- •Ввод программы средствами Монитора
- •Лабораторная работа № 1.2 Учебная микро-эвм умпк-80
- •Краткие сведения из теории Назначение умпк-80
- •Структура умпк-80 и распределения адресного пространства
- •Управление микро-эвм средствами Монитора
- •Тестирование микро-эвм и начальная установка
- •Порядок выполнения работы Исследование порядка включения умпк-80
- •Исследование содержимого памяти
- •Запись числа в память умпк-80
- •Запись числа в программно-доступные регистры
- •Запуск программы
- •Контроль выполнения команд программы
- •Содержание отчёта
- •Контрольные вопросы
- •Лабораторная работа № 2 Отдельные команды, простые программы
- •Краткие сведения из теории Типы команд
- •Форматы команд
- •Способы адресации операндов
- •Признаки результатов операций
- •Представление программы
- •Порядок выполнения работы Исследование отдельных команд арифметических и логических операций
- •3Результаты исследования команд арифметических и логических операций
- •Исследование команд пересылок и способов адресации операндов
- •Исследование команд арифметического сложения
- •Исследование операций сравнения однобайтных чисел
- •Содержание отчёта
- •Контрольные вопросы
- •Библиографический список
Управление микро-эвм средствами Монитора
Системный Монитор – это программа, запускаемая сразу после включения микро-ЭВМ или общего системного сброса. Она берёт на себя управление диалогом пользователя с микро-ЭВМ, обеспечивая пользователя необходимым сервисом на этапе подготовки и отладки его программ, то есть до передачи этого управления программе пользователя. Системный Монитор УМК-80 реализует следующие функции:
чтение и модификацию содержимого основной памяти;
чтение и модификацию содержимого регистров процессора;
запуск программ пользователя;
вычисление контрольной суммы выбранной области памяти;
заполнение области памяти (массива) константой.
Пользователю Монитор предоставляет набор команд для управления микро-ЭВМ. Эти команды вводятся в определённом формате и запускаются на выполнение информационными и директивными клавишами пульта. При этом вводимые данные и результат выполнения команды отображаются на дисплее. Общий формат для команд Монитора следующий:
КОП [ПАР1] [ ПАР2] [ ПАР3]
где: КОП – идентификатор команды, соответствующий одной из нажатых клавиш; ПАР1, ПАР2, ПАР3 – параметры команды (до трёх); , – директивные клавиши. Причём, параметры заключённые в скобки являются необязательными.
Вводимые параметры представляют собой адреса или данные, причём, адрес отображается на левых индикаторах, а данные справа. Если при вводе команды Монитора допущена ошибка, то на дисплее выводится символ и программа Монитора возвращается в состояние ожидания приёма команды.
Далее представлены все команды Монитора.
Чтение и модификация содержимого памяти хххх
где: ХХХХ – адрес ячейки памяти.
На дисплее после ввода адреса выводится содержимое данной ячейки. Если далее нажать содержимое ячейки не изменится, а на дисплее будет выведен адрес и содержимое следующей ячейки. Для модификации содержимого ячейки необходимо ввести новое значение и, для записи его в память, нажать клавишу .
Чтение и модификация содержимого регистров
Х
где: Х – идентификатор регистра соответствующего клавише
При этом 16-разрядные регистры вызываются на индикацию побайтно:
– старший байт
программного счётчика (PC);
–
младший байт
программного счётчика (PC);
–
старший байт
указателя стека (SP);
–
младший байт
указателя стека (SP);
– регистр признаков микропроцессора (результатов выполнения операций).
После ввода команды на дисплее отображается содержимое регистра X. Чтобы его изменить надо ввести новое число, затем, для записи нового числа, нажать . Далее можно вводить идентификатор следующего регистра и т.д. Для завершения необходимо нажать .
Запуск программы пользователя
[А1] [ А2]
где А1 – стартовый адрес выполняемой программы; А2 – адрес точки останова.
Если задан только А1, программа выполняется без остановок. Если А1 опущен (вместо него введён ), то программа начинается с текущего значения счётчика команд и может быть прервана в точке А2. В момент останова на дисплей выводится содержимое счётчика команд и запоминаются значения всех регистров, которые можно просмотреть затем из Монитора.
Заполнение массива константой
А1 А2 Х
где А1 – адрес начала массива ОЗУ; А2 – адрес конца массива ОЗУ; Х – константа.
Копирование областей памяти
А1 А2 А3
где А1 – адрес начала копируемого массива; А2 – адрес конца копируемого массива; А3 – адрес начала области куда будет скопирован массив.
Вычисление контрольной суммы массива
А1 А2
где А1 – адрес начала массива; А2 – адрес конца массива.
Пошаговые режимы выполнения программы
Командный и машинный циклы, машинные такты
Процесс выполнения любой программы состоит из последовательного выполнения отдельных команд этой программы. Отработку процессором одной команды называют командным циклом.
В то же время, отработка любой команды сводится к одному или нескольким обращениям процессора к устройствам шины. Обращаться к шине процессору требуется, например, для чтения команд, а также для чтения, записи, ввода или вывода данных выполняемой команды. Всякое такое обращение есть один машинный цикл. При этом, внутренние операции процессора, следующие сразу после обращения процессора к шине и до нового такого обращения, также входят в состав данного машинного цикла. Каждый машинный цикл относится к одному из 10 стандартных типов показанных в табл. 2.3.
Каждый машинный цикл состоит из нескольких (до 4, в зависимости от типа машинного цикла) элементарных последовательных внутренних операций процессора. Эти операции называют машинными тактами. Время их выполнения всегда одинаково и равно периоду тактовых импульсов процессора.
Таблица 2.33
Типы машинных циклов значения слова состояния PSW процессора 8080
Тип |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
MEMR |
INP |
M1 |
OUT |
HLTA |
STACK |
|
INTA |
|
Выбор команды |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
Чтение памяти |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
Запись в память |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Чтение стека |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
Запись в стек |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
Ввод из порта |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
Вывод в порт |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
Прерывание |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
Останов |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
Прер-е из ост-ва |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |