Будь умным!


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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 6.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. Винкельман и его эстетическая и историческая концепция классического искусствознания
2. руську У 50х роках XIV ст
3. Лабораторная работа N 2 ИССЛЕДОВАНИЕ НЕРАЗВТВЛЁННОЙ ЦЕПИ ПЕРЕМЕННОГО ТОКА ПРИ ПОСЛЕДОВАТЕЛЬ
4. .Obydw morz lcz sie przez Ciesnine Kerczensk ktor ddziel polwysep Kerczenski njbrdziej n wschod wysuniet czesc Krymu od PolwyspuTmnskiego nlezcego juz do Rosj.
5. Рассматриваются проблемы феноменологии личности социализации общения креативности субъективного благо
6. ВАРІАНТІВ ДЛЯ ЗАДАЧ ЕКСПЕРТНОГО ОЦІНЮВАННЯ ТА ЇХ ЗАСТОСУВАННЯ Спеціальність- 01
7. 1896 Рождение кино
8. 233 Основные технические характеристики усилителей Важнейшими техническими показател
9. тема хозяйствования требует радикальных изменений системы управления экономикой
10. Левитанский Юрий Давыдович
11. Птоломей
12. интегрированной компании
13. темам. Обратимые и необратимые в термодинамическом смысле процессы
14. Границы морского пространства Договор морского круиза
15. Деньги и ценные бумаги в гражданском праве
16. Правовое обеспечение и реализация избирательных прав граждан в РФ
17. Экологическое состояние бассейна реки Западная Двина в пределах Смоленской области
18. Птолемея В течение столетий вновь обнаруживаемые факты использовались для ее подтверждения а вот Коперник
19. либо правил. Маршрутизаторы работают на сетевом третьем уровне модели OSI в качестве узловых устройств для
20. го и 2го рода. Статистический критерий проверки нулевой гипотезы.html