Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Пример решения задачи. Порядок решения задач разберем на примере задачи переноса четных чисел из массива с начальным адресом ADR = 200H и длиной N = 8 в массив с начальным адресом
Порядок решения задач разберем на примере задачи переноса четных чисел из массива с начальным адресом ADR = 200H и длиной N = 8 в массив с начальным адресом ADR2 = 2A0H. Схема алгоритма решения задачи изображена на рис.3.3, а схема программы PRIM приведена на рис.3.4. Определение четности элемента исходного массива осуществляется путем определения значения младшего бита двоичного кода этого числа. Если меньший бит равен 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 с помощью симулятора СРМ.
|