Скачиваний:
73
Добавлен:
02.05.2014
Размер:
347.65 Кб
Скачать

1. Самостоятельная работа

1.1. Ознакомиться с настоящим описанием.

1.2. Изучить группу команд передачи управления МП К580ИК80А.

1.3. Изучить рекомендуемую литературу [1;2;3] и разделы конспекта лекций по программированию в кодах МП К580ИК80А.

1.4. В соответствии с вариантом задания, выдаваемого преподавателем, составить программу в кодах МП К580ИК80А и подготовить на неё полную документацию, включающую в себя:

- схему алгоритма;

- распределение памяти;

- текст программы в кодах МП К580ИК80А.

1.5. Результаты выполнения самостоятельной работы представить в виде отчета.

2. Содержание лабораторной работы

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

Рассмотрим следующую задачу. Массив чисел расположен в области памяти,, начиная с адреса NNNN и состоит из N элементов. Необходимо переслать массив в другую область памяти, начиная с адреса DDDD. В программе для МП К580ИК80А в качестве адресного регистра используется регистровая пара HL. В качестве адресных регистров можно также использовать регистры В и С (регистровая пара ВС), регистры D и Е (регистровая пара DE), но только для выполнения операций перемещения данных в аккумулятор и обратно (с помощью команд LDAX и STAX). Эти адресные регистры нельзя использовать в командах, выполняющих арифметические и логические операции, а также операции пересылки данных в регистры общего назначения или из регистров общего назначения. Необходимо учитывать, что при каждом проходе программа должна изменять содержимое обоих адресных регистров. Один и тот же набор регистров должен совместно использоваться в качестве счетчиков указателя адреса и рабочих ячеек.

В программе пересылки массива из одной области памяти в другую использованы следующие исходные данные и обозначения:

N - количество элементов массива

D - регистр-счетчик, указатель длины массива

HL - адресный указатель исходного массива

NNNN - адрес ячейки памяти, где хранится первое число

исходного массива

ВС - адресный указатель результирующего массива

DDDD - адрес ячейки памяти, с которой начинается результирующий массив

8500 - адрес начала программы

Таблица 1

Пересылка массива информации из одной области памяти в другую

Адрес

Машинный код

Метка

Мнемокод

Комментарий

8500

16

MVI D

загрузка счетчика

8501

N

8502

21

LXI Н

загрузка адресного указателя

8503

NN

исходного массива

8504

NN

8505

01

LXI B

загрузка адресного указателя

8506

DD

результирующего массива

8507

DD

8508

7E

M2

MOV A,M

пересылка числа из памяти в АКМ

8509

02

STAX B

пересылка числа из АКМ в память

850А

15

DCR D

уменьшение счетчика на единицу

850В

CA

JZ, M1

пересылка массива закончена?

850С

13

850D

85

850Е

23

INX H

переход к следующему адресу в HL

850F

03

INX B

переход к следующему адресу в BC

8510

C3

JMP, M2

организация цикла

8511

08

8512

85

8513

00

Ml

NOP

окончание программы

Перед выполнением программы исходный массив чисел заносится в память, с помощью командных клавиш, начиная с адреса NNNN (см. Приложение 4).

В ряде случаев возникает необходимость выбрать из массива информации данные, представляющие собой ряд максимальных, либо минимальных вели- чин. Предположим, что необходимо написать программу для решения следующей задачи. Дан массив А1, состоящий из N однобайтовых чисел. Необходимо переписать из массива А1 в массив В1 все числа в диапазоне от Н1 до Н2.

В программе выборки из массива чисел заданного интервала использованы следующие исходные данные и обозначения:

N - количество элементов исходного массива

L - счетчик, указатель длины исходного массива

ВС - адресный указатель исходного массива

NNNN - адрес ячейки памяти, где хранится первое число исходного массива.

DE - адресный указатель результирующего массива

DDDD - адрес ячейки памяти, куда будет записано первое число результирующего массива.

Н1 - нижний предел диапазона выборки

Н2 - верхний предел диапазона выборки

8100 - адрес начала программы

Перед выполнением программы исходный массив чисел А1 заносится в память с помощью командных клавиш, начиная с адреса NNNN (см. Приложение 5)

Таблица 2

Соседние файлы в папке Эмулятор Электроника-580 + методические указания к лабораторным работам