Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабораторные работы / Выполнение операций умножения и деления

.doc
Скачиваний:
65
Добавлен:
21.02.2014
Размер:
100.35 Кб
Скачать

Министерство образования РФ

Саратовский Государственный Технический Университет

Балаковский Институт Техники,

Технологии и Управления

Инженерно-строительный факультет

Кафедра «Управление и информатика

в технических системах»

ЛАБОРАТОРНАЯ РАБОТА № 4

по дисциплине «Микропроцессорные устройства систем управления»

Выполнение операций умножения и деления

Выполнил студент гр. УИТ-51

Печавин А. В.

Сурков К. А.

Янгалычин Р. Р.

Шпак М.

Смирнов Е. Е.

Принял преподаватель

Мефедова Ю. А.

Балаково 2005

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

  1. Программа умножения двух однобайтных чисел методом многократного сложения, блок-схема выполнения программы.

Блок-схема

Запись в счетчик В множителя из адреса 0В01

Обнуление регистров В и С

Запись в А множимого из адреса 0В00

Сложение А и D

Запись значения из А в D

no

yes

Инкрементирование C

Cброс CY

Декрементирование счетчика В

no

yes

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

Код

0800

3A

LDA 0B01

Загрузка аккумулятора

0801

01

по адресу 0В01

0802

0B

0803

47

MOV B, A

Из А в В

0804

3E

MVI A, 00

Обнуление аккумулятора

0805

00

0806

57

MOV D, A

Обнуление D

0807

4F

MOV C, A

Обнуление С

0808

3A

LDA 0B00

Загрузка аккумулятора

0809

00

по адресу 0B00

080А

0B

080В

82

ADD D

Сложение А и D

080С

57

MOV D, A

Запись результата в D

080D

D2

JNC 0811

Переход на 0811, если не перенос

080E

11

080F

08

0810

0C

INR C

Инкрементирование С

0811

A7

ANA A

Сброс флага CY

0812

05

DCR B

Декрементирование счетчика

0813

C2

JNZ 0808

Переход на 0808 если В не равен 0

0814

08

0815

08

0816

CF

RST

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

Комментарии:

В регистре С – старшая часть произведения.

В регистре D – младшая часть произведения.

  1. Программа деления двух однобайтных чисел.

Блок-схема

Запись в В делителя из адреса 0В01

Запись в А делимого из адреса 0B00

Обнуление регистров С, D, E

А - D

Запись значения из А в D

no

yes

C = A + B

Инкрементирование Е, Запись в А из D

Декрементирование счетчика H

no

yes

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

Код

0800

3A

LDA 0B01

Загрузка аккумулятора

0801

01

по адресу 0В01

0802

0B

0803

47

MOV B, A

Из А в В

0804

67

MOV H, A

Из А в H

0805

3E

MVI 00

Обнуление аккумулятора

0806

00

0807

57

MOV D, A

Обнуление D

0808

4F

MOV C, A

Обнуление С

0809

6F

MOV E, A

Обнуление E

080А

3A

LDA 0B00

Загрузка аккумулятора

080В

00

по адресу 0B00

080С

0B

080D

90

SUB B

A = A – B

080E

57

MOV D, A

Из А в D

080F

D2

JNC 0814

Переход на 0814, если не перенос

0810

14

0811

08

0812

80

ADD B

Сложение В и А

0813

4F

MOV C, A

Из A в C

0814

7A

MOV А, D

Из D в A

0815

1D

DCR E

Декрементирование Е

0816

24

INR H

Инкрементирование H

0817

C2

JNZ 080D

Переход на 080D если H не равен 0

0818

0D

0819

08

081A

CF

RST

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

Комментарии:

В регистре E – целая часть частного.

В регистре D – остаток.

Выводы: в процессе выполнения лабораторной работы были усвоены основные принципы реализации вычисления операций умножения и деления с использованием микропроцессора КР580.

Правильность работы составленных программ подтвердилась при проверке на КР580.