48633

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

Курсовая

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

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

Русский

2013-12-22

295.5 KB

16 чел.


(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 Окно программы на последнем шаге

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


 

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

8101. Воспитание учащихся в коллективе. Структура и динамика воспитания коллектива 24.61 KB
  Воспитание учащихся в коллективе. Структура и динамика воспитания коллектива. Коллектив - высокоразвитая группа с такими характеристиками, как сплоченность, целеустремленность, ценностно-ориентационное единство и пр. Педагогика понимает воспитательн...
8102. Этапы становления воспитательного коллектива 21.85 KB
  Этапы становления воспитательного коллектива Выделены стадии развития коллектива - этапы развития группы детей по характеру предъявляемых педагогом требований, по характеру отношений и взаимодействия между воспитанниками. На первой стадии педаг...
8103. Семейное воспитание. Формы, методы взаимодействия школы с семьей 28.09 KB
  Семейное воспитание. Формы, методы взаимодействия школы с семьей Семья - это малая социальная группа, члены которой связаны браком, родительством и родством, общностью быта, бюджета и взаимной моральной ответственностью. Она имеет ряд функций: репро...
8104. Самовоспитание личности школьника. Педагогическое руководство процессом самовоспитания 26.28 KB
  Самовоспитание личности школьника. Педагогическое руководство процессом самовоспитания. Самовоспитание - это сознательная, целенаправленная самостоятельная деятельность, ведущая к возможно более полной реализации, развитию и совершенствованию личнос...
8105. Синхронизация процессов при помощи семафоров 48 KB
  Синхронизация процессов при помощи семафоров Цель работы: получить представление о синхронизации процессов в ОС UNIX при помощи флагов в разделяемой памяти и процессных семафоров. Иcпользуемые средства: ОС Linux, графическая оболочка KDE, среда разр...
8106. Электрофильтры. Тиристорные пускатели. Козловые краны. Портальные краны 3.16 MB
  Электрофильтры Электрическая очистка(электрофильтры) - один из наиболее совершенных видов очистки газов от взвешенных в них частиц пыли и тумана. Электрофильтры - это высоковольтное электротехническое оборудование, в кот...
8107. Детали машин. Конспект лекций 3.63 MB
  Детали машин Содержание курса Механические передачи Элементы, обеспечивающие вращательное движение (валы и подшипники) Соединения Муфты приводов Цель курса ДМ и ОК: изучение, расчёт и проектирование деталей общемашиностроител...
8108. Организационно-экономическая характеристика хозяйства 212 KB
  Организационно-экономическая характеристика хозяйства Общие сведения о предприятии, его специализация Коммунальное сельскохозяйственное унитарное предприятие Коленское Житковичского района Гомельской области образовано на базе со...
8109. Экспертиза наличных денежных средств, определение платежеспособности валюты РФ, обмен денежных купюр, виды приборов, с помощью которых определяют подлинность денежных знаков 4.2 MB
  Введение История возникновение денег. Деньги появились как некий необходимый при возникновении товарообмена универсальный измеритель. Деньги за свою историю принимали самые различные и необычные формы. Постепенно люди перешли к деньгам в виде металл...