на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Программирование арифметических задач на Ассемблере для микропроцессора К580

Программирование арифметических задач на Ассемблере для микропроцессора К580

Дон ГТУ

Лабораторная работа № 3

АКГ-05

АУТПТЭК

Программирование арифметических задач на Ассемблере для микропроцессора К580

Цель лабораторной работы - рассмотреть особенности выполнения простейших арифметических операций над целыми числами без знака на микропроцессорных установках МИКРОЛАБ КР580ИК80 и ЭЛЕКТРОНИКА-580, познакомиться с программированием в машинных кодах и мнемокодах, научиться пользоваться средствами управления и клавиатурой устройств.

1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1 Представление чисел

При программировании микро ЭВМ на МП БИС КР580ИК80 необходимо пользоваться способом представления чисел с фиксированной десятичной точкой. При этом знак числа и количество разрядов, занятых дробной частью числа, могут быть учтены при подготовке данных или программным путем.

Следует помнить, что коды команд, адреса и данные вводятся в микро ЭВМ числами в шестнадцатеричной системе счисления. Некоторой особенностью в лабораторных установках МИКРОЛАБ и ЭЛЕКТРОНИКА-580 является отображение чисел на дисплее (табл. I).

Для МП БИС КР580ИК80 можно представлять данные в виде двоично-десятичного числа, при этом каждый байт рассматривается как две тетрады (два полубайта), а каждая тетрада кодирует одну десятичную цифру.

Такое представление позволяет закодировать в одном байте десятичные числа от 0 до 99. Обратите внимание на то, что, используя для представления шестнадцатеричную систему счисления, в одном байте можно закодировать число от 0 до FF , что соответствует числам десятичной системы от 0 до 255.

Эти примеры показывают, что такое представление чисел более рационально: используется меньший объем памяти, сокращается программа.

Таблица 1- Представление чисел в различных системах счисления и отображение их на дисплее

Десятичная

система

счисления

Восьмеричная

система

счисления

Двоичная сис-тема счисле-ния (по тетрадам)

Шестнадцате-ричная систе-ма счисления

Символы

на дисплее

0

0

0000

0

0

1

1

0001

1

1

2

2

0010

2

2

3

3

0011

3

3

4

4

0100

4

4

5

5

0101

5

5

6

6

0110

6

6

7

7

0111

7

7

8

10

1000

8

8

9

11

1001

9

9

10

12

1010

А

А

11

13

1011

В

B

12

14

1100

С

С

13

15

1101

D

D

14

16

1110

Е

E

15

17

1111

F

F

1.2 Арифметические команды

Основной арифметической функцией является сложение двух чисел. Команда, имеющая мнемокод ADD Rд, складывает данные регистра Rд и аккумулятора (регистра А) и результат сложения запоминает в аккумуляторе.

- CARRY - регистра признаков. Разряд (флаг) переноса играет большую роль при выполнении микропроцессором арифметических операций и работает девятым разрядом аккумулятора. По флагу командами IC и INC можно осуществить переход. Применяется он так же при сложении чисел длиннее восьми разрядов, выполняя функции связи между двумя байтами записи числа.

О состоянии флага переноса, как и других флагов регистра признаков в МИКРОЛАБе может сообщить ячейка памяти с адресом 83ЕА, где флаги за-писываются в последовательности, приведенной на рисунке 1.1.

В «ЭЛЕКТР0НИКЕ-580» разряд С высвечивается на панели установки.

Рисунок 1.1 - Флаги № ШС КР580ИКБ0

Вычитание содержимого регистра Rд из содержимого аккумулятора производит команда SUB Rд. Например, команда SUB B вычитает из аккумулятора данные регистра В.

Команда вычитания использует флаг переноса как разряд заема. Если флаг переноса устанавливается после команды SUB Rд, значит, число в регистре Rд больше, чем в аккумуляторе.

После выполнения команды SUB Rд результат остается в аккумуля-торе, вызов содержимого которого на индикатор регистра данных осущест-вляется адресом 83ЕВ в "МИКРОЛАБе" и клавишами REC, А в "ЗЛЕКТРОНИКЕ-580".

1.3 Программа сложения двух однобайтных чисел X и У

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

Задайтесь числовыми значениями Х = 38, Y = А3 и начальным адресом программы, приняв его равным 8200.

Обратите внимание на то, что все приведенные числа записаны в шестнадцатеричной системе счисления.

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

Таблица 1.2 - Программа PRG 1 сложения двух однобайтных чисел

Адрес

Код команды

Метка

Мнемокод

Комментарий

8200

AF

PRG 1:

ХRА А

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

8201

ЗЕ

MVI A, 38

Записать в аккумулятор

8202

38

число X

8203

06

MVI B, A3

Записать в регистр В

8204

A3

число У

8205

80

ADD 8

Сложить X и Y

8206

E7

RST 7

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

Выполнив запись программы, установите начальный адрес и запустите программу. После её исполнения на дисплее установится запись: 8207 DB_ _, показывающая результат вычисления DB по адресу 8207.

Для получения разности двух чисел X и Y можно использовать программу PRG 1, заменив в ней по адресу 8205 код команды 80 (ADD B) кодом 90 (SUB В) команды вычитания содержимого регистра В из содержимого аккумулятора, разместив предварительно в регистрах В и А соответственно вычитаемое и уменьшаемое. Разность будет записана в аккумуляторе.

1.4 Сложение массива однобайтных чисел

Массив однобайтных шестнадцатеричных чисел, например, 31, АВ, 86, разместите в последовательных адресах памяти, например, 8250, 8251, 8252, 8253.

В качестве входных параметров для выполнения программы необходи-мо иметь адрес первого слагаемого, например, 8250, записанный в регистрах H, L, и число слагаемых - в регистре С. Выходным параметром будет являться сумма, старший байт которой записан в регистре В, а младший байт - в аккумуляторе.

Таблица 1.3 - Программа PRG 2 сложения массива однобайтных чисел

Адрес

Код

команды

Метка

Мнемоника

Комментарий

8200

8201

8202

21

50

82

PRG 2:

LXI H,8250

Загрузить в регистры HL, адрес первого слагаемого

8203

8204

0E

04

MVI C, 04

Загрузить в регистр С количество слагаемых

8205

AF

XRA A

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

8206

47

MOV B, A

Очистить регистр В

8207

86

M1:

ADD M

Прибавить к содержимому аккумулятора число из массива слагаемых

8208

8209

820А

D2

0D

82

INC M2

Если переноса нет, то идти на М2

820В

820С

04

B7

INR B

ORA A

Увеличить содержимое регистра В на I

Очистить флаг переноса

820D

23

M2:

INX H

Указать на следующий адрес слагаемого

820E

0D

DCR C

Уменьшить содержимое регистра С на I

820F

8210

8211

C2

07

82

INZ

Если не все слагаемые, то идти на MI

8212

FF

RST 7

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

Выполнение программы с именем PRG 2 начинается с команды загрузки регистровой пары HL, 16-битным числом 8250 (адрес первого слагаемого). После выполнения второй команды (адреса 820З, 8204) в регистре С запишется число 4 (число слагаемых). Командами 8205 и 8206 производится обнуление регистров А, В и регистра признаков.

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.