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

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


 

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

42719. Оценка характеристик программ на основе лексического анализа. Метрики 262.5 KB
  Наиболее ценным для практики является то что такая оценка может быть получена вручную на основе зрительного анализа текста программы либо автоматически с помощью специально разработанных программных анализаторов причем относительно несложных. Джилб предположил что логическая сложность должна являться значимым если не определяющим фактором для оценки стоимости программы на начальных этапах ее проектирования. Логическая сложность программы Джилб определяет как насыщенность программы условными операторами типа IFTHENELSE и...
42720. Оценка надежности программных средств 227.5 KB
  Она основана на предположении об экспоненциальной зависимости плотности вероятности интервалов времени между проявлением ошибок от интенсивности ошибок. Кроме того в модели полагается что интенсивность ошибок на каждом случайном интервале времени линейно зависит от количества оставшихся в программе ошибок. Если допустить что ошибка после ее каждого проявления устраняется и при этом в программный модуль не вносятся новые то интенсивность ошибок ti на интервале ti определяется следующим соотношением: 1 где N количество ошибок...
42721. Интерфейсы, делегаты, события 277.5 KB
  Таблица 1 Список используемых элементов управления Элемент управления Класс Описание textBox1 TextBox Окно ввода имени продавца textBox2 TextBox Окно ввода фамилии продавца textBox3 TextBox Окно ввода стажа продавца textBox4 TextBox Окно вывода списка продавцов textBox5 TextBox Окно ввода оклада продавца textBox6 TextBox Окно ввода имени менеджера textBox7 TextBox Окно ввода фамилии менеджера textBox8 TextBox Окно ввода стажа менеджера textBox9 TextBox Окно ввода оклада менеджера textBox10 TextBox Окно вывода зарплаты менеджера button1 Button...
42722. Поняття алгоритму. Блок схема запису алгоритмів 24 KB
  Мета: ознайомитись з поняттям алгоритм розглянути властивості алгоритму способи запису алгоритмів ознайомитись з правилами креслення схем алгоритму. Скласти схему алгоритму для обчислення виразу: Алгоритм последовательность действий приводящая к конкретному результату.
42723. Основы языка С# и знакомство с основными элементами управления C# 430 KB
  В C как и в C C нумерация элементов массива идет с нуля. Естественно что в нашем примере у массива 6 =23 элементов k[00] первый k[12] последний.rry Элемент Вид Описание Length Свойство Количество элементов массива по всем размерностям Rnk Свойство Количество размерностей массива BinrySerch Статический метод Двоичный поиск в отсортированном массиве Cler Статический метод Присваивание элементам массива значений по умолчанию Copy Статический метод Копирование заданного диапазона элементов одного массива в другой массив CopyTo...
42724. Исследование электрических величин двухобмоточного однофазного трансформатора 119 KB
  Исследование электрических величин двухобмоточного однофазного трансформатора. Цель работы: изучить конструкцию однофазного трансформатора описать принцип его действия замерить величины в различных режимах работы в масштабе построить характеристики и векторные диаграммы. б Коэффициент трансформации трансформатора зависит . в В режиме холостого хода с увеличением напряжения коэффициент мощности трансформатора .
42725. Методы классификации основанные на сравнении с эталоном 732 KB
  Поэтому обычно возникает необходимость сократить это число посредством выделения информативных признаков которые предполагаются инвариантными или малочувствительными по отношению к изменениям и искажениям. Результаты измерений признаков отображаются в пространство признаков. В этом случае будут установлены границы областей принятия решений для разделения признаков новых фрагментов подлежащих классификации см. Первая задача заключается в выборе подмножества признаков и их упорядочиванию в заданном множестве измерений.
42726. Строки и регулярные выражения 300 KB
  String Работа с функциями класса StringBuilder Работа с регулярными выражениями. В C есть тип string но класс System. Пример использования: String s= qqq ; int k=s. Пример использования: nmespce test { clss Test { public sttic void Min { String s1= rbour s2= ce s3= zote ; System.
42727. Запільна блок-схема 28.5 KB
  Накресліть схему лінійного алгоритму. Накресліть схему розгалуженого алгоритму. Як конструювати схему алгоритму.