- •Исследование однокристального микропроцессора
- •Содержание
- •Приложение 2 условные обозначения операндов в мнемокоде
- •Специальные команды
- •Приложение 2 арифметические и логические операции с одним операндом
- •С двумя операндами
- •Система команд микропроцессора кр580ик80а
- •4. Просмотр и запись данных 6 программно- доступные регистры
-29-
MC"
:4: С
С инверсия флага переноса
STC"
:4: 1
С установка флага переноса
СМА
:4: A
А инверсия аккумулятора
DAA'
:4: Десятичная коррекция
INR
"' R :5/10: R+1
R инкремент регистра (памяти)
DCR"'
R :5/10: R -1
R декремент регистра (памяти)
INX
YZ :5: YZ+1
YZ инкремент регистровой пары
DCX
YZ :5: YZ - 1
YZ декремент регистровой пары
ADD'
R :4/7: A+RA
сложения
ADC'
R :4/7: A+R+CA сложения
с учетом переноса
SUB'
R :4/7: A-RА
вычитания
SBB'
R :4/7: A-R-CA
вычитания с учетом заема
ANA'
R :4/7: A
R
A логическое И
ORA'
R :4/7: A
R
A логическое ИЛИ
XRA'
R :4/7: A
R
A исключающее ИЛИ
ADI'
#D8 :7: A + #D8
A увеличения
ACI'
#D8 :7: A+#D8+CA
увеличения с учетом переноса
SUB'
#D8 :7: A - #D8 A
уменьшения
SBI'
#D8 :7: A-#D8-CA
уменьшения с учетом заема
ANI'
#D8 :7: A
#D8A
маскирование по И
ORI'
#D8 :7: A
#D8A
маскирование по ИЛИ
XRI'
#D8 :7: A
#D8A
маскирование искл. ИЛИ
DAD''
YZ* :10: HL+YZHL
двухбайтное сложение
ОПЕРАЦИИ СРАВНЕНИЯ
(В
аккумуляторе значение не изменяется)
CMP'
R :4/7: (A-R) F
установка признаков в F
СРI'
#D8 :7: (A-D8) F
в соответствии с A-R или А - #D8
Приложение 2 арифметические и логические операции с одним операндом
С двумя операндами
-28- Приложение
2
ОДНОБАЙТОВЫЕ ПЕРЕСЫЛКИ
MOV
R1,
R :5/7
: R
R1
регистр-регистр (регистр-память)
MVI
R,
#D8
:7/10: #D8
R
операнда в регистр(или память)
STAX
YZ
:7: AM(YZ)
аккумулятор-память
LDAX
YZ
:7: M(YZ)
A
память-аккумулятор
STA
ADR
:13: AM(ADR)
аккумулятор-память
LDA
ADR
:13: M(ADR)
А
память-аккумулятор;
ДВУХБАЙТОВЫЕ ПЕРЕСЫЛКИ
LXI YZ,
#D16 :10: #D16YZ
операнда в регистроовую пару
SHLD ADR
:16: HM(ADR+1),
из регистрoвой пары HL
LM(ADR)
в память
LHLD ADR
:16: M(ADR) L,
из памяти в регистровую
M(ADR+I) H
пару
PUSH YZ
YZM(SP-1)+
из регистровой пары
+M(SP-2),
SP-2
SP в стек;
POP YZ
:11: M(SP)+M(SP+1)
из стека в регистровую пару:
(POP'PSW)
YZ, SP+2
YZ
SPHL
:5: HL
SP из НL в указатель стека;
ОБМЕН БАЙТАМИ
XCHD :4: HLDE
между
HL и
DE;
XTHL
:18: HM(SP+1),
между HL
и стеком;
L
M(SP)
КОМАНДЫ ВВОДА И ВЫВОДА
IN
N
:10: (N)
A
из порта N
в аккумулятор;
OUT
N :10: A
(N)
из аккумулятора в порт N;
-9-Система команд микропроцессора кр580ик80а
-
-10-
7)
07 Н (вывод) - РгСк;
8)
08 H-OF
Н (вывод) - СУ;
Схема
расположения вышеописанных устройств
на плате учебной микро-ЭВМ показана на
рис. 1.2.
Состояния
портов ввода и вывода индицируются
светодиодными индикаторами ИС (младший
разряд DO
всегда справа). Порт ввода имеет
установочные переключатели (УП) для
установки входного двоичного кода.
Блок индикации состояния магистралей
(БИСМ) позволяет с помощью светодиодных
индикаторов отображать двоичный код
на основных магистралях: адресной
АО-А15, шине данных DO-D8
и магистрали управления (упр.)
соответственно слева направо MRD,
MWR,
IORD,
IOWR,
INTA.
В
микро-ЭВМ ввод и вывод информации
осуществляется в гексаде-цимальном
(шестнадцатиричном) коде. Для вывода
информации служит шестиразрядный
семисегментный светодиодный дисплей.
В первых четырех разрядах высвечивается
адрес ячейки памяти или наименование
регистра (в шестнадцатиразрядных
регистрах к имени старшего байта
добавляется Н (hi),
а к младшему - L
(low)).
5 и 6 разряды индицируют содержимое
содержимое ячейки памяти одного из
программно-доступных регистров МП. Так
как индикатор дисплея отображает
алфавитно-цифровую информацию, т.е.
цифры от 0 до 9 и букв А, В, С, D,
Е, F,
Н, L,
R,
для букв В, D,
Л, O
недостаточно семи сегментов, поэтому
для них используются стилизованные
обозначения
Например,
при чтении содержимого ячейки памяти
с адресом 08ВА H,
если там хранится значение F3
Н, на дисплее индицируется:
При
чтении содержимого регистра D,
если там хранится значение 2С Н, на
дисплее будет следующая информация:
Приложение 1
УСЛОВНОЕ ОБОЗНАЧЕНИЕ МИКРОПРОЦЕССОРА KP580BM80
-
-26
–
регистр
общего назначения). Определить признаки
результатов операций в соответствии
с приложением 4.
Таблица
25
адрес
кода команды
содержимое
регистра А
содержимое
регистра В
содержимое
регистра FL
исходные
данные
4.11.
Исследовать работу программы 7 в реальном
времени. Подобрать время цикла, чтобы
частота мигания светодиодов порта
вывода была около 2 герц. Ззаписать
текст исправленной программы в отчет.
Содержание
отчета.
Ответ
по выполненной работе должен содержать:
1.
Наименование и цель работы.
2.
Внутреннюю структуру МП БИС КР580ВМ80.
3.
Исходные тексты исследуемых программ
1-3.
4.
Исходные тексты видоизмененных и
разработанных программ 2,4,5,6,7 согласно
пунктам 5 и 6 предварительной подготовки
к работе.
5.
Таблицы 2.1-2.5 с полученными результатами
исследования программ 1-6.
Контрольные
вопросы.
1.
За сколько машинных тактов выполняется
каждая команда в программах 1 и 2?
2.
Укажите различие в способах адресации,
использованных в учебной
микро-ЭВМ,
выполненной на БИС МПК серии К580.
3.
Укажите все возможные способы адресации,
используемые при составлении программ
3, 4и 5.
4.
Какую функцию выполняет в МП БИС
КП580ВМ80 регистр FL?
В результате выполнения каких команд,
приведенных в пункте 4 предварительной
подготовки, может произойти изменение
в регистре FL?
5.
Какая команда использует бит
вспомогательного переноса АС в регистре
FL?
6.
Какие сигналы в магистрали управления
осуществляют обмен информацией с
памятью и внешними устройствами?
7.
Преобразуйте восьмиразрядный бинарный
код в гексадецимальный или наоборот.
Клавиатура микро-ЭВМ содержит 26 клавиш 16 из которых являются алфавитно-цифровыми для ввода информации (1, 2, 3, 4, :), 6, 7, S, 9, A, B, C, D, E, F) и 10 клавиш управления режимом (см.рисЛ.З) в число которых входят:
R - установка в начальное состояние (сброс). При сбросе очищаются ячейки программной памяти, и программный счетчик СР устанавливается на адрес 0800 Н.
ШК - выполнение программы в пошаговом режиме (нажатие на клавишу вызывает выполнение одной команды программы, после чего происходит останов).
ШЦ - поцикловое выполнение программы (нажатие на клавишу вызывает выполнение одного цикла команды, при этом гаснет цифровой дисплей (Д) и текущее состояние программы можно отслеживать по состоянию основных магистралей (А0-А15, D0-D8 и упр)).
П - запуск программы в реальном времени.
ПрСт - показать содержимого программного счетчика на дисплее (Д) (адреса памяти, на котором остановлено выполнение программы пользователя)
Ст - (стоп) останов выполнения программы.
ОтА - отыскать адрес (после нажатия на клавишу необходимо набрать на клавиатуре код адреса, после чего высвечивается содержимое адресуемой ячейки памяти).
ОтРг - отыскать регистр (включается отображение на дисплее состояния внутренних программно-доступных регистров первым всегда выводится содержимое аккумулятора).
ЗпУВ -Увеличение (инкрементирование) значения адреса (последовательный просмотр ячеек памяти в сторону увеличения). В режиме ввода информации в ячейку памяти с клавиатуры (горит запятая в последнем разряде) по нажатию этой клавиши введенные данные записываются в память). В режиме просмотра регистров нажатие на клавишу вызывает поочередный вывод содержимого остальных регистров в следующем порядке: А, FL, В, С, D, E, Н, L, SPH, SPL. РСН, PCL.
Ум - Уменьшние (декрементирование) значения адреса (последовательный просмотр ячеек памяти в сторону уменьшения адреса). В режиме просмотра регистров нажатие на клавишу вызывает поочередный вывод содержимого остальных регистров в порядке обратном вышеуказанному.
-12- -25-
нести в таблицу 2.3.
Таблица 2.3
Цикл |
Магистраль адресов (двоичный код) |
Магистраль данных (двоичный код) |
Магистраль упр. (двоичный код) |
|
|
|
|
адрес кода команды |
содержимое регистра А |
содержимое ячейки 081C |
содержимом порта ввода |
содержимом порта вывод |
|
|
|
|
|
Рис.
1.2. Внешний вид учебной микро-ЭВМ.
Таблица
2.4
4.
Исследовать разработанные программы
4,5 и 6.
4.1.
Ввести в микро-ЭВМ программу 4.
4.2.
Записать по адресу 081A
исследуемое число и просмотреть
содержимое ячейки памяти с адресом
081B
и аккумулятора. Результаты занести в
табл. 2.2
4.3.
Осуществить пошаговое исполнение
программы с помощью клавиши ШК, фиксируя
результаты каждого шага в табл.2.2.
4.4.
Ввести в микро-ЭВМ программу 5. Программа
должна содержать команду десятичной
коррекции результата.
4.5.
Записать по адресу 081C
исследуемое число (18 Н) и установить с
помощью переключателей двоичный код
(17 Н) в регистре порта ввода, этот код
должен высветится светодиодными
индикаторами.
4.6.
Осуществить пошаговое исполнение
программы с помощью клавиши ШК, фиксируя
результаты каждого шага в табл-2.4.
4.7.
Изменить код в порте ввода на 19Н и снова
провести исследование программы 4
согласно пункту 4.6. После заполнения
таблицы 4 проверить работу программы
в реальном времени с другими исходными
данными.
4.8.
Ввести в микро-ЭВМ программу 6.
4.9.
Записать по адресу 081F
Н исследуемое число и установить с
помощью переключателей УП двоичный
код в регистре порта ввода.
4.10.
Осуществить пошаговое исполнение
программы с помощью кла виши ШК, фиксируя
результаты каждого шага в табл.2.5. (если
в программе в команде СМР используется
регистр отличный от В, то изменить
заголовок в третьей колонке таблицы
2.5. на соответствующий
-24-
адресу
следующей команды можно произвести
нажатием клавиши ПрСч (программный
счетчик).
Таблица
2.1
адрес
кода команды
содержимое
регистра А
содержимое
ячейки 081A
содержимое
ячейки 081B
2.
Исследовать программу 2.
2.1
Ввести в микро-ЭВМ программу 2.
2.2
Записать по адресу 081A
исследуемое число (по указанию
преподавателя) и просмотреть содержимое
ячейки памяти с адресом 081B
и аккумулятора. Результаты занести в
табл. 2.2.
2.3
Осуществить пошаговое исполнение
программы с помощью клавиши ШК, фиксируя
результаты каждого шага в табл.2.2.
Таблица
2. Z
адрес
кода
команды
содержимое
регистра
А
(аккумул.)
содержимое
регистровой
пары
HL
исходное
число
и его
адрес
результат
и
его
адрес
2.4.
Видоизменить и записать программу 2
так, чтобы при ее выполнении исследуемое
число первоначально записывалось по
адресу 081F.
Исследовать видоизмененную программу
согласно пункту 2.3.
3.
Исследовать программу' 3.
3.1
Ввести в микро-ЭВМ программу 3.
3.2
Установить с помощью переключателей
УП двоичный код в регистре порта ввода,
этот код должен высветится светодиодными
индикаторами. 3.3 Осуществить пуск
программы в реальном времени программы
с помощью клавиши П, записать данные в
портах ввода и вывода. Переустановить
код в порте ввода. Запустить программу
еще раз и записать данные. 3.4. Исследовать
работу программы в поцпкловом режиме.
Результаты :
Рис
1.3. Дисплей и клавиатура учебной
микро-ЭВМ
-23
-
(УП)
для установки входного двоичного кода.
Ввод и вывод данных через порты
осуществляется командами IN
и OUT.
Для вывода результата в регистр внешнего
порта вместо ячейки памяти с адресом
ОВ01 в программе 1 необходимо заменить
код команды STA
ОВ01 на код команды OUT
05. Поскольку команда OUT
двухбайтовая, размер программы
уменьшится.
Программа
2
Адрес
Мнемокод
Машинный
код
Комментарий
0800
LDA,
0810
ЗА
10 08
,
Получить число
0803
СМА
2F
;
Инвертировать число
0804
OUT,
05
D3
05
;3аписать
число в порт 5
0806
RST
1
CF
;
Прервать программу
После
выполнения данной программы результат
будет высвечен ^ двоичном коде светодиодным
индикатором регистра порта вывода.
Точно так-же одно из исходных чисел
можно вводить через порт ввода с помощью
команды IN
05.
Программа
3
Адрес
Мнемокод
Машинный
код
Комментарий
0800
IN,
05
DB05
^Ввести
число из порта 5
0802
СМА
2F
;
Инвертировать число
0803
OUT,
05
D3
05
;3аписать
число в порт 5
0805
RST
1
CF
;
Прервать программу
Методика
выполнения работы.
1.
Исследовать программу 1.
1.1
Ввести в микро-ЭВМ программу 1.
1.2
Записать по адресу 0810 исследуемое число
( по указанию преподавателя) и просмотреть
содержимое ячейки памяти с адресом 08
Ни аккумулятора. Результаты занести в
табл. 2.1. 1.3 Осуществить пошаговое
исполнение программы с помощью клавиши
ШК, фиксируя результаты каждого шага
втабл.2.1. При пошаговом исследовании
программы после просмотра регистров
и ячеек памяти возврат к
-
14 -
Методика
выполнения работы.
1.
Изучение порядка включения микро-ЭВМ.
Включить
блок питания. В результате выполнения
тестовой программы светодиоды выходного
регистра и сегменты дисплея будут
включены на несколько секунд одновременно
со звуковым сигналом и выводится на
дисплей сообщение НАЧАЛО. Находясь в
этом режиме, который называется ОЖИДАНИЕ,
микро-ЭВМ реагирует на нажатие клавиш
правления. Нажать на клавишу R
и убедиться, что все тестовые программы
проходят заново.
2.
Исследовать содержимое памяти
Нажать
клавишу ОтА, при этом на дисплее появится
сообщение начала выполнения режима
отыскания адреса ( _ _ _ _ )- Последовательно
нажать на клавиши 0, 8, 0, 0, при этом
убедиться, что каждая цифра записывается
в младший разряд адресного дисплея и
произойдет сдвиг всех знаков в адресном
дисплее влево. После введения четвертой
цифры на дисплей выводится число,
записанное по адресу 0800 Н. В случае
ошибки необходимо снова нажать клавишу
ОтА и повторить ввод адреса. Нажимая
клавишу ЗпУВ просмотреть содержимое
первых десяти адресов ОЗУ. Используя
клавишу УМ просмотреть содержимое
памяти в обратном порядке.
Задание:
а) просмотреть и занести в табл. 1.1
содержимое ячеек памяти по адресам FE6
- FFO;
б) Просмотреть и записать в табл. 1.1
содержимое первых десяти ячеек ПЗУ.
Таблица
1.1
адрес
ячейки памяти
содержимое
ячейки
3.
Запись информации 6 память микро-ЭВМ
Установить
на дисплей содержимое ячейки памяти с
адресом 0800Н. Нажать на любую
алфавитно-цифровую клавишу. На дисплей
выводится значение цифры в младший
разряд и загорается знак запятой,
свидетельствующий о том, что микро-ЭВМ
находится в режиме ввода данных с
клавиатуры
-
22 -
Предварительную
запись команд программ удобно проводить
в более командной форме. В программе
указывается начальный адрес каждой
команды и при этом понимается, что в
зависимости от длины команды в памяти
будет заниматься от одной до трех ячеек.
При такой записи в левом столбце
указывается адреса команд в программе.
Это позволяет сократить объем при
описании команд программ и сделать
более простым их анализ. Так будет
выглядеть программа, записанная на
языке Ассемблер.
Программа
1 (общий вид записи)
Адрес
Мнемокод
Машинный
код
Комментарий
0800
LDA,
0810
ЗА
10 08
',
Получить число
080З
СМА
2F
.Инвертировать
число
0804
STA,
0811
32
11 08
;3аписать
число в память
0807
RST
1
CF
;
Прервать программу
В
данной программе используется прямой
способ адресации. Рассмотрим программу
аналогичную программе 1 с использованием
косвенного способа адресации ( программа
2)
Программа
2
Адрес
Мнемокод
Машинный
код
Комментарий
0800
LXIH,0810
21
10 08
;3аписать
в регистры H,L
;число
ОВОО
0803
MOV
А.М
7E
^извлечь
число из адреса,
;
указанного в регистрах Н и L
0804
СМА
2F
^инвертировать
число
0805
INXM
23
;
увеличить на одно число в
;регистрах
Н и L
0806
MOV
М,А
77
;3аписать
число по адресу,
;
указанному в регистрах H,L
0807
RST
1
CF
;
прервать программу.
Учебная
микро-ЭВМ имеет имитаторы внешних
устройств в виде двух восьмиразрядных
регистров, один из которых имитирует
порт ввода с адресом 05Н, а другой - порт
вывода с тем же адресом. Состояния
портов ввода и вывода индицируются
светодиодными индикаторами ИС (младший
разряд D0
всегда справа). Порт ввода имеет
установочные переключатели