
- •А.М. Формакидов
- •М.А. Григорьев
- •Содержание
- •Предисловие
- •Описание лабораторного макета
- •Устройство и принцип работы умк
- •Указания мер безопасности
- •Подготовка умк к работе
- •Подготовка к работе макетного тэз м1
- •Теоретическая часть Директива «Индикация и изменение содержимого оперативного запоминающего устройства»
- •Директива «Идентификация и изменение содержимого регистров»
- •Формат директивы:
- •Директива «Заполнение массива памяти константой»
- •Формат директивы:
- •Директива «Определение контрольной суммы массива памяти»
- •Формат директивы:
- •Директива «Перемещение массива памяти в адресном пространстве»
- •Формат директивы:
- •Директива «Передача управления программе пользователя»
- •Формат директивы:
- •Последовательность нажатия клавиш:
- •Задание для выполнения лабораторной работы
- •Состав отчета по лабораторной работе
- •Контрольные вопросы
- •Лабораторная работа №2 «Исследование простейших команд, запуск и выполнение простых программ»
- •Порядок выполнения работы
- •Теоретическая часть
- •Задание для выполнения лабораторной работы
- •Состав отчета по лабораторной работе
- •Контрольные вопросы
- •Лабораторная работа №3 «Режимы адресации. Исследование выполнения команд арифметических и логических операций»
- •Порядок выполнения работы
- •Теоретическая часть
- •Задание для выполнения лабораторной работы
- •Состав отчета по лабораторной работе
- •Контрольные вопросы
- •Лабораторная работа №4 «Исследование выполнения команд пересылки данных, управления, ввода-вывода и работы со стеком»
- •Порядок выполнения работы
- •Теоретическая часть
- •Задание для выполнения лабораторной работы
- •Состав отчета по лабораторной работе
- •Контрольные вопросы
- •Лабораторная работа №5 «Изучение машинных циклов команд мп кр580вм80а. Выполнение арифметических операций умножения и деления»
- •Порядок выполнения работы
- •Теоретическая часть
- •Задание для выполнения лабораторной работы
- •Состав отчета по лабораторной работе
- •Контрольные вопросы
- •Лабораторная работа №6 «Программирование и режим работы программируемого параллельного интерфейса. Управление клавиатурой и дисплеем с помощью программируемого параллельного интерфейса кр580вв55»
- •Порядок выполнения работы
- •Теоретическая часть
- •Задание для выполнения лабораторной работы
- •Состав отчета по лабораторной работе
- •Контрольные вопросы
- •Система команд микропроцессора кр580вм80а
Состав отчета по лабораторной работе
Отчет должен содержать:
титульный лист;
цель и задачи лабораторной работы;
программы, разработанные при выполнении заданий лабораторной работы;
результаты выполнения индивидуальных заданий;
выводы по лабораторной работе.
Контрольные вопросы
1. Перечень, назначение и процесс выполнения команд арифметических операций.
2. Перечень, назначение и процесс выполнения команд логических операций.
3. Перечень, назначение и процесс выполнения вспомогательных арифметических и логических команд.
4. Перечислите способы адресации в системе команд микропроцессора КР580ВМ80А.
5. Какие способы адресации операндов используются в команде INR A?
6. Какие способы адресации операндов используются в команде MVI M,15?
7. Какие способы адресации операндов используются в команде LDAX В?
8. Какие способы адресации операндов используются в команде PUSH H?
9. Какие способы адресации операндов используются в команде SHLD 0458?
10. Какие способы адресации операндов используются в команде STAX D?
Лабораторная работа №4 «Исследование выполнения команд пересылки данных, управления, ввода-вывода и работы со стеком»
Цель и задачи работы
Цель: закрепление теоретических знаний по изучению различных команд пересылки данных, управления, ввода-вывода и работы со стеком языка программирования ассемблера микропроцессора КР580ВМ80А.
Задачи: изучить особенности программирования с использованием подпрограмм и организации стека микропроцессора КР580ВМ80А, правила выполнения команд пересылки, управления, ввода-вывода и работы со стеком, научиться составлять простые программы на языке Ассемблера и в машинных кодах.
Порядок выполнения работы
1. Ознакомиться с методическим указанием.
2. Изучить форматы и правила выполнения команд пересылки данных, управления, ввода-вывода и работы со стеком МП КР580ВМ80А.
3. Подготовить УМК к работе.
4. Изучить и выполнить индивидуальное задание.
5. Разработать отчет по лабораторной работе.
6. Подготовить ответы на контрольные вопросы.
Теоретическая часть
Под управлением команд пересылки микропроцессор может выполнять обмен между внутренними регистрами процессора, между внутренними регистрами и памятью микро-ЭВМ.
С помощью команд управления, ввода-вывода и работы со стеком микропроцессор может выполнять операции обращения к подпрограммам в программе по различным условиям, безусловные переходы в программе, осуществлять обмен данными с устройствами ввода-вывода через интерфейсные схемы и выполнять операции с использованием стековой памяти.
Форматы всех команд пересылки данных, управления, ввода-вывода и работы со стеком, а также порядок их выполнения представлены в теоретической части лабораторной работы №2 и в приложении (табл. П2) данного пособия.
Стек – это память с линейно упорядоченными ячейками и специальным механизмом доступа, исключающим необходимость указания адреса при записи и чтении. В зависимости от используемого правила доступа, называемого дисциплиной, различают два типа организации стековой памяти: очередь и стек. Дисциплина определяется применительно к входным (записываемым) и выходным (читаемым) последовательностям слов. Очередь реализует дисциплину FIFO (First-In-First-Out – первый поступивший извлекается первым). Стек, в отличие от очереди, организован в соответствии с дисциплиной LIFO (Last-In-First-Out – последний поступивший извлекается первым), т.е. информация из стека выбирается в обратном по отношению к записи порядке.
Физически стековая память МП КР580ВМ80А или просто стек представляет собой набор ячеек оперативной памяти, снабженный указателем стека SP. При обращении к стеку необходимо первоначально назначить область стека в ОЗУ, записав в указатель стека SP адрес вершины с помощью команды LXI SP, data 16 или команды SPHL. Указатель SP всегда адресует «вершину стека», под которой понимается ячейка стека, доступная для чтения. По мере записи и считывания данных из стека содержимое SP меняется: при записи или загрузке в стек, например, при исполнении команд PUSH, значение SP уменьшается – стек растет в сторону младших адресов, а при чтении или выталкивании данных из стека, при исполнении команд РОР, значение SP увеличивается. Указанное правило при обращении к стеку реализуется автоматически, и поэтому при операциях со стеком возможно безадресное задание операнда. В качестве указателя стека обычно используют реверсивный счетчик. Стековая память является безадресной. Обмен данными между МП и стеком осуществляется 16-разрядными словами путем последовательной передачи по шине старшего и младшего байтов слова. Все операции со стеком должны быть сбалансированы т.е. каждая подпрограмма должна иметь равное число команд PUSH и POP. Принцип работы стека и способ адресации его вершины иллюстрирует рис. 40.
В МП стек применяется в качестве средства сохранения адресов возврата и состояния данных при работе с подпрограммами. Его использование приводит к существенным упрощениям при организации вложенных подпрограмм, когда одна программа вызывает другую, которая в свою очередь может вызвать третью и т.д. В таких случаях при каждом вызове адрес возврата текущей программы и другая необходимая информация (содержимое РОН) загружаются в стек. При возврате информация в обратном порядке выбирается из стека. При организации стека, моделируемого в памяти с произвольным доступом, время обращения к элементам данных стека равно времени обращения к памяти. Однако стек, наряду с отмеченными особенностями его использования, эффективнее обычной памяти. Во-первых, используемые при обращении к стеку команды PUSH и POP короче стандартных команд обращения к памяти, так как в них один из операндов неявно адресуется через регистр SP, и, во-вторых, инкремент или декремент указателя SP с образованием нового адреса производится автоматически. Из других применений стека можно выделить его использование для временного хранения данных, когда для них нет смысла выделять фиксированные места в памяти, для организации прерываний, для передачи и возврата параметров при вызовах процедур возвратах из них. Кроме этого, стековая память является важнейшей компонентой процессоров со стековой архитектурой.
а) б) в)
Рисунок 40 – Принцип работы стека и способ адресации его вершины с использованием указателя (SP):
а) стек после инициализации (содержит недействительные данные);
б) стек после записи в него командами PUSH B, PUSH D данных регистровых пар (BC), (DE);
в) стек после извлечения из него командой POP D данных в регистровую пару (DE) (данные в ячейках памяти 0A60, 0A5F стеку не принадлежат)
Основными недостатками стека являются трудность обнаружения ошибок, основными видами которых являются:
- перемещение из стека данных в неверном порядке;
- перемещение в стек или выборка из него избыточных данных;
- переполнение стека или потеря данных в стеке;
- сложность отладки и документирования программ.