Скачиваний:
54
Добавлен:
23.02.2015
Размер:
666.62 Кб
Скачать

ЗАДАНИЯ ДЛЯ ДОМАШНЕЙ ПОДГОТОВКИ

1. Изучите арифметические команды МП КР580ВМ80 [4, 6, 7, 8, 9]

2. Ознакомьтесь с правилами выполнения команды DАА – деся­тичной коррекции аккумулятора.

3. Изучите программы 16 – 19. Рассмотрите результаты выполне­ния каждой программы на конкретных числовых примерах.

4. Определите время выполнения программы умножения и деления восьмиразрядных чисел.

5. Составьте программу для исследования результата пере­множения двух чисел на основе подпрограммы 18.

6. Разработайте программу сложения двух 8-разрядных двоично-десятичных чисел с получением результата в ячейке памяти. Сла­гаемые разместите в ячейках памяти.

ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ

Задание 1. Исследовать программу сложения однобайтных чи­сел с получением двухбайтного результата. Порядок выполнения:

1. Ввести в микроЭВМ программу 16.

2. Записать в память последовательность из пяти чисел, начи­ная с адреса 8600.

3. Выполнить программу и проверить результаты по содержанию регистров С и А.

4. Изменить программу 16 так, чтобы результат выполнения записывался по адресу 8606 и 8607. Проверить результат вы­полнения этой программы.

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

Задание 2. Исследовать программу вычитания двух чисел, имеющих одинаковую разрядность. Порядок выполнения:

1. Ввести программу 17 в микроЭВМ.

2. Записать в регистры D, Е и Н, L соответственно началь­ные адреса младших байтов уменьшаемого и вычитаемого.

3. Записать уменьшаемое и вычитаемое побайтно по адресам, начиная с адресов, указанных в регистрах Н,L и D,Е.

4. Записать в регистр С длину числа в байтах. Для первого

случая записать в регистр С число 01 (рассматривается вычитание двух 8-разрядных чисел).

5. Запустить программу 17 в пошаговом режиме и исследовать результат ее выполнения.

6. Запустить программу 17 в режиме прогон, предварительно заменив команду HLT на команду RST4.

7. Изменить числа, записанные по адресам, указанным в регист­рах Н, L и D, Е, так, чтобы уменьшаемое было меньше вычитаемого. Осуществить исследование выполнения программы.

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

Задание 3. Исследовать программу умножения двух 8-разрядных чисел с получением 16-разрядного результата.

Порядок выполнения:

1. Ввести в микроЭВМ программу, разработанную в п. 6 за­дания для домашней подготовки.

2. Осуществить пуск программы и исследовать ее выполнение.

Задание 4. Исследовать программу деления двух 8-разрядных чисел.

Порядок выполнения:

1. Ввести в микроЭВМ программу 19.

2. Записать в регистры Ε и D соответственно делимое и де­литель.

3. Осуществить пуск программы и проверить результат деления двух чисел по содержимому регистров Η и С.

Задание 5. Исследовать программу сложения двух 8-разряд­ных чисел с получением результата в двоично-десятичном коде. Порядок выполнения:

1. Ввести в микроЭВМ программу, разработанную при выполнении п. 6 задания для домашней подготовки.

2. Выполнить и исследовать программу сложения следующих чисел: 33+25; 38+26; 97+26.

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

СОДЕРЖАНИЕ ОТЧЕТА

Отчет должен содержать:

1. Полный перечень арифметических команд МП КР580ВМ80.

2. Программу сложения двух 8-разрядных чисел с получением результата в двоично-десятичном коде, разработанную в п. 6 зада­ния для домашней подготовки.

3. Программу перемножения двух 8-разрядных чисел, разрабо­танную в п. 5 задания для домашней подготовки.

4. Видоизмененную программу 17, исследованную в задании 2.

5. Результаты выполнения арифметических операций по всем заданиям.

ЗАДАНИЯ ДЛЯ САМОПРОВЕРКИ

1. Какие команды арифметических операций выполняет МП К580ИК80 ?

2. После каких команд можно осуществить десятичную коррекцию числа аккумулятора (выполнять команду DАА) ?

3. Сформулируйте правило выполнения МП команды DАА.

4. Поясните алгоритмы работы подпрограмм умножения и деления чисел.

5. Как оценить время выполнения программ умножения и деле­ния .

Литература для подготовки [1, 2, 4, 5, 6 ].

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Микропроцессоры. В 3-х кн. Кн. 1, Архитектура и проектиро­вание микроЭВМ. Организация вычислительных процессов / Под ред. .Л. Н. Преснухина. М.: Высшая школа, 1986. 495 с.

2. Каган Б.М., Сташин В.В. Основы проектирования микропро­цессорных устройств автоматики. М.: Энергоатомиздат, 1987. 304 с.

3. Самофалов К.Г., Викторов О.В., Кузняк А.К. Микропроцессо­ры. Библиотека инженера. Киев: Техника, 1986. 277 с.

4. Григорьев В.Л. Программное обеспечение микропроцессорных систем. М.: Энергоатомиздат, 1983. 208 с.

5. Губин В.А. МикроЭВМ "Исеть" на основе микропроцессора КР580ИК80А. Принципы организации и основы программирования: Методические указания к лабораторным работам. Свердловск: УПИ, 1987. 32 с. _

6. Микропроцессоры. В 3-х кн. Кн. 3. Средства отладки, ла­бораторный практикум и задачник Под ред. Л. Н. Преснухина. М.: Высшая школа, 1986. 361 с.

7. Токхайм Р. Микропроцессоры: Курс и упражнения: Пер. с англ. / Под ред. В. Н. Грасевича. М.: Энергоатомиздат, 1987. 336 с.

8. Мокрецов В.П. Лабораторный практикум на учебной микро-ЭВМ "УМК": Методические указания к лабораторным работам. Сверд­ловск: УПИ, Ι988. 39 с.

9. Калабеков В.А. Микропроцессоры и их применение в системах передачи и обработки сигналов: Учебное пособие для вузов. М.: Ра­дио и связь, 1988. 368 с.

ПРИЛОЖЕНИЕ

Система команд микропроцессора KP580ИK80A

000

010 100

110

7 0 7 0

001 011 101

111

В

С

D

Е

Н

L

М

А

Регистры микропроцессора. МП KP580 содержит 8-разрядное АЛУ, семь 8-разрядных регистров общего назначения (POH) с именами А, В, С, D, E, H, L, в том числе регистр результата - аккумуля­тор А, 16-разрядный программный счетчик PC, 16-разрядный указа­тель вершины стека SP, 8-разрядный регистр F для запоминания пяти признаков результата выполненной операции (3 разряда в ре­гистре не используются). Арифметические данные интерпретируют­ся МП как двоичные числа в дополнительном коде. Схема расположе­ния регистров ячейки памяти M, их обозначение, нумерация разря­дов и двоичные номера приведены на рисунке.

В регистре F запоминаются следующие признаки:

7 6

5 4 3 2

1 0

S

Z

0

АС

0

Р

1

S – признак отрицательного знака результата,

Z – признак нулевого результата, АС - признак переноса из 3 в 4

разряд,

Р – признак четности числа еди­ниц результата,

15 0

PC

SP

CY -признак переноса из разряда 7 в несуществующий 8 или заема из разряда 8.

7 0

F

Пусть X7X6X5X4X3X2X1X0 – результат операции.
Значения признаков результата вычисляются по следующим правилам:
если
X7 = 1, то S : = 1 , иначе S : = 0;

если X7 v X6 v ... v Х1 v Х0 = 0 , то Z : = 1, иначе Z : = 0; если был перенос из разряда 3 в 4, то АС : = 1 , иначе AC : = 0;

если X7 X6 ... Х1 Х0 = 0, то Р: = 1 , иначе P : = 0);

если был перенос из разряда 7 или заем из 8 , то CY: = 1, иначе CY: = 0.

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

r, rd, rs - имена РОН (А, В, C, D, Ε, Η, L);

d d d, s s s - двоичные кода номеров РОН (S- источник, d - приемник);

rp - имя старшего регистра регистровой пары ВС, DЕ, HL;

d d, s s - двоичные коды регистровых пар:

r p

B

D

H

d d, s s

00

01

10

Μ - ячейка памяти, адрес которой находится в паре HL;

b2, b3 - значения второго и третьего байтов команды. В 2-байтовых командах b2 представляет непосредственный операнд или адрес порта ввода-вывода. В 3-байтовых командах b2, b3- соответствен­но младший и старший байты 16-разрядного операнда или 16-разряд­ного адреса;

con - часть мнемоники команды, определяющая условие передачи управления, вызова и возврата из подпрограммы. В командах 64, 66, 68 con заменяется на NZ, Z, NС, С, Р0, ΡΕ, Ρ или М;

ССС - двоичный код условия передачи управления:

con

ССС

Условие передачи управления

NZ

000

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

т.е. бит Ζ = 0

Ζ

001

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

т.е. бит Ζ = 1

NС

010

если не было переноса / заема,

т.е. бит СУ = 0

C

011

если был перенос / заем,

т.е. бит СУ = 1

P0

100

если результат нечетный,

т.е. бит Ρ = 0

РЕ

101

если результат четный,

т.е. бит Ρ = 1

Ρ

110

если результат положительный,

т.е. бит S = 1

Μ

111

если результат отрицательный,

т.е. бит S = 1

n, NNN - номер запроса прерывания и двоичный код запроса. В зависимости от n (n = 0, 1, ... , 7) команда RST n передает управление соответственно по адресу 0000, 0008, 0010, 0018, 0020, 0028, 0030 или 0038 (16-ричная с/с);

PSW = (А) (F) - 16-разрядное слово, характеризующее текущее состояние процессора. В старшем байте - значение аккумулятора, в младшем - значение регистра признаков.

Спецификация признаков результата: после исполнения команда данный признак может измениться (+), не изменяется (-), принимает значение 0 или 1.

Команда DАА предназначена для автоматической коррекции результата сложения командами 23 ... 28 двоично-десятичных опе­рандов на двоичном сумматоре с целью получения правильной 2-разрядной двоично-десятичной суммы. Команда DАА использует биты CY и АС. Коррекция происходит следующим образом:

а) если мл. тетрада в аккумуляторе больше 9 или если бит АС = 1, то к аккумулятору прибавляется код 0000 0110. Бит CY при этом не сбрасывается, но может установиться;

б) если ст. тетрада в аккумуляторе больше 9 или если бит CY = 1, то к аккумулятору прибавляется код 0110 0000. Бит CY при этом не сбрасывается, но может установиться.

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

код В5 соответствует команде ORA L,

команда MVI А, ## имеет код операции ЗЕ.

Кодирование чисел в системах с основанием 10, 2, 16

x10

x2

x16

x10

x2

x16

0

0000

0

8

1000

8

1

0001

1

9

1001

9

2

0010

2

10

1010

А

3

0011

3

11

1011

В

4

0100

4

12

1100

С

5

0101

5

13

1101

D

6

0110

6

14

1110

Ε

7

0111

7

15

1111

F

Соседние файлы в папке Лаб. 1-5,6,7,7а,8,9,10