Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пример решения задачи. Порядок решения задач разберем на примере задачи переноса четных чисел из массива с начальным адресом ADR = 200H и длиной N = 8 в массив с начальным адресом






 

Порядок решения задач разберем на примере задачи переноса четных чисел из массива с начальным адресом ADR = 200H и длиной N = 8 в массив с начальным адресом ADR2 = 2A0H. Схема алгоритма решения задачи изображена на рис.3.3, а схема программы PRIM приведена на рис.3.4.


В схеме программы использован вычитающий счетчик элементов исходного массива, построенный на регистре В. Исходным загружаемым в счетчик числом является длина массива (В ← 8), изменением текущего состояния счетчика производится уменьшение содержимого регистра В на единицу (В ← В – 1).

Определение четности элемента исходного массива осуществляется путем определения значения младшего бита двоичного кода этого числа. Если меньший бит равен 0, то число четное, а если младший бит равен 1 – число нечетное.

Определение значения младшего бита в программе выполнено путем операции сдвига вправо и проверки значения признака переноса «С» регистра признаков F. В данном примере определение четности числа начинается с пересылки A← M, т. к. команды сдвига выполняются только в аккумуляторе.

В микропроцессорах, как правило, нет команд пересылки данных из одной ячейки памяти в другую, поэтому сначала данные из ячейки памяти с адресом в HL пересылаются в регистр А, а затем из регистра А – в ячейку памяти с адресом в DE.

Текст исходного модуля рассматриваемой программы имеет следующий вид:

N EQU 8; директивы

ADR2 EQU 2A0H; определения

ADR SET 200H; имен

ORG 1A0H; директива установки адреса программы

MVI B, N; B ← N

LXI D, ADR2; DE ← ADR2

LXI H, ADR; HL ← ADR

M1: MOV A, M; A ← MHL

RRC; сдвиг вправо

JC M2; если есть перенос –

; переход по метке M2

MOV A, M; A ← MHL Команды

STAX D; A → MDE программы

INX D; DE + 1 → DE

M2: INX H; HL + 1 → HL

DCR B; B – 1 → B

JNZ M1; если результат предыдущей

; операции ≠ 0 – переход

; по метке М1

HLT; остановка процессора

END; директива прекращения

; ассемблирования

 

Далее производится подготовка загрузочных модулей и отладка программы PRIM с помощью симулятора СРМ.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.