48631

Умножить содержимое ячейки памяти 6000Н на 5

Курсовая

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

РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММЫ И ЕЁ АССЕМБЛИРОВАНИЕ В данной работе нет необходимости использовать циклы. Рисунок 1 Блоксхема алгоритма Таблица 1 Мнемоника Код Описание LXI H 6000 21 Множимое число MOV M 7E Заносим множимое число в аккумулятор RL 17 Содержимое А сдвинуть влево RL 17 Снова сдвинуть DD M 86 Сложить А с регистром М LXI В 6001 01 Зададим ячейку результата STX B 02 Запомнить результат в В ячейка 6001 HLT 76 Конец 4 ОТЛАДКА И ВЕРИФИКАЦИЯ ПРОГРАММЫ Заданное число было взято 1 Записано в регистре H в ячейке памяти...

Русский

2013-12-22

152.5 KB

7 чел.


(A
n+1) (An),

(c)(A), (A0) (c)

A) ((M))

(H,L)6000h

Начало

Конец

((B,C)) (A)

(An+1) (An),

(c)(A), (A0) (c)

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

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

Задача: Умножить содержимое ячейки памяти 6000Н на 5. Результат — в ячейку 6001Н. Этапы решения задачи:

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

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

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

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

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

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

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

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

Вводим данное число в ячейку 6000h ( (H,L)←6000h ). Передаем содержимое (введенное число)  регистра (H) в аккумулятор – А ( (А)←((H,L)) ). Содержимое аккумулятора сдвигаем на один разряд влево (что будет равносильно умножению на два), повторим это действие, чтобы получить умножение на 4. Затем сложим аккумулятор с регистром – H, результат в аккумуляторе (В аккумуляторе хранится введенное число, умноженное на пять). В конце передаем содержимое аккумулятора в предварительно подготовленную ячейку памяти, адрес которой  находится в регистровой паре BC (LXI B, STAX B) и заканчиваем программу (HLT).

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

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

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

Таблица 1

Мнемоника

Код

Описание

LXI H (6000)

21

Множимое число

MOV A,M

7E

Заносим множимое число в аккумулятор

RAL

17

Содержимое А сдвинуть влево

RAL

17

Снова сдвинуть

ADD M

86

Сложить А с регистром М

LXI В (6001)

01

Зададим ячейку результата

STAX B

02

Запомнить результат в В (ячейка 6001)

HLT

76

Конец

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

Заданное число было взято «1» (Записано в регистре H, в ячейке памяти 6000h). На выходе должно получиться значение «5». В таблице 2 приведен пример корректной работы программы.

Таблица 2

Регистры

H

A

B

01

00

00

01

01

00

01

02

00

01

04

00

01

05

05

 

Начальное и итоговое состояния программы показаны на рисунках 2 и . Как видно из рисунка 2, в начальный момент времени ячейка памяти с адресом 6000h имеет значение 01.

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

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

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

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

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

 

  На следующем шаге выполнив предыдущее действие получим в аккумуляторе  значение А=4.

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

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

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

На последнем шаге работы программы (рисунок 6) содержимое аккумулятора передается в указанную ячейку памяти регистра В (6001 05).

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

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


 

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

71674. ОСНОВЫ ИЗМЕРЕНИЙ 836 KB
  Материал изложен с учетом требований программ дисциплин по которым осуществляется подготовка инженеров-метрологов в Белорусском государственном университете информатики и радиоэлектроники и охватывает ряд вопросов касающихся основ измерений.
71675. Метрология и измерения: Учебно-методическое пособие 3.97 MB
  Учебно-методическое пособие Метрология и измерения предназначено для индивидуальной работы студентов изучающих курсы измерений. Обработка результатов измерений с однократными наблюдениями Обработка результатов многократных наблюдений при прямых измерениях.
71676. ОЧЕРКИ ПО ТЕОРИИ И ПРАКТИКЕ ДИЗАЙНА НА ЗАПАДЕ 823.5 KB
  Дизайн в моде, о нем написано много и напишут еще больше. Вполне понятно, на глазах одного поколения возникла и утвердилась новая профессиональная деятельность, которую нужно как-то осмыслить. Сначала писали о терминах, о том, что английское «design» — производное от итальянского «disegno»...
71677. ИНФОРМАТИКА: КОМПЬЮТЕРНЫЙ ПРАКТИКУМ: «WORD 2007, EXCEL 2007» 7.88 MB
  Цель данного пособия - объяснить студентам, а также всем интересующимся основы работы в текстовом и табличных процессорах Microsoft Word и Microsoft Excel 2007. Необходимость написания данной работы возникла в связи с появлением нового поколения программных продуктов корпорации Microsoft.
71678. Религиоведение: Учебное наглядное пособие 613 KB
  Цели задачи и практическое предназначение курса Основные понятия религиоведения Понятие бытия и человека в христианской религии Основные этапы становления религиоведения как науки Происхождение и ранние формы религии Предпосылки религиозности и формирования религиозных институтов.
71679. Заполнение таблиц MS EXEL данными и формулами 31.62 KB
  Выполнить задание 1 (Формирование структуры таблицы и заполните ее постоянными значениями), используя технологию выполнения операций в конце задания Выполнить задание 2 Технология работы с формулами на примере подсчета количества разных оценок в группе в экзаменационной...
71680. ОПРЕДЕЛЕНИЕ МОМЕНТА ИНЕРЦИИ В МАШИНЕ АТВУДА 78.94 KB
  Цель работы: изучение вращательного и поступательного движений на машине Атвуда, определение момента инерции блока и момента сил трения в оси блока. Описание установки и её назначение. Машина Атвуда является настольным прибором, ее изображение приведено на рис. 3.1. На вертикальной стойке...