Лабораторная работа №1
1.1 Основные характеристики микропроцессора кр580вм80а
Простейшую 8-разрядную микропроцессорную систему (МПС) можно построить на основе микропроцессорного комплекта (МПК) серии КР580 (табл. 1.1), выполненного по n-МДП и ТТЛШ- технологиям.
МПК серии КР580 характеризуется архитектурным единством и обеспечивает автономность и функциональную законченность отдельных интегральных микросхем (ИМС), унификацию их интерфейса, программируемость, логическую и электрическую совместимость.
Характеристика МПК серии КР580:
– фиксированный набор команд;
– большой выбор периферийных интегральных схем большой степени интеграции (БИС) различного назначения;
– относительно высокое быстродействие;
– умеренное потребление мощности.
Кристалл МП помещен в 40-контактный корпус с двухрядным расположением выводов с шагом 2,5 мм между ними (рис. 1.1). Допустимый диапазон температур для КР580ВМ80А: от -10 до +79°C; необходимое питание – три источника: — 5 В (ток потребления менее 1 мА), + 5 В (ток потребления менее 70 мА), +12 В (ток потребления менее 50 мА). Для синхронизации МП требуется наличие двухфазного внешнего генератора с амплитудой тактовых импульсов 12 В и частотой следования до 2,5 МГц.
1.2 Организация микропроцессора кр580вм80а
Микросхема КР580ВМ80А – функционально законченный однокристальный параллельный 8-разрядный микропроцессор (МП) с фиксированной системой команд, применяемый в качестве центрального процессора в устройствах обработки данных и управления.
В составе МП КР580ВМ80А можно выделить четыре логически разделенные части: блок регистров, арифметико-логическое устройство, устройство управления и буфер данных (рис.1.2)
Таблица 1.1 – Микросхемы серии КР580
БИС общего назначения
Стробируемый неинвертирующий регистр
Стробируемый инвертирующий регистр
Неинвертирующий шинный формирователь
Инвертирующий шинный формирователь
Контроллер магистрали И41
Универсальные интерфейсные БИС
Универсальный синхронно-асинхронный приемопередатчик (УСАП)
Программируемый параллельный интерфейс
Программируемый таймер временных интервалов
Программируемый контроллер прямого доступа к памяти (ПДП)
Программируемый контроллер приоритетных прерываний
БИС контроллеров устройств
Контроллер дисплея на основе электронно-лучевой трубки
Контроллер клавиатуры и матричного дисплея
Интерфейс системы МПИ (магистральный параллельный интерфейс) – КОП канал общего пользования)
Контроллер канала общего пользования
Контроллер динамического ОЗУ
Данная логическая организация процессора – архитектура – была определена в 1946 г. американским ученым Дж. Фон Нейманом.
Обмен информацией между этими частями осуществляется с помощью 8-разрядной внутренней шины. По шине передаются команды, адреса, данные, а также информация SW (Status Word) о состоянии процессора в текущем машинном цикле.
В состав интерфейса МП входят три магистрали (канала или шины): трехстабильная 16-разрядная шина адреса A15–A0 (Address Bus, AB), трехстабильная двунаправленная 8-разрядная шина состояния/данных D7–D0 (Data Bus,DB), две линии двухфазной синхронизации Ф1, Ф2 и десять линий управления (Control Bus, CB) – четыре входных и шесть выходных.
Рисунок 1.1 – Условное графическое обозначение (а) и набор регистров (б) микропроцессора КР580ВМ80А
Функциональное назначение входных линий управления:
RESET – Начальная установка.
READY – Сигнал готовности периферийных модулей к обмену.
INT – Запрос векторного прерывания.
HOLD – Запрос доступа к магистрали.
Функциональное назначение выходных линий управления:
SYNC – Сигнал синхронизации по машинным циклам.
WAIT – Сигнал ожидания готовности.
DBIN – Строб ввода данных.
WR – Строб вывода данных.
INTE – Разрешение прерывания.
HLDA – Подтверждение доступа к магистрали
Все действия МП синхронизированы вложенными друг в друга циклами трех уровней: командными, машинными и микротактами.
Командный цикл состоит из нескольких (от 1 до 5) машинных циклов. Каждый машинный цикл представляет собой цикл обращения к системной магистрали: выборку очередного байта команды или данных из памяти, запись в память, ввод или вывод данных. Исключение составляет команда DAD (сложить HL с парой регистров). Она содержит три машинных цикла, однако только в первом цикле происходит обращение к памяти, а два других служат для выполнения команды без обращения к магистралям. Фазу выборки команды всегда реализует первый цикл.
Машинные циклы выполняются по микротактам, определяемым как интервал времени между соседними фронтами импульсов. При частоте импульсов 2 МГц длительность микротакта составляет 500 нс. Один машинный цикл включает 3 – 5 микротактов, при этом первый машинный цикл длится 4 – 5 микротактов, а последующие – 3 микротакта. В течение одного микротакта исполняется один микроприказ. Сигнал SYNC выдается в первом микротакте каждого машинного цикла.
Блок регистров МП
Блок программно доступных регистров МП КР580ВМ80А отличается большой функциональной неоднородностью (рис. 1.3), практически каждый регистр МП выполняет присущую только ему функцию. Такая реализация была выбрана с целью более короткого кодирования системы команд микропроцессора, однако привела к усложнению программирования МП.
Регистры обшего назначения (РОН)
8-разрядные регистры F и A, вместе с 16-разрядными регистрами HL, SP и PC образуют стандартный регистровый набор микропроцессора с аккумулятором. Этот набор расширен четырьмя 8-разрядными регистрами общего назначения (РОН): B, C, D, E, которые в некоторых командах объединяются в 16-разрядные парные регистры BC и DE. Регистры C и E являются младшими регистрами пары, B и D – старшими. Обращение к парам регистров происходит по первому, старшему регистру пары (B, D, H).
Рисунок 1.3 – Набор регистров микропроцессора КР580ВМ80А
В командах ссылки на регистр выполняются как явно, когда регистр кодируется трехразрядным полем, так и неявно (с помощью кода операции), когда код операции подразумевает и способ использования регистров по умолчанию.
Порядок выполнения команд программы зависит от особенностей (признаков) текущих результатов. Для индикации складывающейся ситуации МП формирует двоичные признаки (флаги), отражающие признаки результатов выполнения команд во флажковом регистре F (Flags). Содержимое аккумулятора и регистра флагов называют словом состояния программы PSW (Program Status Word).
Регистр признаков имеет следующий формат (рис. 1.4):
Лабораторная работа №1
Цель работы: Изучить структуру и получить практические навыки работы с программой эмулятора микропроцессорной системы на базе мп КР580ВМ80 (Intel i8080).
- Основные характеристики микропроцессора КР580ВМ80А.
Простейшую 8-разрядную микропроцессорную систему (МПС) можно построить на основе микропроцессорного комплекта (МПК) серии КР580 (табл. 1.1), выполненного по n-МДП и ТТЛШ- технологиям. МПК серии КР580 характеризуется архитектурным единством и обеспечивает автономность и функциональную законченность отдельных интегральных микросхем (ИМС), унификацию их интерфейса, программируемость, логическую и электрическую совместимость. Характеристика МПК серии КР580: – 8-разрядная организация; – фиксированный набор команд; – большой выбор периферийных интегральных схем большой степени интеграции (БИС) различного назначения; – относительно высокое быстродействие; – умеренное потребление мощности. Кристалл МП помещен в 40-контактный корпус с двухрядным расположением выводов с шагом 2,5 мм между ними (рис. 1.1). Допустимый диапазон температур для КР580ВМ80А: от -10 до +79°C; необходимое питание – три источника: — 5 В (ток потребления менее 1 мА), + 5 В (ток потребления менее 70 мА), +12 В (ток потребления менее 50 мА). Для синхронизации МП требуется наличие двухфазного внешнего генератора с амплитудой тактовых импульсов 12 В и частотой следования до 2,5 МГц.
- Архитектура микропроцессора КР580ВМ80А: арифметико-логическое устройство (АЛУ), назначение аккумулятораA, блок регистров общего назначения (РОН), возможности регистровой парыHL;
Арифметико-логическое устройство АЛУ – восьмиразрядная комбинационная схема, выполняющая логические и арифметические операции с 8-разрядными числами в двоичной и десятичной системе счисления, а также операции с двойной точностью (с 16-разрядными числами). АЛУ выполняет следующие операции: арифметические операции – сложение, вычитание; логические операции – логическое умножение, логическое сложение; операции сдвигов – сдвиг содержимого аккумулятора влево или вправо на один разряд; операцию двоично-десятичной коррекции. Схема АЛУ всегда подключена к аккумулятору A и к регистру флагов F. В состав АЛУ входит регистр временного хранения, который используется в тех случаях, когда регистр операнда команды также является регистром результата операции. Также в составе АЛУ находится комбинационная схема десятичного корректора DA, используемого для выполнения операции двоично-десятичной коррекции. Восьмиразрядный аккумулятор А используется в подавляющем большинстве команд логической и арифметической отработки. Обычно он адресуется неявно и служит как источником операнда, так и приемником результата. Благодаря этому в командах МП явно указывается только один операнд. 8-разрядные регистры F и A, вместе с 16-разрядными регистрами HL, SP и PC образуют стандартный регистровый набор микропроцессора с аккумулятором. Этот набор расширен четырьмя 8-разрядными регистрами общего назначения (РОН): B, C, D, E, которые в некоторых командах объединяются в 16-разрядные парные регистры BC и DE. Регистры C и E являются младшими регистрами пары, B и D – старшими. Обращение к парам регистров происходит по первому, старшему регистру пары (B, D, H). Рисунок 1.3 – Набор регистров микропроцессора КР580ВМ80А В командах ссылки на регистр выполняются как явно, когда регистр кодируется трехразрядным полем, так и неявно (с помощью кода операции), когда код операции подразумевает и способ использования регистров по умолчанию. 16-разрядный регистр HL, как правило, служит адресным регистром. При косвенной регистровой адресации он хранит 16-разрядный адрес основной памяти. В этом случае к нему ссылаются с помощью мнемоники М (Memory), например: MOV A, M; содержимое ячейки, адрес которой находиться в паре HL (H — HighByte и L — LowByte) заносится в аккумулятор. В некоторых командах старший и младший байты 16-разрядного регистра HL могут адресоваться независимо и использоваться как отдельные 8-разрядные регистры данных H и L соответственно.
- Назначение регистров специальных функций: регистр указателя стекаSP, регистр программного счетчикаPC, регистр признаков (флагов)F.
РегистрSP(StackPointer) выполняют функцию указателя стека. Стек – специальным образом выделенная область памяти для временного хранения данных – в стеке хранятся слова (двухбайтные данные). Стек оперирует связанными списками данных, а также данными с многоуровневыми вложениями и имеет определенную дисциплину доступа – LIFO (Last—in—first—out – последним вошел – первым вышел), характеризуется глубиной, т.е. количеством информации, сохраняемой в стеке. Содержимое SP указывает на верхний элемент списка – адрес ячейки памяти, из которой информация будет извлекаться в МП при выполнении процедуры чтения стека. Стек называют предекрементным / постинкрементным, если при занесении в стек слова содержимое SP декрементируется, а при извлечении слова – инкрементируется. В МП КР580ВМ80А реализован кольцевой стек – после адреса вершины 0000h устанавливается адрес FFFFh. РегистрPC(ProgrammCounter) выполняет функцию счетчика команд. PC содержит адрес ячейки памяти, из которой выбирается следующая команда. При естественном ходе выборки команд, последовательно размещенных в памяти, содержимое счетчика увеличивается от команды к команде на число, равное количеству ячеек, занимаемых в памяти выполненной командой. Регистр признаков (флагов)F Порядок выполнения команд программы зависит от особенностей (признаков) текущих результатов. Для индикации складывающейся ситуации МП формирует двоичные признаки (флаги), отражающие признаки результатов выполнения команд во флажковом регистре F (Flags). Содержимое аккумулятора и регистра флагов называют словом состояния программы PSW (Program Status Word). Регистр признаков имеет следующий формат (рис. 1.4):
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
M | Z | 0 | АC | 0 | P | 1 | C |
- Назначение устройства управления.
- Организация стека в МП КР580ВМ80А.
- Организация работы с портами в МП КР580ВМ80А.
Лекция 17. Структура и система команд КР580ВМ80
Система команд МП серии КР580ВМ80 содержит команды трех форматов: однобайтные, двухбайтные и трехбайтные.
Содержимое первого байта указывает на формат команды, код операции, вид адресации и регистры или регистровые пары, если они участвуют в выполнении операции. При этом невозможно указать конкретные разряды, которые отводятся под первые три из указанных составляющих команды, потому что они могут находиться в любых разрядах команды. Но, несмотря на это, будем считать что они кодируются как одно поле, которое называется полем кода операции. Варианты форматов первого байта команды приведены на рисунке 9.
Если в выполнении операции участвуют регистры, то один или два из них могут быть указаны в первом байте команды. При этом под номера регистров в поле команды отводятся вполне определенные разряды: три младших разряда (b2 — b0) кодируют номер регистра источника, содержащего операнд, а три средних (b5 — b3) — номер регистра-приемника, в который засылается результат операции. В тех случаях, когда оба или один из этих регистров не участвуют в выполнении операции, соответствующие разряды используются под код операции.
Принято следующее кодирование регистров:
000 — регистр В, 100 — регистр Н,
001 — регистр С, 101 — регистр L,
010 — регистр D, 110 — ячейка памяти,
011 — регистр Е, 111 — аккумулятор А.
Код 100 является признаком косвенной адресации к памяти с помощью 16-разрядного адреса, размещенного в регистрах Н и L. В зависимости от расположения этого кода в команде, обращение к соответствующей ячейке памяти производится или за операндом, или для записи результатов операции.
Ряд команд МП предусматривает обработку или передачу чисел двойной длины. В этих случаях пары регистров В и С, D и Е или Н и L объединяются в 16-разрядные регистры, имеющие номера 00, 01 и 10 соответственно. Под номера регистровых пар в командах отводятся разряды b2 и b1 (регистр-источник), b5 и b4 (регистр-приемник), а разряды b0 и b3 используются для указания кода операции.
К двухбайтным командам в МП относятся команды с непосредственной адресацией и команды ввода-вывода. Соответственно второй байт команды этой группы содержит 8-разрядный операнд или 8-разрядный адрес устройства ввода или вывода.
В трехбайтных командах второй и третий байты содержат 16-разрядные адреса (в командах с прямой адресацией) или 16-разрядные операнды (в командах загрузки регистровых пар и указателя стека).
После выполнения каждой операции а АЛУ вырабатывается пять признаков, значения которых могут влиять на выполнение последующих команд обработки информации и условной передачи управления. Однако следует иметь ввиду, что различные команды по-разному влияют на отдельные признаки.
Для удобства сохранения и восстановления состояния МП во время прерываний и перехода к подпрограммам все указанные признаки сохраняются в специальном регистре — регистре признаков. Расположение признаков в разрядах регистра приведено в таблице.
где S — признак “знака” (принимает значение старшего разряда
Z — признак нулевого результата;
АС -признак вспомогательного переноса (если есть перенос
между тетрадами байта, то АС=1, иначе АС=0;
Р — признак четности результата (если число единиц в байте
результата четно, то Р=1, иначе Р=0);
С — признак переноса или заема (если при выполнении коман-
ды возник перенос из старшего разряда или заем в стар-
ший разряд то С=1, иначе С=0).
Примечание: Для команд логического умножения признак вспомогательного переноса АС принимает значение четвертого разряда результата.
Полностью система команд МП серии КР580ВМ80 приведена в приложении учебного пособия «Микропроцессоры и микропроцессорные системы». Там же для каждой команды указывается как, после ее выполнения, изменяется значение каждого признака: устанавливается в соответствии с результатом операции (+), не изменяется (-), сбрасывается в нуль (0) или устанавливается в единицу (1).
В общем случае команда должна содержать следующую информацию:
— код операции, указывающий операцию, которую должен выполнить МП;
— адреса двух операндов (слагаемых, вычитаемых и т.д.). Если какой- либо из операндов является константой, то вместо его адреса в команде может быть задано значение самого операнда. Однако это обстоятельство должно быть отобржено в коде операции, что бы МП использовал соответствующую часть команды с указанным ее назначения;
— адрес ячейки памяти в которую должен быть помещен результат операции;
— адрес следующей команды.
Т.е. Об этом говорит сайт https://intellect.icu . команда в общем случае является четырехадресная. Однако, такая структура команд приводит к более длинному формату команд, что, в свою очередь, сопряжено с более сложным процессом их обработки и структурой процессора. Поэтому, в МП технике наибольшее распространение получили безадресные и одноадресные команды, позволяющие построить простой процессор. Однако, при выполнении сложных операций находят применение различные форматы команд.
В системе команд МП серии 580 имеются однобайтные, двухбайтные и трехбайтные команды.
Информация о способе адресации выполняемой команды содержится в коде операции первого байта команды.
Для ускорения вычислений некоторые операнды хранятся в блоке РОН. Команды, работающие с этими операндами, используют укороченные адресные коды (регистровую адресацию).
Эти команды позволяют исключить сравнительно длинный цикл обращения к ОЗУ и тем самым существенно повысить скорость выполнения операций. В связи с ограниченной разрядностью РОН и при работе с большим массивом данных, используются другие методы адресации, которые позволяют обращаться к операндам, расположенным во внешней по отношению к МП памяти. Наиболее распространенной является косвенная регистровая адресация, которая использует регистровую пару HL.
17.1. Пересылки однобайтовые
Команды этой группы не изменяют содержимого регистра признаков РгП (F). Принципы их выполнения иллюстрирует рис. 17.1.
Ниже рассмотрим в качестве примера последовательность из нескольких команд однобайтовых пересылок. Операнды и адреса записаны в шестнадцатеричной системе счисления. Кроме того, здесь и далее предполагается, что аккумулятор, ячейки памяти и регистры первоначально (до записи) содержат 00:
Рис.17.1. Схема взаимодействия узлов МП при выполнении однобайтовых пересылок
17.2. Пересылки двухбайтовые
Команды этой группы не изменяют содержимого РгП (F). Принципы их выполнения иллюстрирует рис. 17.2. Предполагается, что PSW≡(A)(F).
Рис.17.2. Схема взаимодействия узлов МП при выполнении двухбайтовых пересылок; & — двухбайтовый операнд; остальные обозначения аналогичны рис.17.1
Поясним две команды:
XCHG – это обмен содержимым пар HL и DE, причем (H) « (D), (L) « (E);
XTHL – это обмен содержимым пары HL и верхушки стека. Значение SP не изменяется, при этом (L) « ((SP)) и (H) « ((SP)+1).
Рассмотрим в качестве примера несколько команд двухбайтовых пересылок.
17.3. Операции в аккумуляторе
Команды этой группы изменяют содержимое РгП (F) в соответствии с содержимым аккумулятора (рис. 17.3).
Выполняемые операции подразделяются на двуместные и одноместные.
В общем случае РОН = AçBçCçDçEçHçL; СКО – символьный код операции.
В свою очередь, двуместные операции в аккумуляторе делятся на арифметические и логические.
— сложение содержимого аккумулятора с содержимым РОН, ячеек памяти (косвенная адресация по HL), непосредственным операндом;
— сложение содержимого аккумулятора и тех же операндов и бита переноса C (часто обозначают CY);
— вычитание из содержимого аккумулятора содержимого РОН, ячеек памяти (косвенно адресуемых по HL) или непосредственного операнда;
— вычитание из содержимого аккумулятора тех же операндов и бита переноса;
— сравнение содержимого аккумулятора с содержимым РОН, ячейками памяти (косвенно адресуемых по HL), непосредственным операндом.
Рис.17.3. Схема взаимодействия узлов МП при выполнении двуместных операций в аккумуляторе
В последнем случае вычисляется разность (A) – (операнд), которая никуда не записывается (т.е. A не изменится), а используется для установки флагов в регистре признаков F.
Рассмотрим несколько примеров:
SUB M A ¬ (A) — (ячейка (M));
ACI 07 A ¬ (A) + 07 + C;
CMP D (A) — (D) ® установка F, (A) – не изменилось.
· Логические (побитовые) операции:
— конъюнкция содержимого аккумулятора с содержимым РОН, ячейки памяти (косвенно адресуемой по HL), непосредственным операндом.
— дизъюнкция содержимого аккумулятора с содержимым РОН, ячейки памяти (косвенно адресуемой по HL), непосредственным операндом.
— сложение по модулю 2 с содержимым РОН, ячейки памяти (косвенно адресуемой по HL), с непосредственным операндом.
Рассмотрим несколько примеров:
ORA M A ¬ (A) Ú (ячейка (M));
XRI F4 A ¬ (A) Å F4.
DAA – десятичная коррекция аккумулятора при работе с двоично-десятичными числами.
CMA – инверсия аккумулятора;
STC – установка бита C (т.е. C ¬ 1);
CMC – инверсия бита C (т.е. C ¬`C).
Две последние команды выполняются в РгП (F).
· Сдвиги на 1 разряд:
Примеры реализации сдвиговых команд приведены на рис. 17.4.
Рис.17.4. Схема выполнения операций сдвига
17.4. Операции в РОН и памяти
Ряд операций в МП комплекте КР580 могут быть выполнены помимо аккумулятора, непосредственно в РОН и ячейках памяти. К таким операциям относятся:
Арифметические однооперандные операции увеличения на 1 (инкремент) и уменьшения на 1 (декремент) являются распространенными операциями для организации счетчиков при просмотре таблиц. На рис. 17.5 представлены примеры выполнения этих команд с РОН, регистровой парой и ячейкой памяти, косвенно адресуемой по HL.
Рассмотрим два примера:
Следует помнить, что при инкременте/декременте регистровой пары содержимое рассматривается как единое 16-разрядное число. При выполнении этой команды РгП не изменяется. При выполнении команды инкремента/декремента РОН и ячеек памяти, косвенно адресуемых по HL, РгП изменяется.
Сложение двухбайтовых операндов
DAD rp HL ¬ (HL) + (rp)
В РгП изменяется только признак C (CY).
17.5. Команды управления
Команды этой группы не изменяют содержимого РгП (F).
Команды безусловного перехода
По прямому адресу
JMP @, где @ – двухбайтовый адрес (@ ® PC).
По косвенному адресу
PCHL – адрес перехода хранится в регистровой паре HL. При ее выполнении (HL) → PC.
Команды условного перехода
Jcon @, где con – мнемоника условия от английского слова condition.
Ранее отмечалось, что в качестве условия перехода используют состояние разрядов (флажков) РгП (F). Мнемоника, соответствующая этим состояниям, представлена на рис. 17.6.
Рис.17.6. Регистр признаков РгП(F)
Например: JC 8BFE – при C=1 переход по адресу 8BFE, при C=0 выполняется следующая по адресу команда.
Команды вызова ПП и возврата
Ранее отмечалось, что адрес возврата автоматически сохраняется в стеке, т.е. (PC) ® стек.
CALL @ – вызов подпрограммы;
RET – возврат из подпрограммы.
Ccon @ – вызов подпрограммы;
Rcon – возврат из подпрограммы.
Действие команд аналогично действию команд условного перехода, т.е. если условие истинно, то вызов или возврат. Если нет, то выполняются следующие команды.
Прочие команды управления
RST n, где n = 0,1. 7 – рестарт по вектору прерывания n.
При выполнении этой команды происходит передача управления подпрограмме, обслуживающей данное прерывание. В процессе выполнения команды RST содержимое счетчика команд PC запоминается в стеке, а в PC записывается адрес соответствующего вектора прерывания.
Этот адрес задается следующим образом. Команда RST имеет структуру 11NN N111, т.е. один байт. Трехразрядная комбинация NNN задается значением n (n = 0. 7). В счетчик команд РС заносится значение 0000 0000 00NN N000, которое служит адресом соответствующего вектора прерывания.
Таким образом, задавая определенное значение n, можно сформировать адрес одного из восьми векторов прерывания. Эти адреса располагаются в зоне от 0000H до 0038H адресного пространства и идут через 8 байт, т.е. под них зарезервированы первые 64 ячейки памяти (каждому из 8- векторов отведено по 8 байт). В этих зонах (по 8 байт) записывают только команды перехода к соответствующим подпрограммам (обработчикам), которые располагаются в других областях памяти.
Прерывающие подпрограммы (как и обычные подпрограммы) обязательно заканчиваются командой RET. В процессе выполнения этой команды адрес команды основной программы, перед которой произошло прерывание, выбирается из стека и передается в регистр адреса РА, а увеличенное на 1 значение заносится в счетчик команд.
EI – разрешение прерывания. Эта команда ставится в начале участка программы, на котором разрешено прерывание. По этой команде триггер разрешения прерывания в УУ МП устанавливается в состояние 1.
DI – запрещение прерывания. Эта команда ставится в конце участка программы, на котором разрешалось прерывание, и сбрасывает триггер в состояние 0.
NOP – «пустая» команда. Осуществляет пропуск четырех тактов. Изменяется только PC.
HLT – останов. Вызывает прекращение выполнения программы и переход в состояние останова. МП отключается от внешних шин адреса и данных (т.е. их буферы переходят в состояние Z). На выходе WAIT (ожидание) устанавливается уровень 1. Это состояние может быть прервано сигналами запуска МП либо переводом его в состояние прерывания.
17.6. Эмулятор МП КР580ВМ80
Начало работы с программой в основном заключается в написании или загрузке программы на Ассемблере в эмулятор. Для этого можно воспользоваться либо панелью системы команд программы, либо панелью редактирования значений ячеек ОЗУ эмулятора, либо загрузить образ ОЗУ с носителя.
При необходимости, можно заполнить соответствующими значениями регистры общего назначения эмулятора.
После чего, для подробного изучения каждого такта конкретной команды, можно воспользоваться кнопкой тактированного выполнения команды.
Для выполнения программы в командном режиме, (к примеру, для отладки программы) используется кнопка командного режима.
Соответственно, для выполнения программы целиком, следует пользоваться кнопкой программного режима.
Если выполнение программы завершается командой останова 76h HLT, устанавливается флаг останова микропроцессора HLDA и выдается соответствующее сообщение. Работу с эмулятором можно продолжить, сняв флаг при помощи пункта меню «МП-система→Снять флаг HLDA», либо воспользовавшись клавишей F12 на клавиатуре, либо произвести сброс РОН (см. ниже).
Для очистки (обнуления) РОН и/или ОЗУ эмулятора, воспользуйтесь группой кнопок «Сброс», либо пунктом меню программы «Файл→Новый (очистить память и регистры)»
После написания программы на языке Ассемблера, ее можно сохранить в виде образа ОЗУ и РОН эмулятора на какой-либо носитель, и при следующей надобности, также загрузить в эмулятор. Загружать и сохранять можно не только весь образ, но и часть ОЗУ эмулятора.
Для удобства работы с написанными программами в виде таблиц или текстовых документов, предусмотрены возможности экспорта части содержимого ОЗУ и/или РОН эмулятора в MS Excel, MS Word и текстовый файл.
Также предусмотрена возможность печати части содержимого ОЗУ и/или РОН эмулятора на принтере.
Рисунок – Формат команд
Рисунок – Система команд МП КР580ВМ80
Главное окно программы:
Система команд МП КР580ВМ80:
17.7. Контрольные вопросы
1. Схемы взаимодействия узлов МП КР580ВМ80 при выполнении одно- и двухбайтовых пересылок.
2. Схема взаимодействия узлов МП КР580ВМ80 при выполнении двуместных операций в аккумуляторе.
3. Виды операций сдвига и схема их выполнения.
4. Команды управления в МП КР580ВМ80.
Надеюсь, эта статья про система команд кр580вм80, была вам полезна, счастья и удачи в ваших начинаниях! Надеюсь, что теперь ты понял что такое система команд кр580вм80, кр580вм80 и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Компьютерная схемотехника и архитектура компьютеров
Ответы на вопросы для самопроверки пишите в комментариях, мы проверим, или же задавайте свой вопрос по данной теме.
Файл: Исследование работы и устройства МП КР580ВМ80/КР580ВМ80А.docx
Цель работы: Ознакомление с работой микропроцессора КР580 и работой эмулятора emКР580.
- В программе emKP 580 был написан код на языке Assambler :
- После сохранения и ассемблирования я перешла в программе в режим эмулирования:
- Анализ программы в режиме пошагового выполнения:
Произошла адресация содержимого регистра (В) в Аккумулятор. Сложение (А) с байтов в ячейке, расположенной по адресу в паре регистров В, L. Флаг (P) установлен на 1, поэтому программа не переходит по метке LAB_1. После происходит декрементация (В) и инкрементация пары регистров (Н, L) и переход в подпрограмму PROC_1: В подпрограмме PROC_1 происходит сдвиг значения (А) влево и запись результата в регистр (В). После чего подпрограмма закрывается и продолжается работа основной программы: Следующий шаг заключается в записи содержимого регистра (В) в ячейку по адресу пары регистров (H, L) и из (А) вычетается байт в регистр (В), а результат заносится в (А): В результате чего флаг (Z) устанавливается на единицу.
- Анализ программы в режиме одного приёма:
Результаты совпадают с пошаговым выполнением программы.
- Анализ программы в пошаговом режиме без захода в подпрограмму:
Все шаги до вызова подпрограммы PROC _1 идентичны: Результат выполнения программы такой же, как и в уже рассмотренных режимах:
- Результат работы программы при изменении адреса ячейки и вводимых данных в первых трёх строках кода:
Перед вызовом подпрограммы PROC_1 : После вызова подпрограммы: Конечный результат выполнения программы:
Вывод Ознакомилась с МП KP 580 и его работой, а также работой эмулятора emKP 580, который представляет программу, имитирующую все основные действия, выполняемые МП при обработке им определённого кода. Также узнала о командах МП и его архитектуре. Анализировала работу программы, написанную на языке Ассемблер в трёх режимах. Помимо этого, проанализировала работу программы с изменёнными числовыми значениями адреса и данных.
Смотрите также файлы
- Системы реального времени.docx
- Ответык тестам.docx
- Six wives of Henry VIII.docx
- Интернет. Интернет протокол IP.docx
- РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА.docx