Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа МП-2.doc
Скачиваний:
23
Добавлен:
02.05.2014
Размер:
95.23 Кб
Скачать

3. Задание для домашней подготовки.

3.1. Изучить механизм обработки и передачи данных в микропроцессоре.

3.2. Изучить систему команд микропроцессора К580.

3.3. В соответствии с вариантом построить циклограмму выполнения последовательности команд.

Перед началом выполнения первой команды устанавливается следующее состояние регистров процессора:

А=80 F=43 C=33 B=08 E=32 D=08 L=20 SP=0850 PC=0806 H=08

Т.к. PC=0806, то программа размещается в области ОЗУ с адреса 0806. Кроме состояния регистров перед началом работы программы задаётся состояние следующих ячеек ОЗУ:

(820)=38 (0821)=60 (850)=30 (0851)=40

Прежде всего, необходимо, пользуясь таблицей кодов команд определить 16-ричные коды заданной программы и её размещение в памяти. Так, для приведённой ниже в качестве программы такая кодировка имеет вид:

0806 86 SUBM

0807 E6F0 ANI 080H

0809 02 STAX B

080A C43800 CNZ 38H

При записи программы необходимо чётко выделить следующие поля: поле адреса, поле команды, поле метки, поле мнемокодов операции, поле операндов. Следует пояснить как изменяется состояние регистров и памяти после выполнения каждой команды. Команда SUBM вычитает из содержимого аккумулятора содержимое в ячейки памяти, адресуемой регистровой парой HL, т.к. в паре HL находится адрес 0820, то будет вычитаться число 38. При вычитании число 38 инвертируется, увеличивается на 1 и складывается с кодом 80. Результат фиксируется в аккумуляторе, а признаки результата  в регистре F(F=06).

1 2 3 4 1 2 3 1 2 3 4 1 2 3 1 2 3 4 1 2 3

ША

ШД

DBIN

WRI

1 2 3 4 5 1 2 3 1 2 3 1 2 3 1 2 3

ША

ШД

DBIN

WRI

Рис.3 Циклограмма программы.

После выполнения команды ANI 0F0H устанавливается (А)=40(F)=02. Затем командаSTAX Bзасылает результат по адресу, находящемуся в регистровой паре ВС, т.е. в ячейку с адресом 0833 и командаCNZ 38Hспасает содержимое счётчика команд в стеке и загружает в РС адрес перехода 38. Таким образом, после выполнения программы устанавливается следующие состояния регистров:

А=40 F=02 B=08 C=33 D=08 E=32 H=08 L=20 SP=084E PC=0038.

После оценки состояния регистров и памяти можно перейти к построению циклограммы выполнения

программы. Для рассмотренного случая она приведена на рис.3. Передача байта состояния по ШД для упрощения циклограмм не показано. Передача информации при выполнении команд SUB, ANI, STAX проанализировать самостоятельно. Механизм действия команды CNZ требует дополнительного пояснения.

В первом цикле команды CNZ процессор получает код команды С4, во втором и третьем циклах получают адрес перехода, и записывает его в регистрах временного хранения W, Z. Если условие NZ(Z=0) не удовлетворяется, 4 и 5 циклы не выполняются и процессор выбирает из памяти следующую за CNZ команду. Если условие NZ(Z=1) выполнено, в 4 и 5 циклах содержимое РС сохраняется в стеке и затем в РС из регистров временного хранения W, Z загружается адрес перехода 0038.

4. Порядок выполнения работы.

4.1. Включить микроЭВМ, нажав кнопку ”~ “.

4.2. Нажать кнопку “СБ”.

4.3. Записать в память программы в соответствии с вариантом. Первую команду записать в

ячейку с адресом 0800.

4.4. Перевести микроЭВМ в пошаговый режим работы, для чего нажать кнопки “РБ/шаг” и “КМ/ЦК”.

Для последующего шага нажать кнопку “ШГ”.

4.5. Передать управление в ячейку 0800.

4.6. Нажимая кнопку “ШГ”, проконтролировать состояние светодиодных ША, ШД и байта состояния в каждом цикле команды. Сравнить полученные результаты с циклограммой, полученной теоретически.