- •Исследование однокристального микропроцессора
- •Содержание
- •Приложение 2 условные обозначения операндов в мнемокоде
- •Специальные команды
- •Приложение 2 арифметические и логические операции с одним операндом
- •С двумя операндами
- •Система команд микропроцессора кр580ик80а
- •4. Просмотр и запись данных 6 программно- доступные регистры
-
15-
и
что число на дисплее уже не является
истинным содержимым памяти по указанному
адресу. Убедиться что последующий ввод
чисел осуществляется в младший разряд,
а цифра младшего разряда перемещается
в старший. Запись в ячейку набранного
числа осуществляется нажатием на
клавишу ЗпУВ. (Если будет нажата любая
другая клавиша в информация в ячейке
памяти не изменится).
Задание:
а) записать любые числа в две первые
ячейки ОЗУ и занести данные в табл. 1.2
; б) произвести запись информации по
адресам 002А Н и FFE5
Н, занести данные в табл. 1.2 и объяснить
результат записи информации по данным
адресам.
Таблица
1.2
адрес
ячейк» памяти
содержимое
до записи
записываемые
данные
содержимое
после записи
примечание
Нажать
клавишу ОтРг. На дисплей будет выведено
содержимое регистра А. Используя клавиши
ЗпУВ и Ум просмотреть содержимое всех
регистров. Изменить данные в регистре
можно с помощью цифровых клавиш.
Задание:
а) изменить данные в регистрах А и В и
занести результаты в табл. 1.2; б) определить
и записать адрес начала стека и его
содержимое; в) определить состояние
программного счетчика.
5.
Запуск и выполнение программ пользователя
5.1.
Ввод программы с клавиатуры
Ввести
в последовательные ячейки ОЗУ следующую
программу
Адрес
Мнемокод
Код
команды
комментарий
0800
MVI
В, #FFH
06
Занести
в регистр В
0801
FF
число
FF
(11111111)
0802
DCR
A
3D
Уменьшить
на 1 число в per.
А
0803
СМР
В
B8
Сравнить
числа в per.
А и В
4. Просмотр и запись данных 6 программно- доступные регистры
-16-
0804
CZ
0809 H
CC
Если
А-В=0 то перепрыгнуть
0805
09
на
адрес
0806
08
0809
Н
0807
OUT
04 H
D3
Вывести
бит Аккумулятора в порт
0808
04
04
Н (звуковой сигнал)
0809
JMP
0802 H
C3
Перепрыгнуть
на
080A
02
на
адрес
080B
08
0802
Н
5.2.
Выполнение программы в пошаговом режиме
и ее исследование
Записать
в табл. 1.3 состояние регистров А, В, F,
PC.
Установить программный счетчик на
адрес 0800 Н и нажать на клавишу ШК. После
этого убедиться, что адрес в программном
счетчике инкрементирован, и, просмотрев
содержимое регистров, занести их
состояние в таблицу 1.3. В таблице должно
быть не менее 10 шагов программы.
Таблица
1.3
адрес
кода команды
содержимое
регистра А
содержимое
регистра PC
содержимое
регистра FL
содержимое
регистра В
5.3.
Запуск программы в реальном времени
Установить
программный счетчик на адрес 0800 Н и
нажать на клавишу П. Дисплей Д должен
погаснуть. В результате действия
программы должен появиться звуковой
сигнал частотой около 300 Гц. Останов
выполнения программы можно вызвать
клавишей Ст.
5.4.
Исследование работы программы в
поцикловом' режиме.
Установить
программный счетчик на адрес 0800 Н и
нажать на клавишу ШЦ. Дисплей Д должен
погаснуть. Занести в таблицу 1. 4 информацию
о состоянии основных магистралей в
данном цикле и снова нажать клавишу
ШЦ. Производить исследование программы
до тех пор, пока в магистрали управления
сигнал IOWR
не станет равным 1. Останов выполне-
-21
-
нам
A,B,C,D,E,Н,L, регистровые пары BC, DE, HL и PSW
(образованна аккумулятором А и регистром
признаков F), SP- указатель стека и СР
-счетчик команд. Операндfми могут
являться адреса (ADR) и однобайтные (#D8)
или двухбайтные (#D16) данные.
Например,
приведенная выше однобайтовая команда
в мнемонике будет иметь такой вид: MOV
А,С (от английского MOVE-передвигатъ,
перемешать). Мнемоника команд МП БИС
КР580ВМ80 приведена в Приложении 2. При
записи программы все числа и адреса
представляются в шестнадцатиричной
системе счисления. Поэтому шестнадцатеричный
(гексадецимальный) код данной команды
будет записан как 79
Н.
Рассмотрим
простейшую программу (Программа 1)
извлечения числа из ячейки памяти с
адресом 0810 Н, инвертирования его и
записи в ячейку с адресом 0811 Н, которая
состоит из команд LDA ADR, CMA, STA ADR, RST 1
Программа
1 (в мнемокодах)
Мнемокод
Комментарий
LDA
0810
Получить
число из ячейки с адресом 0810
СМА
Инвертировать
число
STA
0811
Записать
результат в ячейку ЗУ с адресом 0811
RST
1
Прервать
выполнение программы
Для
записи программы в память микро-ЭВМ
необходимо перевести мнемокоды команд
в машинные коды. Для этого нужно
использовать Приложение 3. В горизонтальном
ряду находим второе число кода , а в
вертикальном - первое, соответствующее
мнемокоду команды. Все коды команд
программы записываются в ячейки памяти,
расположенные последовательно друг
за другом: Двух- и трехбайтовые команды
занимают соответственно два или три
последовательных адреса.
Программа
1 (размещение по адресам памяти)
Адрес
Коды
Комментарий
0800
ЗА
Код
команды LDA
0801
10
Младший
байт адреса
0802
08
Старший
байт адреса
0803
2F
Код
команды СМА
0804
32
Код
команды STA
0805
11
Младший
байт адреса
0806
08
Старший
байт адреса
0807
CF
Код
команды RST
1
-20,-
Пояснение
к работе:
Внутренняя
структура микропроцессора К580ВМ80А
представлена на рис.2.1. С помощью
магистралей адреса SA
и данных SD
микропроцессор может обмениваться
цифровой информацией с памятью и
внешними устройствами, а также
обрабатывать эту информацию и управлять
процессом этой обработки. Для того
чтобы заставить МП выполнять операции
над двоичными числами, необходимо
создать программу и записать ее в память
микроЭВМ. Программа представляет собой
список команд, расположенных в
последовательных ячейках памяти. Каждая
команда представляет собой комбинацию
8-разрядных двоичных чисел (байт),
назначение и размер которого определяется
системой команд данного микропроцессора.
Каждая
команда содержит операцию и операнд.
Операция указывает, какое действие
необходимо выполнить микропроцессору,
а операнд - на что направлено, или с чем
произвести это действие. Например, для
того чтобы переслать содержимое регистра
С в регистр А (аккумулятор), необходимо
по шине данных ввести в процессор
двоичный (бинарный) код 01111001 команды
из соответствующей ячейки памяти.
Операнды располагаются в команде
следующим образом. Три младших разряда
кода команд указывают номер
регистра-приемника (R1)
информации. Регистры В, С, D,
Е, Н, L,
кодируются двоичными числами
соответственно от 000 до 100. Код 110
обозначает ячейку ЗУ, адрес которой
сказан в регистровой паре HL,
состоящей из регистров Н nL,
а код 1 II
является кодом аккумулятора. Два старших
разряда кода команды являются операцией
и указывают на то, что эта команда
является однобайтовой (по размеру)
командой пересылки (по содержанию).
Команды,
также, могут быть двух- или трехбайтовыми.
Например, для того чтобы к содержимому
аккумулятора прибавить число 0000 1010 с
учетом переноса при переполнении
старшего разряда и результат занести
в аккумулятор, необходима команда, код
которой 1100 1110 0000 1010- эта команда является
двухбайтовой.
Двоичным
кодом первого байта можно представить
256 двоичных комбинаций. Почти столько
же команд имеет и МП БИС КР580ВМ80 (некоторые
комбинации не используются). Естественно,
что запомнить более 200 кодов команд,
представленных в виде набора единиц и
нулей, почти невозможно. Поэтому каждому
коду команды ставиться в соответствие
мнемоническое название (мнемоника)
команды, которая является сокращением
от английских слов, описывающих ее
действие. Если операндами являются
регистры, то они кодируются по своим
име-
-17-
ния
программы в поцикловом режиме можно
вызвать клавишей Ст.
Таблица
1.4
Цикл
'
Магистраль адресов (двоичный код)
Магистраль
данных (двоичный код)
Магистраль
упр. (двоичный код)
Разобраться
во всей последовательности действий
по выполнению программы микропроцессором.
Содержание
отчета.: работе
должен Отчет по выполненной содержать:
1.
Наименование и цель работы.
2.
Структурную схему учебной микро-ЭВМ.
3.
Карту памяти учебной микро-ЭВМ.
4.
Заполненные таблицы 1.1 - 1.4.
5.
Исходный текст исследуемой программы.
6.
Описание режимов и назначение клавиш
управления микро-ЭВМ.
Контрольные
вопросы:
1.
Какие функциональные узлы входят в
состав микро-ЭВМ?
2.
Поясните назначение основных
функциональных блоков учебной микро-ЭВМ.
3.
Какие функции выполняет микро-ЭВМ в
режиме ожидания?
4.
Для чего необходима карта памяти ЭВМ?
Какие адреса занимает ПЗУ и ОЗУ учебной
микро-ЭВМ?
5.
В каких режимах может работать учебная
микро-ЭВМ?
6.
Как записать информацию в заданную
ячейку памяти или внутренний регистр
МП?
7.
Каково назначение каждой из 26 клавиш
клавиатуры учебной микро-ЭВМ?
8.
В каком режиме, и на каких индикаторах
можно посмотреть состояние магистралей
учебной микро-ЭВМ?
-
-18-
Лабораторная
работа N2
ПРОГРАММИРОВАНИЕ
АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ, РАБОТА С
ВНЕШНИМИ ПОРТАМИ ВВОДА-ВЫВОДА И
ИССЛЕДОВАНИЕ ЦИКЛОВ МИКРОПРОЦЕССОРА.
Цель
работы:
изучить принципы работы, выполнения
отдельных команд МП, и простых программ
с различными методами адресации с
вводом и выводом данных через внешний
порт.
Задание:
1.
Изучить методы программирования в
машинных кодах для МП БИС КР580ВМ80.
2.
Исследовать заданные программы и внести
изменения в исследуемые программы.
3.
Самостоятельно разработать программы
и исследовать их.
Предбауительная
подготовка к выполнению лабораторной
работы
1.
Изучить Л.2 CTp.lS-37,
47-59, Л.4 стр.170-186.
2.
Изучить систему команд МП БИС КР580ВМ80.
3.
Нарисовать внутреннюю структуру и
условное графическое обозначение МП
БИС КР580ВМ80.
4.
Рассмотреть правила выполнения команд
INR А (30), DCR А (3D), ADD А (87), ORA А(В7), СМР A (BF),
DAA (27), IN, OUT.
5.
Видоизменить и записать программу 2
так, чтобы при ее выполнении исследуемое
число первоначально записывалось по
адресу 081F: (Программа 4)
6.
Разработать программы:
а)
увеличения числа записанного по адресу
081А на 5 и записи результата по адресу
081B
(Программа 4);
б)
сложения чисел, записанных по адресу
081C
и в регистре внешнего порта, и записи
результата во внешний порт (Программа
5 должна выполнять десятичную коррекцию
результата).
в)
сравнение чисел записанных по адресам
081F
и в регистре внешнего порта, и записи
большего в регистр внешнего порта
(Программа 6):
г)
используя принцип программы выдачи
звука в лабораторной работе №1 написать
программу, имитирующую работу аварийных
сигналов. В порт вывода должны записываться
1 в самый младший и самый старший разряд
с частотой около 2 герц (Программа 7).
Регистр
адреса Буфер
RA (16) шины
С
адреса
INT х
PC (16)
е
м
Дешиф- SP (16)
INTE а
ратор B (8) C (8)
у
A0 - A15
HLD п
выбора D (8) E (8)
р
Дешиф-
а
ратор регистра H (8) L (8)
HLDA
в команд D0 - D7
л
W (8) Z (8)
е
н Мультиплексор
SR и
я
Регистр
команд Буфер
и
шины
C1
RC(8) Внутренняя шина данных (8)
данных
c
и
C2 н
х
р Регистр
флагов Аккумулятор Схема WR
о
F (8) A(8) управ-
RDY н ления
и
обме-
з
Арифметико- ном RC
WI а
Схема логическое
ц десятичной
устройство
и коррекции (АЛУ)
SYN и
Рис.
2.1 Внутренняя структура микропроцессора
8080 (К580ВМ80А).