Курсовая работа: Микропроцессор i8086/i8088

7. Иначе перейти к предыдущему элементу массива и продолжить с пункта 3

Графическое представление алгоритма в виде блок-схемы:

2.5. Подсчет в массиве байтов с четным количеством бит

Подсчёт количества байтов с чётным количеством бит реализовать достаточно просто:

Обнулить результат

Установить указатель на первый элемент массива

Проверить на чётность очередной элемент массива

Если чётный, добавить к результату 1

Если все элементы массива обработаны, закончить

Иначе перейти к предыдущему элементу массива и продолжить с пункта 3


Графическое представление алгоритма в виде блок-схемы:

2.6. Проверка элементов массива на чётность

Для проверки отдельных байтов массива на чётность удобно использовать команду test, которая вычисляет результат действия побитового логического «И» над приёмником и источником и устанавливает флаги SF, ZF и PF в соответствии с результатом, при этом результат не сохраняется. Если после выполнения команды test флаг PF будет установлен в 1, количество бит в байте чётно.

1. Вывод на экран текстовых сообщений

Наиболее простое решение – использовать для вывода текста функцию 9hDOS (прерывание INT21h), которая получает адрес строки для вывода через регистр dx, причем строка должна завершаться символом $.

2. Преобразование числа к строковому виду

В качестве основы используем реализацию алгоритма преобразования числа

в десятичное представление. [4, 201]

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

Разделить исходное число на 10.

Добавить к остатку ASCII-код нуля.

Записать полученную цифру в стек.

Увеличить счётчик цифр.

Если ещё есть что делить, продолжить с п.1

По количеству цифр: извлечь цифру из стека и дописать в конец результирующей строки.

Дописать в конец результирующей строки символ $.

Базовый алгоритм рассчитан на работу с 16-разрядными числами. Так как в разрабатываемой программе код чётности будет представлен в виде 32-разрядного числа, модифицируем исходный алгоритм для работы с двойными словами. Такая модификация выполняется достаточно просто заменой в исходном коде наименований регистров: ax на eax, bx на ebx, dx на edx.

3. Ввод числовых данных

С учётом того, что разрабатываемая программа является тестовой и не требует специфического управления клавиатурой, ввод с клавиатуры запрограммируем с помощью функций DOS.

Соответственно, алгоритм ввода числа в виде текстового описания будет выглядеть следующим образом:

Подготовить буфер ввода данных

К-во Просмотров: 214
Бесплатно скачать Курсовая работа: Микропроцессор i8086/i8088