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

9 чел.


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

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


 

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

38775. МЕТОДИЧЕСКИЕ УКАЗАНИЯ по подготовке и защите магистерских диссертаций 426.5 KB
  Тема объём и структура магистерской диссертации 7 4. Титульный лист магистерской диссертации 37 Приложение Б. Справка о результатах внедрения решений разработанных в магистерской диссертации 41 Приложение К. Примерная структура доклада на защите магистерской диссертации 43 Приложение Н.
38776. АРХЕОЛОГИЧЕСКИЙ ТЕКСТИЛЬ КАК ИСТОЧНИК ПО РЕКОНСТРУКЦИИ ДРЕВНЕГО ТКАЧЕСТВА ЗАПАДНОЙ СИБИРИ 303 KB
  Сибирские археологические ткани изучены очень фрагментарно в основном это древний текстиль с территории Южной Сибири и Алтая. Только в последние годы стали появляться работы содержащие технологическое описание найденных образцов текстиля из археологических памятников Западной Сибири а также первые попытки обобщения информации по отдельным районам или этносам. в результате археологических раскопок на территории Западной Сибири накоплено огромное количество текстильных образцов тканей плетений которые только сейчас вводятся в научный...
38780. ОЦЕНКА ОСТЕОГЕНЕЗСТИМУЛИРУЮЩИХ МЕТОДОВ ПРИ ЛЕЧЕНИИ БОЛЕЗНИ ЛЕГГ-КАЛЬВЕ-ПЕРТЕСА У ДЕТЕЙ 235.5 KB
  Эта патология характерна для детей в возрасте 48 лет но возможны случаи заболевания в более раннем и более позднем возрасте Абальмасова Е. Среди множества теорий возникновения болезни Пертеса приоритетное место занимает гипотеза сосудистой ишемии что обусловлено особенностями кровоснабжения эпифиза у детей этой возрастной группы Хэм А. Проанализировать результаты лечения детей с болезнью ЛеггаКальвеПертеса с использованием метода биологической стимуляции.
38782. Организация расследования незаконного оборота оружия 191 KB
  Нарушение правил оборота гражданского оружия . Особенности расследования преступлений связанных с незаконным оборотом оружия31 3. Особенности следственных действий по преступлениям связанных с незаконным оборотом оружия.