Реферат по предмету "Информатика, программирование"


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

Дон ГТУ
Лабораторнаяработа № 3
АКГ-05
АУТПТЭК
Программированиеарифметических задач на Ассемблере для микропроцессора К580

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

1ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
 
1.1Представление чисел
При программированиимикро ЭВМ на МП БИС КР580ИК80 необходимо пользоваться способом представлениячисел с фиксированной десятичной точкой. При этом знак числа и количестворазрядов, занятых дробной частью числа, могут быть учтены при подготовке данныхили программным путем.
Следует помнить, что кодыкоманд, адреса и данные вводятся в микро ЭВМ числами в шестнадцатеричнойсистеме счисления. Некоторой особенностью в лабораторных установках МИКРОЛАБ иЭЛЕКТРОНИКА-580 является отображение чисел на дисплее (табл. I).
Для МП БИС КР580ИК80можно представлять данные в виде двоично-десятичного числа, при этом каждыйбайт рассматривается как две тетрады (два полубайта), а каждая тетрада кодируетодну десятичную цифру.
Такое представлениепозволяет закодировать в одном байте десятичные числа от 0 до 99. Обратитевнимание на то, что, используя для представления шестнадцатеричную системусчисления, в одном байте можно закодировать число от 0 до FF, чтосоответствует числам десятичной системы от 0 до 255.
Эти примеры показывают,что такое представление чисел более рационально: используется меньший объемпамяти, сокращается программа.
Таблица1- Представление чисел в различных системах счисления и отображение их на дисплее
Десятичная
система
счисления
Восьмеричная
система
счисления Двоичная сис­тема счисле­ния (по тетрадам) Шестнадцате-ричная систе­ма счисления
Символы
на дисплее 0000 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, познакомились с программированием в машинных кодах имнемокодах, научились пользоваться средствами управления и клавиатуройустройств.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Механизация горных работ карьера
Реферат Японский стиль в интерьере
Реферат Россия во второй половине XIX века. Реформы.
Реферат Авляющая истории украины резкая переоценка ценностей, происшедшая на стыке веков, привела к росту исторического нигилизма, к заметному упадку исторической науки
Реферат Монголо-татарское нашествие на Русь
Реферат Грани украинской истории. Судьба батьки Махно
Реферат Возвращение православия на анапскую землю
Реферат Россия в 1917 г. Политическое развитие. Хроника событий
Реферат Виды стажа, используемые в законодательстве о социальной защите населения
Реферат Схема трансформаторного усилителя
Реферат Основные этапы закрепощения крестьян
Реферат А. Ахматова
Реферат Сбор маркетинговых данных как этап коммерциализации технологий
Реферат Банковские риски особенности управления валютным риском
Реферат Номенклатура дел виды роль и значение