k580
.pdf29
Примечания к прил. 1 и 2:
N– номер порта ввода/вывода;
*- двухбайтовый операнд (адрес);
& - двухбайтовый операнд (данные или адрес);
# - однобайтовый операнд (данные).
Приложение 3
Образец документации по программе, составленной в ходе домашней подготовки
Например, вам необходимо написать программу для решения следующей зада-
чи.
Дан массив А1 из 10-ти однобайтовых чисел. Переписать из массива А1 в массив В1 все числа в диапазоне от 516 до 2016. Схема алгоритма приведена ниже.
Начальные установки
Выбор числа из массива А1
Число >5?
Да
Число<20
Да
Переписать числа в Массив В1
Изменение адреса в В1
Изменение адреса в А1
Нет
Все числа в А1 проверены ?
Нет
Нет
Да
Останов
30
Массив А1 размещается в памяти с адреса 810016. Массив В1 размещается в памяти с адреса 815016. Программа с адреса 820016.
Адрес проверяемых элементов массива А1 хранится в регистровой паре ВС. Адрес в массиве В1, куда помещается элемент из массива А1, хранится в регистровой паре DE. Счетчик циклов – регистр Н.
Текст программы в кодах МП К580 с распределением памяти приведен в табл.
П3.1.
Таблица П3.1
Адрес |
Код |
Метка |
Мнемокод |
Примечание |
ячейки |
операции |
|
|
|
памяти |
|
|
|
|
0800 |
|
|
|
Массив А1 |
080А |
|
|
|
|
0900 |
01 |
|
LX1 B |
Начальные установки |
1 |
00 |
|
|
массив А1 |
2 |
08 |
|
|
|
3 |
11 |
|
LX1 D |
массив В1 |
450
508
6 |
26 |
|
MV1 H |
счетчик циклов(10 чисел) |
7 |
0А |
|
|
|
8 |
0А |
M1: |
LDAX B |
Выбор числа из массива А1 |
9 |
FE |
|
CP1 05 |
Сравнение числа с 5 |
A |
05 |
|
|
|
B |
DA |
|
JC M2 |
Переход на метку М2, если число |
C |
15 |
|
|
< 5 |
D |
09 |
|
|
|
E |
FE |
|
CPI 20 |
Сравнение числа с 20 |
F |
20 |
|
|
|
0910 |
D2 |
|
JNC M2 |
Переход на метку М2, если число |
11 |
15 |
|
|
> 20 |
12 |
09 |
|
|
|
13 |
12 |
М2: |
STAX D |
Записать числа в массив В1 |
14 |
13 |
|
INX D |
Изменение адреса в В1 |
15 |
03 |
|
INX B |
Изменение адреса в А1 |
16 |
25 |
|
DCR H |
Изменение счетчика циклов |
17 |
C2 |
|
JNZ M1 |
Переход к началу цикла, если |
18 |
08 |
|
|
счетчик не равен 0 |
19 |
09 |
|
|
|
1А |
E7 |
|
RST 4 |
Вызов монитора |
Последовательность действий при записи программы в память отладочного устройства и ее выполнения приведена в табл. П3.2.
31
|
|
|
|
|
|
|
|
|
|
|
Таблица П3.2 |
|
|
|
|||||||||
Клавиши |
Информация на индикаторе |
Коментарии |
|||||||||
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
|
|
R |
|
Н А Ч А Л О |
|
|
Установка начального |
||||||
ОтАДР. |
|
0 9 0 0 |
|
|
0 0 |
адреса программы 820016 |
|||||
0900 |
|
|
|
Запись кода первой команды |
|||||||
01 |
|
0 9 0 0 |
|
|
0 1 |
Переход к |
следующей ячейке |
||||
УвЗп |
|
0 |
9 |
0 |
1 |
|
|
0 |
0 |
памяти |
|
… |
|
… |
|
|
|
|
|
|
|
|
|
ОтАдр |
|
|
|
|
|
|
|
|
|
Установка начального |
|
0800 |
|
0 8 0 0 |
|
|
0 0 |
адреса массива А1 |
|||||
11 |
|
0 8 0 0 |
|
|
1 1 |
Запись первого числа в массив |
|||||
УвЗп |
|
|
|
|
|
|
|
|
|
А1 |
|
… |
|
… |
|
|
|
|
|
|
|
Установка |
начального адреса |
ОтАдр |
|
|
|
|
|
|
|
|
|
программы |
|
0900 |
|
0 9 0 0 |
|
|
0 0 |
Выполнение первой команды |
|||||
ШК |
|
0 9 0 3 |
|
|
1 1 |
Выполнение второй команды |
|||||
ШК |
|
0 |
9 |
0 |
6 |
|
|
2 |
6 |
|
|
… |
|
… |
|
|
|
|
|
|
|
Проверка |
значений чисел в |
ОтАДР. |
|
0 |
8 5 0 |
|
|
1 1 |
массиве В1 |
|
|||
08500 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32
Учебное издание
ИЗУЧЕНИЕ РАБОТЫ МИКРОПРОЦЕССОРА К580ВМ80
Методические указания к лабораторным работам
Составители Алексей Александрович Руппель,
Александр Александрович Руппель
* * *
Редактор И.Г. Кузнецова
Подписано к печати Формат 60х90 1/16. Бумага ксероксная
Оперативный способ печати Гарнитура Times New Roman Усл. п. л. 2,0 , уч – изд. л. 2,0 Тираж 100 экз. Изд. № 43. Заказ Цена договорная
Издательство СибАДИ 644099, Омск, ул. П.Некрасова, 10 Отпечатано в ПЦ издательства СибАДИ 644099, Омск, ул. П.Некрасова, 10