48633

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

Курсовая

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

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

Русский

2013-12-22

295.5 KB

14 чел.


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

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


 

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

82647. Разработка алгоритмов безопасной маршрутизации в беспроводных сетях 649.62 KB
  В данной работе рассмотрены принципы построения и функционирования беспроводных сетей, проблемы безопасности при передаче данных. Структура и свойства, стандарты, способы передачи данных в беспроводных сетях. Методы и типы маршрутизации.
82648. ДІАГНОСТИКА БЕНЗИНОВИХ ДВИГУНІВ З ЕЛЕКТРОННИМИ СИСТЕМАМИ КЕРУВАННЯ 9.02 MB
  Проведено аналіз існуючих систем керування бензиновими двигунами та їх складових частин. Викладено методику аналізу та вибору ефективної технології та обладнання для діагностики технічного стану електронних систем керування бензиновими двигунами.
82649. РЕКОМЕНДАЦИИ ПО СОВЕРШЕНСТВОВАНИЮ ВНУТРИОРГАНИЗАЦИОННОГО МАРКЕТИНГА НА ПРЕДПРИЯТИИ «ДЁКЕ УРАЛ» 292.5 KB
  Цель выпускной квалификационной работы состоит в исследовании и научном обосновании теоретических положений и практических рекомендаций по совершенствованию внутриорганизационного маркетинга на предприятии, учитывая специфику деятельности ООО «Дёке Урал» и обеспечивающих повышение его конкурентоспособности в целом.
82650. Методи підвищення технічної експлуатації суднових газотурбонагнетачів 3.04 MB
  Одним з основних і розповсюджених способів підвищення потужності дизелів є газотурбінний наддув за допомогою якого збільшується заряд повітря в робочих циліндрах що в свою чергу дозволяє збільшити циклову подачу палива. Дизеля надійні в роботі прості в обслуговуванні та ремонті мають обмежені витрати...
82651. КОНТРОЛЬ ХОЗЯЙСТВЕННЫХ ОПЕРАЦИЙ ПО УЧЕТУ РАСЧЕТОВ ПО ЗАРАБОТНО ПЛАТЕ НА ПРИМЕРЕ КУПСХП «ОСВЕЙСКИЙ» 1.58 MB
  Современная теория оплаты труда Управленческие теории Теории мотивации трудового поведения управление человеческими ресурсами ценностно-ориентированный менеджмент корпоративная социальная ответственность Новые течения Марксизм постиндустриальной эпохи...
82652. Анализ развития ипотечного кредитования российскими банками (на примере Ярославского ФКБ-РЦ «СЕВЕРГАЗБАНК») 2.95 MB
  Актуальность темы дипломной работы на современном этапе развития экономики Российской Федерации связана с тем, что рост инфляции, дефицит и высокая стоимость долгосрочной ликвидности (при отсутствии краткосрочной) — все это поставило сегодня ипотечное кредитование на грань выживания.
82653. Разработка программного обеспечения для дистанционного управления компьютерами, включенными в локальную сеть 1.61 MB
  Целью работы является создание программного комплекса для дистанционного контроля, диагностики и слежения с целью: снижения затрат на обслуживание каждой машины; экономии электроэнергии; сокращения времени реагирования на проблемы пользователей; сокращения обслуживающего персонала...
82654. ПРОБЛЕМЫ ИПОТЕЧНОГО КРЕДИТОВАНИЯ В ДЕЯЕЛЬНОСТИ КОММЕРЧЕСКОГО БАНКА НА ПРИМЕРЕ ЯРОСЛАВСКОГО ФКБ-РЦ «СЕВЕРГАЗБАНК» 2.92 MB
  Цель работы - рассмотрение системы ипотечного кредитования в Российской Федерации и прогноз перспектив ипотечного кредитования в коммерческом банке. В ходе данной работы подробно рассмотрены в I главе сущность и понятие ипотеки основные нормативно-правовые акты ипотечного кредитования...
82655. Расчет нагрузок и определение параметров элементов в СЭС 643.28 KB
  От силового пункта СП 1 получают питание: n1 вытяжных вентиляторов мощностью Рн1 кВт n2 конвейеров мощностью Рн2 кВт n3 водонагревателей мощностью Рн3 кВт n4 полировальных станков мощностью Рн4 кВт n5 шлифовальных станков мощностью Рн5 кВт n6 шлифовальных станков мощностью Рн6 кВт.