и не делать, построив несколько
Однако этого можно и не делать, построив несколько иначе схему решения задачи. Вместо того чтобы суммировать последовательно увеличивающиеся числа от О D до 20 D, можно суммировать последовательно уменьшающиеся числа от 20 D до OD. Тогда содержимое регистра, хранящего число N, на некотором шаге выполнения программы обратится в нуль и этот результат можно будет использовать при организации условного перехода.
Итак, новая схема алгоритма может быть построена следующим образом.
Шаг 1. Заносим число О D в аккумулятор (А).
Шаг 2. Заносим число 20 D в какой-нибудь регистр, например в регистр D.
Шаг 3. Суммируем содержимое регистров А и D.
Шаг 4. Уменьшаем содержимое регистра Она единицу.
Шаг 5. Если содержимое регистра Вне равно нулю, осуществляем переход к шагу 3; в противном случае переходим к следующему шагу.
Ш а г 6. Переписываем содержимое регистра А в какой-нибудь из портов вывода, например в порт Р0оо-
Ш а г 7. Конец работы программы.
Соответствующая схема представлена йа рис. 4.13,6.
Приступим к программированию этой схемы. Для этой цели нам понадобятся все указанные выше команды, за исключением команды INR г (увеличение содержимого регистра на единицу). Вместо нее следует взять команду DCR г (уменьшение содержимого регистра на единицу), которая будет использована применительно к регистру D. Кроме того, нам будут необходимы еще следующие две команды: OUT — двухбайтовая команда вывода данных из аккумулятора в порт вывода, определяемый адресом, содержащимся во втором байте команды, и однобайтовая команда HLT — останов программы. Коды всех используемых команд можно взять из таблицы, приведенной в приложении 1.
Для размещения всей программы нам понадобятся 12 ячеек памяти с номерами от 014QOOOQ до 014Q013Q. В первые две ячейки с номерами 014 000 и 014 001 поместим оба байта первой команды MVI A OOOQ загрузки аккумулятора (регистра А) числом OD. При этом в первую ячейку поместим восьмеричный код команды 076, а во вторую — содержимое второго байта этой команды — восьмеричный код числа OD (число 000).
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий