Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 11

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 24.11.2024


Лабораторная работа  №1.  Простые вычисления

Вариант 4

Задание

Написать на языке ассемблера микропроцессора КР580ВМ80А программу, реализующую вычисления по заданному арифметическому выражению. Оттранслировать программу в машинные коды и выполнить ее отладку на УОУ “Электроника-580”. Значения исходных переменных Х и Y (для выполнения контрольного примера) в таблице заданий представлены в десятичной форме, перед выполнением программы они размещаются в ОЗУ по указанным в шестнадцатеричной форме адресам. Результат выполнения программы Z также заносится в ОЗУ по указанному адресу.

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

  1.  номер заданного варианта и его исходные данные;
  2.  алгоритм программы;
  3.  текст программы на языке ассемблера;
  4.  текст программы в машинных кодах (результаты трансляции);
  5.  результаты выполнения контрольного примера (в шестнадцатеричной и десятичной форме).

Решение

Необходимо составить программу, реализующую следующую функцию:

Z=min{|A*X-Y+B|, C}

Так как ассемблер является языком низкого уровня, т.е. его команды оперируют непосредственно со структурными элементами микропроцессорной системы, программист перед началом составления программы вычислений должен знать, в какой форме будут представлены входные и выходные переменные, по каким адресам ОЗУ они будут размещены. Из задания к лабораторной работе видно, что исходные переменные X, Y и результат вычислений Z являются числами со знаком, поэтому они представляются в дополнительном коде. Длина их не превышает одного байта. Расположим переменные Х и Y  в ОЗУ по адресам 8300Н и 8301Н соответственно. Результат Z после окончания вычислений разместим в ОЗУ по адресу 8300Н, т.е. на месте исходной переменной X.

Создание программы начнем с составления алгоритма, соответствующего порядку вычислений при нахождении значения заданной функции. В общем случае алгоритмы решения задач на компьютере могут составляться в несколь ко этапов – со все более подробной их детализацией. На заключительном этапе алгоритм составляется с учетом особенностей его конкретной реализации на той или иной микро-ЭВМ, с учетом особенностей системы команд микропроцессора. В нашем случае задача очень простая и сразу же может быть разработан максимально подробный алгоритм, ориентированный на систему команд микропроцессора КР580ВМ80А.

Адрес 8300Н используется в ходе выполнения программы несколько раз, сначала – для считывания переменной Х, а после окончания вычислений – для занесения значения Z. Поэтому для упрощения обращения к ячейке памяти с этим адресом занесем его в регистровую пару HL, наиболее удобную для организации косвенной регистровой адресации.

Умножение на целое число в функции реализуется путем многократного сложения.

Так как данные представляются в дополнительном коде, то для получения абсолютной величины значения Y-25, в случае, если оно отрицательно, используются операции инверсии и добавления единицы.

После составления алгоритма записывается соответствующая программа на языке ассемблера. Полученные алгоритм решения задачи и текст программы с необходимыми комментариями приведены ниже. Команды, на которые в программе есть переходы, помечены метками ADR1, ADR2 и FIN.

При отладке программы на УОУ “Электроника-580” завершающей программу командой является RST 4, которая выполняет функцию “возврат к монитору”.

Получение машинных кодов команд программы при работе на УОУ “Электроника-580” осуществляют вручную с помощью таблицы команд. Альтернативный вариант трансляции – использование программы кросс-ассемблера AVMAC85.

Листинг трансляции рассматриваемой программы также приведен ниже. В нем показан пример введения и использования символьной константы CH1, которой присваивается с помощью команды транслятора EQU значение 17. Начальный адрес размещения рассматриваемой программы в памяти программ отладочного устройства определяется равным 8200H с помощью команды транслятора ORG. Длина полученного кода программы составляет 28 байт.

Первая команда LXI H, 8300H трехбайтная и занимает три ячейки памяти, причем во второй ячейке размещается младший байт, а в третьей – старший байт числа 8300H. Далее следуют две однобайтные команды, потом – двухбайтная команда ADI CH1, занимающая ячейки 8205H и 8206H, причем во второй ячейке размещается константа CH1=17=11H. Далее опять следует однобайтная команда и т.д.

В командах переходов при трансляции вместо символических адресов – меток подставляются соответствующие им конкретные физические адреса памяти – 8212H, 821AH и 821BH. Так как переходы в примере выполняются вперед по программе, то при ручной трансляции этих команд физические адреса переходов еще неизвестны, и необходимо зарезервировать две ячейки памяти под второй и третий байты команды перехода. Затем, когда процесс трансляции дойдет до команды, на которую выполняется переход, и становится известным физический адрес ее размещения в памяти, зарезервированные под этот адрес байты могут быть заполнены.

После ввода в память УОУ программы в машинных кодах необходимо подготовить и ввести в соответствующие ячейки памяти исходные переменные примера. Далее проводится отладка программы – проверка правильности ее функционирования.

Отладка программы может быть также выполнена с помощью отладчика-симулятора AVSIM85.

Для рассмотренной программы были получены следующие результаты:

При X1=-16=F1,   

При X2=25=2F,

При Y1,2=-24=C6          

A=3; B=14; C=58

Адрес X = 8301H

Адрес Y = 8300H

                                                                                                                                                                                                              ЛИСТИНГ ТРАНСЛЯЦИИ ПРОГРАММЫ

LXIH  8301                                  8301  21 00 84

MOV  A,M                                   8302  7E

ADD   A                                        8303  87

ADD   M                                       8304  86

MOV  B,A                                    8305  47

LDA   8300H                                8306  3A 0A 83

SUD   B                                        8307  90                        

JP       ADR1                                 8308  F2

CMA                                             8309  3C

INR    A                                        830A  B8

ADR1:ADI 14 CPI 58                  830B  C6 11 83

JP        ADR2                                830C  FE

MOV  M,A                                    830F 830E

JMP    FIN                                     8310  C3 12 83

ADR2:MVI M58                           8311  36

FIN     HLT                                    8312  76  

         

начало    

    ↓

8301 H,L

     ↓

M(H,1>)>→A

      ↓

<A>+<A>→A

      ↓

         <A>+J→A

      ↓

<A>→B

      ↓

<M(8300)>→A

      ↓

<A>-0→A

      ↓

<A> <=0?

<A>→A                                  

      ↓

<A>-1→A

      ↓

<A> <=<B>?

      ↓

<B>→M(<H,L>)

      ↓

<A>M(<H,L>)

      ↓

   конец




1. Характеристика Греции.html
2. На тему - Особенности мануфактурного производства в России в 1718 веках
3. ВНЕШНЯЯ ПОЛИТИКА ВЕНЕСУЭЛЫ ПОСЛЕ ВТОРОЙ МИРОВОЙ ВОЙНЫ МОСКВ
4. Я режиссерсценарист а ещё веду семинары по творчеству
5. Доядерные организмы
6. Музыкальный образ
7. ТЕМА БЕССЛИЗИСТОЙ ДИЕТЫ НАУЧНЫЙ МЕТОД ПРОЕДАНИЯ ВАШЕГО ПУТИ К ЗДОРОВЬЮ rnold Ehret ldquo;MUCUSLESS.html
8.  Выявить проблему которую пытается сказать автор высказывания
9. 1Правовое положение сословия крестьянства в социальной системе ВКЛ XIVXV века Класс крестьянства по эконом
10. грубодисперсные системы с частицами размером более 01 мкм суспензии и эмульсии; 2 коллоидные системы с час
11. .1 Термодинамика электродных процессов 5 1
12. Сегодня мы больше всего можем чувствовать в своем сердце что Господь очень добрый
13. Заключение международного договора
14.  Рецензенты кандидат юридических наук доцент В
15. Екологічні проблеми зберігання та утилізації відході
16. Социология Уфа РИО БашГУ 2011 Печатается по решению кафедры прикладной и от
17. Эффективность ускорения подготовки и освоения производства
18. Особенности фрахтования судов
19. Тема 11 Действия с числами
20. политика управления оборотными активами Политика управления оборотными активами включает в себя-