Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

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

Название: Программирование арифметических задач на Ассемблере для микропроцессора К580
Раздел: Рефераты по информатике
Тип: лабораторная работа Добавлен 14:22:11 04 декабря 2010 Похожие работы
Просмотров: 510 Комментариев: 13 Оценило: 4 человек Средний балл: 4.3 Оценка: неизвестно     Скачать

Дон ГТУ

Лабораторная работа № 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 производится обнуление регистров А, В и регистра признаков.

Командой 8207 с меткой MI начинается первый цикл этапа суммирования. В результате выполнения этой команды в регистр А заносится первое слагаемое (число 31) по адресу 8250, записанное в регистровой паре HL.

Так как переполнения аккумулятора нет, по команде 8208 осуществляется переход на метку М2 (адрес команды 820С), и к содержимому регистровой пары HL прибавляется I. Теперь здесь записан адрес 8251 второго слагаемого.

После выполнения команды 820Е число слагаемых (содержимое регистра С) становится равным 3 и по команде 820F осуществляется переход на MI- начало следующего цикла этапа суммирования.

Во втором цикле в регистр А записывается сумма DC чисел 31 и АВ, флаг переноса не устанавливается, уменьшается число слагаемых регистра С до 2.

В третьем цикле в аккумулятор записывается 62 (младший байт суммы чисел DC и 86) и устанавливается флаг переноса С. По команде 8208 осуществляется переход по адресу 820В и в регистр В записывается I. Содержимое регистровой пары HL равно 8253, содержимое регистра С – I.

В четвертом цикле после выполнения команды 8207 в аккумулятор записывается 56, флаг переноса установлен, содержимое регистра В равно 2.

По команде 820(Е) содержимое регистра С становится равным 0, и ко­манда 820F передает управление адресу 8212 - конец выполнения програм­мы.

1.5 Вычитание одинаковых по длине чисел

Рассмотрите программу получения разности двух чисел X и Y, имеющих одинаковую длину. Листинг программы приведен в табл. 1.4.

Входными параметрами программы будут являться: длина чисел в байтах, записанная в регистре В, адрес младшего байта вычитаемого - в регистровой паре HL, адрес младшего байта уменьшаемого - в регистровой паре DE . Результат вычисления заносится в область памяти, отведенную под вычитаемое.

Положим X = А304 и Y = 7E2I,

B области памяти записывается по адресам

8250 - 04 (младший байт уменьшаемого);

8251 - A3 (старший байт уменьшаемого);

8252 - 21 (младший байт вычитаемого);

8253 – 7E (старший байт вычитаемого).

В регистре B записано 2 - длина чисел X и Y в байтах.

Таблица 1.4 – Программа PRG 3 вычитание чисел

Адрес

Код

команды

Метка

Мнемоника

Комментарий

8200

8201

06

02

PRG 3:

MVI B, 02

Загрузить счетчик длины числа

8202

8203

8204

I I

50

82

LXI D, X

Загрузить в регистры D, E адрес младшего байта уменьшаемого

8205

8206

8207

21

52

C2

LXI M, V

Загрузить в регистры H, L адрес младшего байта вычитаемого

8208

AF

XRA A

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

8209

IA

M1:

LDAX D

Загрузить в аккумулятор уменьшаемое

820A

9E

SBB M

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

820В

77

MOV M, A

Записать разность на место вычитаемого

820C

I3

INX D

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

820D

23

INX H

Указать на следующий байт вычитаемого

820E

05

DCR B

Уменьшить содержимое счетчика длины числа

820F

8210

8211

02

09

82

INZ M1

Если не последний (старший) байт, то идти на MI

8212

FF

RST 7

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

Обратите внимание на то, что по адресу 820А записана команда SBB. Она отличается от аналогичной команда SUB М тем, что из содержимого аккумулятора вычитается не только число, записанное в ячейке М по адресу, хранящемуся в регистровой паре HL, но и значение займа. Итоговое значение займа в результате выполнения операции фиксируется в разряде переноса регистра признаков.

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

В табл. 1.5 приведен листинг программы сложения чисел, представляемых в МП БИС КР580ИК80 в виде двоично-десятичных чисел. Так как такое представление чисел требует от ЭВМ преобразования данных, в программу необходимо ввести оператор DAA, который выполняет коррекцию результата операции по следующим правилам:

если значение младших 4 бит аккумулятора больше девяти или если признак дополнительного переноса АС равен I, то к содержимому аккумулятора добавляется число 6;

если значение старших 4 бит аккумулятора больше девяти или если признак переноса С равен I, то к содержимому старших 4 бит аккумулятора добавляется число 6.

Заметьте, что в предлагаемой программе, как и в предыдущей, рассматриваются числа с длиной больше машинного слова. Поэтому операции с такими числами МП БИС проводят по байтам, начиная с младших байтов.

Рассмотрите программу с именем PRG 4 для слагаемого Х=3045, размещенного побайтно в ячейках памяти 8050 и 8051, и слагаемого Y = 2071 - в ячейки памяти 8052 и 8053. Результат сложения размещается в ячейках, отведенных для второго слагаемого.

После выполнения программы вызовите последовательно ячейки 8053 и 8052 и запишите их содержимое. Это результат решения. Он должен быть равен десятичному числу 5116.


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

Адрес

Код

команды

Метка

Мнемоника

Комментарий

8200

8201

8202

21

50

82

PRG 4:

LXI H, X

Загрузить в регистры младшие два разряда числа Х

8203

8204

8205

I I

52

80

LXI D, Y

Загрузить в регистры младшие два разряда числа Y

8206

AF

XRA A

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

8207

8208

0E

02

MVI C, 02

Загрузить счетчик числа байтов

8209

IA

M1:

LDAX D

Загрузить в аккумулятор два разряда числа Y

820A

8E

ADC M

Прибавить к содержимому аккумулятора два разряда числа Х с учетом переноса

820В

27

DAA

Преобразовать результат в десятичный код

820C

12

STAX D

Передать результат в ячейку памяти, адресуемой регистровой парой DE

820D

13

INX D

Указать на адрес следующих двух разрядов числе Y

820E

23

INX H

Указать на адрес следующих двух разрядов числе Х

820F

OD

DCR C

Уменьшить содержимое счетчика числа байтов

8210

8211

8212

C2

09

82

INZ M1

Если не последний (старший) байт, то идти на MI

8213

FF

RST 7

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


2 ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ

2.1 Выполним программу получения суммы двух чисел

X=A+B, имеющих одинаковую длину. Листинг программы приведен в таблице 2.1.

A= B=

Результат сложения заносится в область памяти, отведенную под второе слагаемое.

В области памяти записывается по адресам

8250 – 87 (младший байт первого слагаемого)

8251 – 35 (старший байт первого слагаемого)

8252 – 87 (младший байт второго слагаемого)

8253 – 02 (старший байт второго слагаемого)

Таблица 2.1 – Программа сложения массива однобайтных чисел

Адрес

Код

команды

Метка

Мнемоника

Комментарий

8200

8201

8202

21

50

82

PRG 1:

LXI H, X

Загрузить в регистры младшие два разряда числа А

8203

8204

8205

11

52

80

LXI D, Y

Загрузить в регистры младшие два разряда числа В

8206

AF

XRA A

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

8207

8208

OE

02

MVI C, 02

Загрузить счетчик числа байтов

8209

1A

M1:

LDAX D

Загрузить в аккумулятор два разряда числа А

820А

8E

ADC M

Прибавить к содержимому акумулятора два разряда числа В с учетом переноса

820В

27

DAA

Преобразовать результат в десятичный код

820C

12

STAX D

Передать результат в ячейку памяти, адресуемой регистровой парой DE

820D

13

INX D

Указать на адрес следующих двух разрядов числа В

820E

23

INX H

Указать на адрес следующих двух разрядов числа А

820F

OD

DCR C

Уменьшить содержимое счетчика числа байтов

8210

8211

8212

C2

09

82

INZ M1

Если не последний (старший) байт, то идти на МI

8213

E7

RST 7

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

2.2 Выполним программу получения разности двух чисел C и D

Листинг программы приведен в таблице 2.2.

Входными параметрами программы будут являться: длина чисел в байтах, записанная в регистре В, адрес младшего байта вычитаемого – в регистровой паре HL, адрес младшего байта уменьшаемого – в регистровой паре DE. Результат вычисления заносится в область памяти, отведенную под вычитаемое. C=, D=. В регистре В записано 2 – длина чисел C и D в байтах. В области памяти записывается по адресам

8250 – Е1 (младший байт уменьшаемого);

8251 – 37 (старший байт уменьшаемого);

8252 – 75 (младший байт вычитаемого);

8253 – 08 (старший байт вычитаемого);

В регистре В записано 2 – длина чисел C и D в байтах.

Таблица 1.4 – Программа PRG 2 вычитание чисел

Адрес

Код

команды

Метка

Мнемоника

Комментарий

8200

8201

06

02

PRG 2:

MVI B, 02

Загрузить счетчик длины числа

8202

8203

8204

I I

50

82

LXI D, X

Загрузить в регистры D, E адрес младшего байта уменьшаемого

8205

8206

8207

21

52

C2

LXI M, V

Загрузить в регистры H, L адрес младшего байта вычитаемого

8208

AF

XRA A

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

8209

IA

M1:

LDAX D

Загрузить в аккумулятор уменьшаемое

820A

9E

SBB M

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

820В

77

MOV M, A

Записать разность на место вычитаемого

820C

I3

INX D

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

820D

23

INX H

Указать на следующий байт вычитаемого

820E

05

DCR B

Уменьшить содержимое счетчика длины числа

820F

8210

8211

02

09

82

INZ M1

Если не последний (старший) байт, то идти на MI

8212

Е7

RST 7

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


ВЫВОД

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

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Olya02:56:28 27 августа 2019
.
.02:56:27 27 августа 2019
.
.02:56:26 27 августа 2019
.
.02:56:25 27 августа 2019
.
.02:56:25 27 августа 2019

Смотреть все комментарии (13)
Работы, похожие на Лабораторная работа: Программирование арифметических задач на Ассемблере для микропроцессора К580

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(258397)
Комментарии (3470)
Copyright © 2005-2020 BestReferat.ru support@bestreferat.ru реклама на сайте

Рейтинг@Mail.ru