48633

Вычислить среднее арифметическое содержимого двух ячеек памяти с адресами 6000h и 6001h

Курсовая

Информатика, кибернетика и программирование

Поскольку для представления данных используется шестнадцатеричная система счисления, начальные данные необходимо перевести в эту систему счисления.

Русский

2013-12-22

295.5 KB

10 чел.


(A
) (D,E),

(A) (A)+(M)+(C)

A) 2

(H,L)6000h

(D,E)6001h

(B,C)6002h

Начало

Конец

CALL

(A) (A) / (r)

(В,С) (A)

1 ПОСТАНОВКА ЗАДАЧИ

Задача: Вычислить среднее арифметическое содержимого двух ячеек памяти с адресами 6000h и 6001h. Результат — в ячейку 6002h..

Этапы решения задачи:

1. Разработать блок-схему алгоритма решения задачи по заданному варианту

2. Написать программу на языке ассемблера.

3. Ассемблировать программу вручную.

4. Занести программу в память микроЭВМ.

5. Выполнить программу в автоматическом режиме.

6. Если программа не работает, то используя пошаговый режим отладить программу.

2 АНАЛИЗ ЗАДАЧИ И РАЗРАБОТКА АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ

Поскольку для представления данных используется шестнадцатеричная система счисления, начальные данные необходимо перевести в эту систему счисления.

Вводим первое число в ячейку 6000h ( (H,L)←6000h ).Затем вводим второе число в ячейку 6001h ( (D,E)←6001h ). Результат будет записываться  в ячейку 6002h ( (B,C)←6002h ). Задаем в аккумулятор А число байт  ( (А)← 2 ). Вызывается подпрограмма ( CALL 500F). В ячейке 500F идёт занос в стек. Затем сбрасывается флаг переноса СУ. Складываем текущие байты ( A←(D,E) а так же операндов ( A←(H,L) ). Сдвигаем полученный результат вправо (что равносильно делению на 2). В конце передаем содержимое аккумулятора в предварительно подготовленную ячейку памяти, адрес которой  находится в регистровой паре BC (LXI B, STAX B) и заканчиваем программу (HLT).

3 РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММЫ И ЕЁ АССЕМБЛИРОВАНИЕ

В данной работе нет необходимости использовать циклы. Программа выполняет все действия последовательно.

Рисунок 1 Блок-схема алгоритма

Таблица 1

Мнемоника

Код

Описание

LXI H (6000)

21

Первое число

LXI D (6001)

11

Второе число

LXI  B (6002)

01

Результирующее число

MVI A(02)

3E

В А число байт

CALL ADD M

CD

Вызов подпрограммы

HLT

76

Конец

PUSH PSW

F5

Занести в стек (ADD M)

XRA A

AF

Cброс флага переноса СУ

LDAX D

1A

Cложение текущих байтов

ADC M

8E

операндов

RAR

1F

Сдвиг его вправо

STAX B

02

Заполнить результат

INX D

13

Продвинуть указатели

4 ОТЛАДКА И ВЕРИФИКАЦИЯ ПРОГРАММЫ

Заданные значения были «7» и «3» . В результате должно получиться значение «5». При нечетном значении одного из числа , результат округляется в меньшую сторону, при этом в регистре С появляется единица ( C=1).

Таблица 2

BC

DE

HL

A

5003

0000

0000

6000

0000

5006

0000

6001

6000

0000

5009

6002

6001

6000

0000

500B

6002

6001

6000

0200

500F

6002

6001

6000

0200

5010

6002

6001

6000

0200

5011

6002

6001

6000

0044

5012

6002

6001

6000

0344

5013

6002

6001

6000

0A00

5014

6002

6001

6000

0500

5015

6002

6001

6000

0500

 

Начальное и итоговое состояния программы показаны на рисунках 2 и 6.

Как видно из рисунка 2, в начальный момент времени ячейка памяти с адресом 6000h имеет значение 07, 6001h имеет значение 03. Ячейка 6002h свободна от результата.

Рисунок 2 Окно программы на первом шаге

    На следующем шаге, как видно на рисунке 3, содержимое ячейки 5009 передалось в аккумулятор (А = 02).

Рисунок 3 Окно программы на втором шаге

     На третьем шаге программы  содержимое аккумулятора складывает содержимое ячеек 6000 и 6001.

Рисунок 4 Окно программы на третьем шаге

  На следующем шаге выполняется сдвиг вправо, т.е. деление результата на   2.

Рисунок 5 Окно программы на четвертом шаге

     На следующем шаге получим результат  в ячейке 6002h.

Рисунок 6 Окно программы на последнем шаге

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


 

А также другие работы, которые могут Вас заинтересовать

53449. Впровадження інтерактивного навчання на уроках німецької мови 8.72 MB
  Актуальність змісту Розширення пізнавальних можливостей учнів, зокрема, у здобуванні, аналізі та застосуванні інформації з різних джерел, можливість перенесення отриманих умінь, навичок та способів діяльності на різні предмети та позашкільне життя учнів.
53451. Інтерактивна гра. «Права людини» 37 KB
  Проблеми Як їх вирішити Членам команд пропонується проблема яку потрібно вирішити. Проблема перша Одна жінка зпоміж членів групи любить співати але на жаль вона співає безперестанку. Чи ви: а нічого не робите і дозволяєте їй співати коли б вона цього незабажала б вимагаєте щоб вона переставала співати коли хтось іде поруч із нею Проблема друга Кілька людей яких поранило при посадці затримують ваш рух і ви побоюєтесь що в такому темпі ви не встигнете добратися до буйка поки не...
53452. Процедура Bubble_sort и ее особенности 18.77 KB
  Сортировка простыми обменами, сортиро́вка пузырько́м (англ. bubble sort) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов.
53453. Оптимизация процедуры Quick_sort, особенности 22.82 KB
  Быстрая сортировка (англ. quicksort), часто называемая qsort по имени реализации в стандартной библиотеке языка Си — широко известный алгоритм сортировки, разработанный английским информатиком Чарльзом Хоаром во время его работы в МГУ в 1960 году.
53454. Кристаллическое строение вещества 711 KB
  Кристаллическая решётка — вспомогательный геометрический образ, вводимый для анализа строения кристалла. Решётка имеет сходство с канвой или сеткой, что даёт основание называть точки решётки узлами. Решёткой является совокупность точек, которые возникают из отдельной произвольно выбранной точки кристалла под действием группы трансляции
53455. Інтернет технологія Веб-квест 38.5 KB
  Webквестом називається спеціальним чином організований вид дослідницької діяльності для виконання якої учні здійснюють пошук інформації в мережі Інтернет за вказаними адресами. Щоб дана робота була максимально ефективною webквест спеціальним чином організована webсторінка повинен містити наступні частини: введення в якому описуються терміни проведення і задається початкова ситуація; цікаве завдання яке можна реально виконати; набір посилань на ресурси мережі необхідні для виконання завдання. Деякі але...
53456. Классный час «Безопасный интернет» 160.5 KB
  Ведущий1 С одной стороны Интернет прочно вошел в наш обиход и очень облегчает поиск любой информации. С другой стороны есть люди которые считают что Интернет бич нового тысячелетия. Давайте разберемся что же такое Интернет на самом деле.
53457. Суд над Інтернетом. Internet: глобальне добро або зло? 142 KB
  Вчитель виконує роль судді в диспуті сторін, який незалежно і аргументовано буде приймати, або відкидати доводи, що приводяться, і стежити за тим, щоб одні і ті ж аргументи не повторювалися в різному формулюванні, і за тим, щоб дискусія була в цивілізованих рамках.