Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МП_лекции 2011.DOC
Скачиваний:
14
Добавлен:
18.09.2019
Размер:
2.13 Mб
Скачать

Учебная микроЭвм

Структурная схема, отражающая архитектуру учебной микро-ЭВМ, предназначенной для практического овладения принципами построения микро-ЭВМ, различного назначения на базе МПК серии 580, для обучения программированию и отладке программного обеспечения данного МПК, приведена на рис.1. МП содержит 16-разрядную шину адресов SA и 8-разрядную двунаправленную шину данных SD и магистраль управления, состоящую из линий, передающих системные сигналы. Тактирование МП осуществляется кварцевым генератором тактовых импульсов (ГТИ) на БИС КР580ГФ24, формирующим два сдвинутых по фазе сигнала C1 и C2, а также синхросигналами RESET и некоторыми другими.

Для повышения нагрузочной способности адресной магистрали внешние шина адреса подключена к внутренней шине МП через буфер адреса (РА). В качестве буфера адреса используются два восьмиразрядных приемопередатчика К580ВА86 с трехстабильным выходом (лог. 0, лог. 1 и высокоимпендансное состояние). Шина данных микропроцессора подключена к системному контроллеру СК, реализованному на микросхеме К580ВК28, и выполняющему функции двунаправленного буфера данных и регистра слова состояния, фиксирующий по стробирующему сигналу SYN информацию о состоянии (выполняемом цикле) МП, который выдается на шину данных в начале каждого цикла. Системный контроллер содержит также дешифратор, выдающий в зависимости от кода слова состояния системные сигналы магистрали управления IORD (чтение из внешнего устройства ВУ), IOWR (запись в ВУ), MRD (чтение из памяти), MWR (запись в память), INTA (режим прерывания). Эти сигналы образуют шину управления и используются блоком управления картой памяти БУКП.

Хранение программы и данных необходимых для работы микроЭВМ, осуществляется в постоянном и оперативном запоминающих устройствах (ПЗУ и ОЗУ) блока памяти. Каждая ячейка памяти содержит 1 байт (8 бит) информации и адресуется в микро-ЭВМ четырехразрядными шестнадцатиричными числами от 0000 H до FFFF H. Картой памяти называется информация о распределении адресного пространства данной микро-ЭВМ.

Внутренняя структура микропроцессора К580ВМ80А представлена на рис.. С помощью магистралей адреса SA и данных SD микропроцессор может обмениваться цифровой информацией с памятью и внешними устройствами, а также обрабатывать эту информацию и управлять процессом этой обработки. Для того чтобы заставить МП выполнять операции над двоичными числами, необходимо создать программу и записать ее в память микроЭВМ. Программа представляет собой список команд, расположенных в последовательных ячейках памяти. Каждая команда представляет собой комбинацию 8-разрядных двоичных чисел (байт), назначение и размер которого определяется системой команд данного микропроцессора.

Каждая команда содержит операцию и операнд. Операция указывает какое действие необходимо выполнить микропроцессору, а операнд – на что направлено или с чем произвести это действие. Например, для того чтобы переслать содержимое регистра С в регистр А (аккумулятор), необходимо по шине данных ввести в процессор двоичный (бинарный) код команды 01111001 из соответствующей ячейки памяти. Операнды распологаются в команде следующим образом. Три младших разряда кода команд указывают номер регистра-источника, а следующие три – регистра-приемника (111) информации. Регистры B, C, D, E, H, L, кодируются двоичными числами соответственно от 000

до 100. Код 110 обозначает ячейку ЗУ, адрес которой указан в регистровой паре HL, состоящей из регистров H и L, а код 111 является кодом аккумулятора. Два старших разряда кода команды являются операцией и указывают на то, что эта команда является однобайтовой (по размеру) командой пересылки (по содержанию).

Команды, также,могут быть двух или трех байтовыми. Например, для того чтобы к содержимому аккумулятора прибавить число 0000 1010 с учетом переноса при переполнении старшего разряда и результат занести в аккумулятор, необходима команда, код которой 1100 1110 0000 1010 - эта команда является двухбайтовой.

Двоичным кодом первого байта можно представить 256 двоичных комбинаций. Почти столько же команд имеет и МП БИС КР580ВМ80 (некоторые комбинации не используются). Естественно, что запомнить более 200 кодов команд, представленных в виде набора едениц и нулей, почти невозможно. Поэтому каждому коду команды ставиться в соответствие мнемоническое название (мнемоника) команды, которая является сокращением от английских слов, описывающих ее действие, и регистрам с помощью букв от A до F, H, L, регистровых пар BC,DE, HL и PSW (образованной аккумулятором А и регистром признаков F), SP - указателя стека и CP - счетчика команд, c которым производятся операции в данной команде.

Например, приведенная выше однобайтовая команда в мнемонике будет иметь такой вид: MOV A,C (от английского MOVE-передвигать, перемешать). Mнемоника команд МП БИС КР580ВМ80 приведена в таблице 1. При записи программы все числа и адреса представляются в шестнадцатиричной системе счисления. Поэтому шестнадцатеричный (гексадецимальный) код данной команды будет представлен как 79 Н. Рассмотрим простейшую программу (Программа1) извлечения числа из ячейки памяти с адресом 0B00 Н, инвертирования его и записи в ячейку с адресом 0B01 Н.

Программа 1 (в мнемокодах)

Мнемокод Коментарий

LDA 0В00 Получить число из ячейки с адресом 0B00

CMA Инвертировать число

STA 0В01 Записать результат в ячейку ЗУ с адресом 0B01

RST 1 Прервать выполнение программы

Для записи программы в память микро-ЭВМ необходимо перевестимнемокоды команд в машинные коды. Для этого можно воспользоваться таблицей ??????. В горизонтальном ряду находим первое число кода , а в вертикальном - второе, соответствующее мневмокоду команды. Все коды команд программы записываются в ячейки памяти,расположенныепоследовательно друг за другом. Двух- и трехбайтовые команды занимают соответственно два или три последовательных адреса.

Программа 1 (размещение по адресам памяти )

Адрес Коды Комментарий

0800 3А Код команды LDA

0801 10 Младший байт адреса

0802 08 Старший байт адреса

0803 2F Код команды CMA

0804 32 Код команды STA

0805 11 Младший байт адреса

0806 08 Старший байт адреса

0807 CF Код команды RST 1

Предварительную запись команд программ удобно проводить в более командной форме. В программе указывается начальный адрес каждой команды и при этом понимается, что в зависимости от длины команды в памяти будет заниматься от одной до трех ячеек. При такой записи в левом столбце указывается адреса команд в программе. Это позволяет сократить объем при описании команд программ и сделать более простым их анализ. Так будет выгладеть программа, записанная на языке Ассемблер.

Программа 1 (общий вид записи).

Адрес Мнемокод Машинный код Комментарий

0800 LDA, 0B00 3А 00 0B ;Получить число

0803 CMA 2F ;Инвертировать число

0804 STA, 0B01 32 01 0B ;Записать число в память

0807 RST 1 CF ;Прервать программу

В данной программе используется прямой способ адресации. Рассмотрим программу аналогичную программе 1 с использованием косвенного способа адресации ( программа 2 ).

Программа 2.

Адрес Мнемокод Машинный код Комментарий

0800 LXIH,0B00 21 00 0B ;записать в регистры H,L

;число 0B00

0803 MOV A,M 7Е ;извлечь число из адреса,

;указанного в регистрах H и L

0804 CMA 2F ;инвертировать число

0805 INX M 23 ;увеличить на одно число в

;регистрах H и L

0806 MOV M,A 77 ;записать число по адресу,

;указанному в регистрах H,L

0807 RST 1 CF ;прервать программу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]