48632

Складывать содержимое последовательных ячеек памяти до появления признака переноса CY

Курсовая

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

В данной работе используется цикл с постусловием. 4 ОТЛАДКА И ВЕРИФИКАЦИЯ ПРОГРАММЫ Заданные числа были равны 8050 в 16й системе счисления Записаны в ячейки памяти 6000h6004h. В таблице 2 приведен пример корректной работы программы. Таблица 2 Регистры H 50 50 50 0 50 F0 50 40 Начальное и итоговое состояния программы показаны на рисунках 2 и 6.

Русский

2013-12-22

242 KB

11 чел.

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

Задача: Складывать содержимое последовательных ячеек памяти до появления признака переноса CY. Адрес первой ячейки 6000Н. Этапы решения задачи:

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

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

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

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

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

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

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

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

Обнуляем аккумулятор и принудительно устанавливаем признак переноса  С=0. Вводим данные в ячейки 6000h-6004h ( (H,L)←6000h ). Передаем содержимое аккумулятора и регистра (H) в аккумулятор – А ( (А)←(А)+((H,L)) ).

Увеличиваем содержимое регистровой пары на 1 ( (HL) ←(HL)+1 ). Далее используем  команду – Переход к метке по условию. В данном случае условием будет являться С=0 – Отсутствие переноса, NC (NO Carry). При истинности этого условия программа переходит к метке ( (А)←(А)+((H,L)) ). Если же условие становиться ложным: С=1- Перенос, заканчиваем программу (HLT).

 

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

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

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

Таблица 1

Мнемоника

Код

Описание

MVI A

3A

Передаем в аккумулятор ноль.

STC

37

Устанавливаем признак переноса С=1.

CMC

3F

Инвертируем признак переноса^ С=0.

LXI H

21

В регистрах HL первый адрес.

ADD M

86

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

INX H

23

Увеличиваем содержимое регистровой пары на 1.

JNC

D2

Повторить.

HLT

76

Конец.

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

Заданные числа были равны «80(50 в 16й системе счисления)» (Записаны в ячейки памяти 6000h-6004h). После прибавления значения ячейки 6004h программа должна прекратить работу из за появления признака переноса С=1(Перенос возникает, когда число в аккумуляторе превышает значение 255). В таблице 2 приведен пример корректной работы программы.

Таблица 2

Регистры

H

A

50

50

50

A0

50

F0

50

40

 

Начальное и итоговое состояния программы показаны на рисунках 2 и 6. Как видно из рисунка 2, в начальный момент времени ячейки памяти с адресами 6000h-6004h имеют значение 50; Аккумулятор имеет значение 0 (AF=0); Признак переноса С=0.

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

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

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

     На третьем шаге программы  увеличиваем значение HL на 1.

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

  На следующем  шаге, после проверки условия (С=0) мы переходим к адресу 5007 и далее в аккумулятор заносится сумма первой и второй ячеек (6000h и 6001h). AF=A0 (160 в 10й системе счисления).

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

           На следующем шаге программы  увеличиваем значение HL на 1.

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

На следующем шаге работы программы (рисунок 6), после проверки условия (С=0) мы переходим к адресу 5007 и далее в аккумулятор заносится сумма первой и второй и третей ячеек (6000h, 6001h, 6002h). AF=F0 (240 в 10й системе счисления).

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

На следующем шаге программы  увеличиваем значение HL на 1.

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

На следующем шаге работы программы (рисунок 8), после проверки условия (С=0) мы снова переходим к адресу 5007 и далее в аккумулятор к сумме первых трех ячеек добавляется четвертая (6000h, 6001h, 6002h, 6003h). Теперь сумма в аккумуляторе превышает значение 255 и в программе появляется флаг переноса С=1.

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

На последнем шаге работы программы условие отсутствия переноса (С=0) становиться ложно и программа завершается (HLT).

Рисунок 9 кно программы на следующем шаге

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

PAGE  13


(A)
 (A)+((HL))

H,L)6000h

A=0

C=1

C=0

Начало

Конец

C=1

(HL) (HL)+1


 

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

48832. Расчёт абсорбера сырого газа 412.5 KB
  Насадочные колонны являются наиболее распространенным типом абсорбционного аппарата. Это объясняется простотой их устройства, удовлетворительной работой и возможностью применения для агрессивных сред.
48833. Влияние организационной культуры на формирование системы мотивации и стимулирования персонала в ООО «Адидас» 167.5 KB
  Неэффективная система мотивации может вызвать у работников неудовлетворенность, что всегда влечет к снижение производительности труда. С другой стороны, эффективная система стимулирует производительность персонала, повышает эффективность человеческих ресурсов, обеспечивает достижение всего комплекса целей системы.
48835. Разработка малярного отделения АТП на 417 автомобилей ГАЗ-2410 726.5 KB
  Малярный участок. Малярные работы являются завершающими при ремонте кузова автомобиля, потому в малярный участок автомобили поступают после выполнения всех видов работ. При организации работы в малярном участке наибольшее число рабочих мест создается для подготовки автомобиля к окраске
48836. Финансы и финансовые отношения государства 262 KB
  Финансовая работа — практическая деятельность людей по управлению финансами организации. Конечной целью этой деятельности является достижение наилучших результатов при наименьших затратах. Под результатами понимаются как экономические, так и социальные показатели деятельности.
48837. Расчёт и проектирование однооборотной рычажно-зубчатой измерительной головки 610.5 KB
  Для регулировки натяжения волоска внутренний его конец неподвижно крепится в прорези втулки на оси большого зубчатого колеса; а наружный конец крепиться с помощью конического штифта в цилиндрическом штифте находящемся в крышке верхней платы. Для регулировки волоска следует немного ослабить конический штифт т. наружное крепление волоска и протащить волосок тем самым изменив его натяжение. Теперь найдём моменты трения в опорах от веса подвижных узлов: Кулиса: гмм Сектор: гмм Триб: гмм Суммарный момент трения приведённый к оси...
48838. Схема холодильной установки распределительного холодильника в г.Ловозеро 1.63 MB
  1 где tв2 температура воздуха на выходе из конденсатора определяется по формуле 6 с.2 где tв1 температура воздуха на входе в конденсатор Температура воздуха на входе в конденсатор для воздушного конденсатора принимается равной наружной расчетной температуре которая находится по формуле 2 с. 71 Требуемая массовая производительность компрессора низкой ступени определиться по формуле: 3. Тогда по формуле 3.