- •Описание лабораторного макета
- •Устройство умк
- •2. Подготовка умк к работе
- •3. Порядок работы
- •3.1. Описание клавиатуры.
- •Индикация и изменение содержимого памяти.
- •3.3. Индикация и изменение содержимого регистров.
- •3.8. Прерывание выполнения программы пользователя.
- •3.4. Передача управления программе пользователя.
- •3.6. Заполнение массива памяти константой.
- •3.9. Пошаговое выполнение программ.
- •Лабораторная работа № 1 запись и выполнение простых программ
- •Теоретическая часть
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 2 виды адресации и команды пересылок
- •Теоретическая часть
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Указания по оформлению отчета
- •Контрольные вопросы
- •Организация циклов
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5 выполнение арифметических операций
- •Теоретическая часть
- •Задание для домашней подготовки
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Методические указания
- •Способы адресации процессора к1801
- •Форматы команд микропроцессора кр 1801:
- •Коды способов адресации процессора к1801
- •Задание для домашней подготовки
- •Команды переходов
- •Пример 9.2.
- •Пример 9.3
- •Задание для выполнения в лаборатории
- •Контрольные вопросы
- •Лабораторная работа № 10 выполнение арифметических операций в машинных кодах микропроцессора к1801вм1
- •Теоретическая часть
- •Умножение
- •Деление
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Указания по оформлению отчета
- •Контрольные вопросы
- •Приложения
- •Система команд микропроцессора кр580вм80а
- •Система команд мп к1801вм1 Одноадресные команды
- •Двухадресные команды
- •Регистровые команды
- •Команды управления
- •Команды прерываний и специальные команды
- •Изменение кодов условий
- •Условные обозначения
- •Время выполнения команд мп к1801вм1
- •1. Устройство умк 3
3.9. Пошаговое выполнение программ.
Имеются две разновидности пошагового выполнения программ: поцикловый и командный режимы. В поцикловом режиме ОУ переводится в состояние “Ожидание” при выполнении каждого рабочего цикла, а в покомандном режиме лишь при чтении первого байта команды.
Для вызова пошагового режима:
-установите переключатель "РБ/ШГ" в состояние ШГ.
При этом происходит подключение световой индикации:
-переключателем "КМ/ЦК" выберите один из режимов работы;
-передайте управление выполняемой программе.
После этого на световой индикации отобразится начальный адрес программы, данные по этому адресу и содержимое регистра состояния.
Для выхода из этого режима выполните одно из следующих действий:
-нажмите кнопку "СБ";
- установите переключатель "РБ/ШГ" в состояние РБ и нажмите кнопку "ШГ".
Лабораторная работа № 1 запись и выполнение простых программ
Цель работы: ознакомление с системой команд МП КР580ВМ80А и выполнение простых программ, знакомство с картой памяти УМК и сигналами состояния операционного устройства.
Теоретическая часть
МП КР580ВМ8ОА имеет 78 базовых команд, которых можно условно разделить на следующие группы:
1) команды пересылки:
MOV, MVI, LXI, LDA, STA,LDAX, STAX, LHLD, SHLI, XCHB;
2) команды арифметических операций:
ADD, ADC, SVB, SBB, CMP, ADI, ADI, ACI, SVI, SBI, CPI, INR, DCR, INX, DCX, DAD, DAA;
3) команды логических операций :
ANA, XRA, DRA, ANI, XRI, DRI, STC, CMC, PLC, RRC, RAL, RAR, CMA;
4) команды передачи управления:
JMР, JC, JNC, JZ, JNZ, JM, JP, JPE, JPC, RST, СALL, СС, CNC, CZ, CNZ, СР, СM, СРЕ, СРО, RET, RC, RNC, RZ, RNZ, RP, RPE, RPO, PCHL;
5) команды ввода, вывода, обращения к стеку и управления:
IN, OUT, PUSH, POP, XTHL,SPHL, EI, DI, NOP, HLT.
Общий список включает 245 команд. Время выполнения команды определяется процессом получения:, декодирования и выполнения команды. Это время можно представить состоящим из ряда временных интервалов. Наиболее короткий временной интервал, равный периоду синхросигналов МП, называется тактовым циклом. Время, необходимое для извлечения 1 байта информации из памяти или внешнего устройства или выполнения команды, определяемой одним машинным словом , называется машинным циклом. Время, необходимое для выполнения одной команды, называется командным циклом. Командный цикл может включать в себя 1-5 машинных циклов, машинный цикл может включать 3-5 тактовых циклов.
МП КР580ВМ80А имеет 10 различных типов машинных циклов:
Извлечение кода команды (цикл M1), чтение данных из памяти, запись данных в память, извлечение данных из стека, запись данных в стек, ввод данных из внешнего устройства, вывод данных во внешнее устройство цикл обслуживания прерывания, цикл останова, цикл обслуживания прерывания в режиме останова. Машинные циклы формируется в регистре состояния операционного устройства в зависимости от сигналов состояния. Таблица соответствия сигналов состояния типам машинных циклов приведена в инструкции по применению УМК. Сигналы состояния используются для формирования сигналов управления всей микроЭВМ.
МП КР580ВМ80А имеет 16-разрядный канал адреса, который обеспечивает прямую адресацию внешней памяти объемом до 65536 байт , 256 устройств ввода и 256 устройств вывода информации.
УМК содержит ПЗУ, объемом 2 кбайт и ОЗУ, объемом 1 кбайт. Первый кбайт ПЗУ использован для хранения программы "системный монитор", а второй кбайт ПЗУ зарезервирован за пользователем. Третий кбайт памяти УМК используется для адресации ОЗУ. Необходимо отметить, что последние 54 ячейки памяти ОЗУ используются программой "системный монитор" для хранения оперативных данных. Отметим, что в схеме УМК предусмотрено подключение устройства ввода-вывода на 48 адресов.
Для удобства пользования микроЭВМ информация о распределении адресного поля сводится в карту памяти. Поясним построение карты памяти на следующем примере.
Допустим:
1) программа "системный монитор" занимает 756 байт в адресном поле 000...02FF ПЗУ;
2) дополнительная область программы "монитор" занимает 256 байт в адресном поле 0300...03FF ПЗУ;
3) программа пользователя занимает 512 байт в адресном поле 0400...05FF ПЗУ
4) свободная область в ОЗУ, объемом 967 байт размещена , в адресном поле
... 8000...83С6;
5) рабочая область монитора в ОЗУ, объемом 57 байт размещена в адресном поле 83С7... 83FF .
Остальные 62,5 кбайт адресного поля не используются. Карта памяти в этом случае будет иметь вид (рис.1.1).
При записи программ на АССЕМБЛЕРЕ используются 4 поля: поле метки, мнемокода команды, поле операнда и комментария. Числа и адреса представляют в шестнадцатеричном коде. Рассмотрим простейшую программу, по которой содержимое ячейки 0820 извлекается, складывается само собой, результат записывается в ячейку памяти по адресу 0821 (табл. 1.1.).
4
5
1
2
3
-
9
17
25
41
49
57
10
18
26
34
42
50
58
3
11
19
27
35
43
51
59
4
12
20
28
36
44
52
60
5
13
21
29
37
45
53
61
6
14
22
30
38
46
54
62
7
15
23
31
39
47
55
63
8
16
24
32
40
48
56
64
Рис. 1.1. Карта памяти
Таблица 1.1
Программа 1.1
Метка |
Мнемо-код |
Операнды |
Комментарий |
|
LDA ADD STA HLT |
0820 A 0821 |
Получить число поадресу 0820 Сложить число с самим собой Записать результат по адресу 0821 Остановка программы |
Для записи программы в кодах переводим мнемокод в машинные коды и выбираем начальный адрес ячейки памяти, допустим 0800. Программа 1.1 в машинных кодах будет иметь вид (табл.1.2):
Таблица 1.2
Программа 1.1 в машинных кодах
Адрес |
Машинный код |
Метка |
Мнемокод |
Операнды |
Комментарий |
0800 0801 0802 0803 0804 0805 0806 0807 |
3А 20 08 87 32 21 08 76 |
|
LDA
ADD STA
HLT |
0820
A 0821 |
Код команды LDA Младший байт адреса Старший байт адреса Код команды ADD Код команды STA Младший байт адреса Старший байт адреса Останов |
