Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНЫе занятия ОМПТ.doc
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
701.95 Кб
Скачать

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

    1. Изучить команды условных переходов микропроцессора К580ИК80А.

    2. Предложить алгоритм выполнения циклического вычислительного процесса.

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

    4. Провести ассемблирование предложенной программы и ее набор на УМК.

    5. Ввести в соответствующие ячейки памяти исходную информацию.

    6. Выполнить программу в пошаговом режиме.

3. Содержимое отчета

    1. Формат команд условных переходов

    2. Алгоритм выполнения программы

    3. Листинг программы

    4. Выводы

Контрольные вопросы

  1. Что такое цикл?

  2. Какие команды микропроцессора КР580ИК80А используются для образования циклического процесса?

  3. Что такое алгоритм циклической структуры?

  4. Как организовывается счетчик циклов?

Лабораторная работа 5

Программирование алгоритмов

с разветвленной структурой

Цель работы: изучить способы выполнения программ с разветвленной структурой вычислительного процесса.

1. Общие сведения

Алгоритм разветвленной структуры — алгоритм, в котором предусмотрено изменение естественного порядка выполнения действий в зависимости от результата проверки какого-то условия. Изменять естественный порядок выполнения команд программы позволяют команды перехода (ветвления) и вызова программ. Существуют два способа изменения порядка выполнения команд программы: безусловный и условный переход.

При безусловном способе последовательность выполнения программы изменяется всякий раз, когда встречается команда безусловного перехода (JMP).

В соответствии со вторым способом последовательность изменяется только в том случае, если значение указанного условия совпадает с заданным. Для организации такого изменения служат команды условного перехода (см. лабораторную работу №4).

Обычно алгоритмы с ветвящейся структурой содержат в себе циклические элементы. Пример алгоритма с ветвящейся структурой можно рассматривать на примере многобайтных чисел. Диапазон чисел, представляемых в машинах с микропроцессором К580ИК80А, небольшой. Поэтому при сложении больших чисел (число байт больше двух) применяется побайтное сложение с переносом (ADC), причем операция начинается со сложения младших байтов. Все последующие байты складываются с переносом предыдущего сложения. Схема алгоритма сложения многобайтовых чисел приведена на рис.5.1.

Рис.5.1

Так, при сложении младших байтов входной перенос должен быть равен нулю, вводится команда очистки бита переноса.

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

Запоминание результата можно осуществлять командой STAX.

В блоке 6 алгоритма осуществляется условный переход, который определяет по условию равенства нулю содержимое счетчика. Если счетчик не равен нулю, процесс сложения продолжается. При этом в седьмом блоке с помощью команд инкремента в регистрах адресов слагаемых байтов устанавливается следующий адрес и, используя команду безусловного перехода JMP, происходит возврат к блоку 4 для выполнения операции сложения. В случае равенства 0 содержимое счетчика вычислительный процесс прекращается и происходит переход на конец программы.

Программа сложения приведена в табл.5.1.

В программе N — количество байтов слагаемого числа, FIRST — адрес младшего байта 1-го слагаемого, SECND — адрес младшего байта 2-го слагаемого, LOOP, DONE — метки программы. Байты слагаемых чисел расположены в следующих друг за другом ячейках памяти, причем младший байт находится в ячейке с меньшим номером.

Таблица 5.1

MVI E,

N

Организация счетчика до N

XRA A

Очистка бита перехода

LXI B,

FIRST

Загрузка адреса младших байтов обоих слагаемых в регистры BC и HL

LXI H,

SECOND

LOOP:

LDAX B

Загрузка байта из регистра BC в аккумулятор

ADC M

Сложение байтов запомнить в BC

STAX B

DCR E

Уменьшить счетчик на 1

JZ DONE

Условный переход по «0»

INX B

Увеличение BC на 1

INX H

Увеличение HL на 1

JMP LOOP

Перейти на метку

DONE:

HLT

Выход

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

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

    2. Предложить алгоритм разветвленной структуры

    3. Составить программу сложения двух многобайтовых чисел по заданию преподавателя

    4. Провести ассемблирование предложенной программы и ее набор на УМК

    5. Провести ввод исходной информации в память

    6. Выполнить программу

3. Содержание отчета

    1. Описание структуры команд безусловного перехода

    2. Алгоритм реализованной программы

    3. Листинг программы

    4. Выводы

Контрольные вопросы

  1. Как осуществляется безусловный способ изменения порядка выполнения команд?

  2. Какие команды микропроцессора КР580ИК80А выполняют сложение?

  3. По каким признакам (условиям) осуществляется ветвление программы для микропроцессора КР580ИК80А?

Лабораторная работа 6

Исследование и настройка параллельного адаптера

Цель работы: изучить работу, подключение и программирование устройства ввода/вывода на базе микросхемы КР580ВВ55.

1. Общие сведения

Устройства ввода/вывода, построенные на основе Бис КР580ВВ55 (РРi), могут принимать или выдавать информацию с форматом 8 бит по 24 линиям связи. Линии ввода/вывода объединены в три независимых 8 разрядных порта ввода/вывода. Микросхема может быть запрограммирована на работу в трех режимах: режим 0, режим 1, режим 2. В режиме 0 каждый порт настраивается независимо друг от друга, на ввод или вывод информации. Настройка производится путем засылки слова инициализации NI в регистр управляющего слова РУС.

В данной лабораторной работе PPI настраивается в режим 0 , на вывод. К выходным линиям портов подсоединены светодиоды по схеме с общим катодом.

В состав устройства ввода/вывода входят два шинных формирователя типа К589АП16 и дешифратор К555ИД7. Плата ввода/вывода подсоединяется к УМК через разъем на лицевой панели.

В лабораторной работе необходимо разработать программу «бегущий огонь» - засвечивание светодиодов по заданному алгоритму. Алгоритм задается преподавателем.

Программа должна содержать 3 блока, блок инициализации, блок выдержки время и блок основной программы.

Принципиальная электрическая схема платы ввода/вывода приведена на рис. 6.1.

Рис.6.1.

Блок схема алгоритма для реализации программы “бегущий огонь” представлена на рис. 6.2.

Основная программа и подпрограмма инициализации, выдержки времени приведены в табл. 6.1, 6.2, 6.3.

Рис.6.2

Таблица 6.1

Номер ячейки

метка

Мнемокод команды

16-ричный код команды

Комментарий

0880

XRA A

AF

очистка аккумулятора

0881

MVI A, 80

3E

запись в А управляющего слова

0882

80

0883

OUT 83

D3

Вывод управляющего слова в РУС ППА

0884

83

0885

RET

C9

Возвращение в осп. Пр-му

Таблица 6.2

Номер ячейки

Метка

Мнемокод команды

16-й код команды

Комментарий

0860

MVI B,14

06

Занесение в регистр В

0861

14

числа 14

0862

RI:

MVI C,FF

0E

Занесение в регистр С

0863

FF

числа FF

0864

R2:

MVI D,FF

16

Занесение в регистр

0865

FF

числа FF

0866

R3:

DCR D

15

Декремент регистра

0867

JNZ R3

C2

не нулевой результат

0868

66

(Z=0) переход на

0869

08

метку R3

086A

DCR C

0D

Декремент регистра С

086B

JNZ R2

C2

не нулевой результат

086C

64

(Z=0) переход на

086D

08

метку R2

086E

DCR B

05

Декремент регистра В

086F

JNZ R1

C2

не нулевой результат

0870

62

(Z=0) переход на

0871

08

метку R1

0872

RET

C9

Выход из подпрограммы

Таблица 6.3

Номер ячейки

Метка

Мнемокод команды

16-ричный код команды

Комментарий

1

2

3

4

5

0800

M1

CALL WOLL

CD

Занесение в регистр В

0801

80

числа 14

0802

08

Занесение в регистр С

0803

MVI A,01

3E

числа FF

0804

01

Занесение в регистр

0805

OUT 80

D3

числа FF

0806

80

декремент регистра

0807

CALL SEC

CD

не нулевой результат

0808

60

(z=0) переход на

0809

08

метку R3

080А

CALL WOLL

CD

декремент регистра C

080В

60

не нулевой результат

080С

80

(z=0) переход на

080D

MVI A,02

3E

метку R2

080Е

02

декремент регистра В

080F

OUT 80

D3

не нулевой результат

1

2

3

4

5

0810

80

(z=0) переход на

0811

CALL SEC

CD

метку R1

0812

60

Выход из подпрограммы

0813

08

0814

CALL WOLL

CD

0815

80

0816

08

0817

MVI A,04

3E

0818

04

0819

OUT 80

D3

081А

80

(z=0) переход на

081В

CALL SEC

CD

метку R1

081С

60

Выход из подпрограммы

081D

08

081E

CALL WOLL

CD

081F

80

0820

08

0821

MVI A,08

3E

0822

08

0823

OUT 80

D3

0824

80

0825

CALL SEC

CD

0826

60

0827

08

0828

CALL WOLL

CD

0829

80

082A

08

082B

MVI A,10

3E

082C

10

082D

OUT 80

D3

082E

80

082F

CALL SEC

CD

0830

60

0831

08

0832

MVI A,20

3E

0833

20

0834

OUT 80

D3

0835

80

0836

CALL SEC

CD

0837

60

0838

08

0839

JMP M1

C3

083A

00

083B

08

1

2

3

4

5

0890

LXI SP 08 FF

31

0891

FF

0892

08

0893

JMP M1

C3

0894

00

0895

08