
- •Оглавление
- •Общие сведения о микропроцессоре кр580вм80/кр580вм80а (мп кр580) Цели и задачи практикума
- •Вводная информация
- •Структура мп кр580
- •Блок регистров.
- •Арифметическо-логическое устройство.
- •Структура памяти и форматы команд мп кр580
- •Справочная информация по микропроцессору мп кр580
- •Система команд кр580.
- •Коды команд мп кр580.
- •Лабораторная работа №1.Ознакомление с работой мп кр580 и работой эмулятора emКр580
- •1.1.Руководство пользования эмулятором emКр580
- •1.1.1.Текстовый редактор.
- •1.1.2.Синтаксис редактора.
- •1.1.3.Эмулятор программы.
- •1.2.Задания для самоподготовки
- •1.3.Задания к лабораторной работе
- •1.4.Содержание отчета
- •1.5.Контрольные вопросы
- •Лабораторная работа №2.Исследование системы команд мп кр580
- •2.1.Краткие сведения из теории
- •2.1.1.Способы адресации памяти.
- •2.1.2.Система команд микропроцессора.
- •2.1.2.1Команды пересылки данных.
- •2.1.2.2Арифметические и логические команды.
- •2.1.2.3Команды передачи управления.
- •2.1.2.4Специальные команды.
- •2.2.Задания для самоподготовки
- •2.3.Задания к лабораторной работе
- •2.4.Содержание отчета
- •2.5.Контрольные вопросы
- •Лабораторная работа №3.Подпрограммы и стек
- •3.1.Краткие сведения из теории
- •3.2.Задания для самоподготовки
- •3.3.Задания к лабораторной работе
- •3.4.Содержание отчета
- •3.5.Контрольные вопросы
- •Лабораторная работа №4.Ввод/вывод, маскирование данных и организация условных переходов
- •4.1.Краткие сведения из теории
- •4.1.1.Общие сведения об организации интерфейса ввода/вывода.
- •4.1.2.Маскирование данных.
- •4.1.3.Организация условных переходов.
- •4.2.Задания для самоподготовки
- •4.3.Задания к лабораторной работе
- •4.4.Содержание отчета
- •4.5.Контрольные вопросы
- •Лабораторная работа №5.Выполнение арифметических операций
- •5.1.Краткие сведения из теории
- •5.1.1.Сложение и вычитание.
- •5.1.2.Умножение чисел.
- •5.1.3.Деление чисел.
- •5.1.4.Вычисление специальных функций.
- •5.2.Задания для самоподготовки
- •5.3.Задания к лабораторной работе
- •5.4.Содержание отчета
- •5.5.Контрольные вопросы
- •Литература
Блок регистров.
Микропроцессор КР580 содержит программно-доступные 8-разрядные регистры: регистр-аккумулятор (A или Акк); регистры общего назначения (РОН) B, C, D, E; регистр признаков F; 16-разрядные специализированные регистры: счетчик команд (СК или PC), регистр-указатель стека (УС или SP), сдвоенный регистр косвенной адресации HL (H – регистр старшего полуадреса, L – регистр младшего полуадреса). Кроме этого имеются непосредственно недоступные программе регистры: 8-разрядные регистры временного хранения T, W, Z; 8-разрядный регистр команд (РК); 16-разрядный регистр адреса (РА). Имеется также возможность использовать пары регистров BC и DE для хранения 16-разрядных слов.
РОН используются для хранения операндов, промежуточных и конечных результатов, а также адресов и индексов при косвенной и индексной адресации. Аккумулятор является особым регистром и используется в качестве источника одного из операндов и места, где фиксируется результат операции. В командах аккумулятор в явном виде не адресуется. Из Рис. 0- видно, что он имеет двухступенчатую структуру, что объясняется его особым назначением.
В блоке регистров есть также схема инкрементации/декрементации, которая производит над содержимым регистров (без привлечения АЛУ) операцию прибавления/вычитания 1.
Арифметическо-логическое устройство.
АЛУ реализует простейшие арифметические и логические операции над байтами: сложение, вычитание, логическое И, логическое ИЛИ и т. п. Все более сложные операции (умножение, деление, элементарные функции и пр.) выполняются с помощью подпрограмм.
К одному из входов схемы АЛУ всегда подключен аккумулятор, к другому – любой из РОН (через регистр T). АЛУ непосредственно связано с регистром признаков (F), в соответствующих разрядах которого фиксируются особенности выполнения каждой операции. Структура регистра F приведена в Табл. 0-.
Табл. 0-. Формат регистра флагов (F).
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
S |
Z |
0 |
AC |
0 |
P |
1 |
CY (C) |
Здесь:
S – флаг знака (принимает значение старшего разряда результата). S = 1 – если самый значащий бит результата равен единице, т. е. число отрицательное, иначе S = 0.
Рис. 0-. Структура
памяти МП КР580.
Z – флаг нуля. Z = 1, если результат операции нулевой, иначе Z = 0.
AC – флаг вспомогательного переноса (переноса между тетрадами байта). Если при выполнении операций происходит перенос из младшей тетрады в старшую, то AC = 1, иначе AC = 0. Для команд логического умножения признак вспомогательного переноса (AC) принимает значение 4-го разряда результата (аккумулятора): (AC) A(3)
P – флаг четности (или паритета). Если число единиц в байте результата четно, то P = 1, иначе P = 0. Не следует путать понятие паритета с понятием четности в общеупотребительном смысле (для чисел, представленных в десятичной системе счисления).
CY (C) – флаг переноса (или заема), CY = 1 – если операция привела к переносу из старшего разряда (или заему в старший разряд), иначе CY = 0.
В состав АЛУ входит схема десятичной коррекции (ДК). Она предназначена для того, чтобы под воздействием специальной команды интерпретировать результат выполнения двоичной операции как результат операции десятичной арифметики. Для этого к старшей тетраде в схеме ДК прибавляется число 6, кроме тех случаев, когда-либо не возникал перенос ни из одной тетрады и содержимое старшей и младшей тетрад находится в пределах 0 – 9 и 0 – 9 (или 0 – 8 и A – F) соответственно, либо не было переноса из старшей тетрады, содержащей число 0 – 9 и был перенос из младшей. К младшей тетраде одновременно также прибавляется число 6, кроме случая отсутствия переноса из младшей тетрады, содержащей число 0 – 9. Межтетрадные связи при этом не разрываются. Десятичная коррекция может использоваться, например, в случае, когда необходимо вывести данные на сегментные индикаторы.
Рис. 0-. Форматы
1-, 2-х и 3-хбайтных команд МП КР580.