Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР1_122 .doc
Скачиваний:
3
Добавлен:
20.11.2018
Размер:
137.22 Кб
Скачать

2.Сложение трех многобайтных чисел без знака (adn3)

2.1.ВЫДЕЛЕНИЕ ПОДПРОГРАММЫ AD2 ИЗ ADN2 И СОСТАВЛЕНИЕ ПРОГРАММЫ ADN21 (ЭКВИВАЛЕНТНОЙ ADN2) С ВЫЗОВОМ AD2

Делим ADN2 по линии раздела блоков 1 и 2. Блоки 2,3,4 (образуют цикл) относим к подпрограмме (см.рис.3), которая в блоке 5 завершается командой RET (возврат из подпрограммы). RET в блоке 5 (выход из цикла) замещает вспомогательную команду NOP. Блок 1 (установка параметров первого цикла и другие настройки) относим к вызывающей (основной) программе. Основная программа (блок 1) и подпрограмма (блоки 2,3,4,5) объединяются в единое целое командой LCALL ad16 или ACALL ad11 (вызов подпрограммы).

ADN21:

1

Установка

параметров

первого

цикла и др.

Основная

программа

LCALL AD2

NOP

AD2:

AD2: CLR C

Вызываемая подпрограмма

● М:

2

Основное

действие

цикла

М:

ADDC A,@R1

3

Установка

параметров

следующего

цикла

нет

4

Проверка:

Циклы все?

DJNZ R2, M(rel)

да

5

RET

а) блок- б)назначение в) программа

схема блоков

Рис.3.Выделение подпрограммы AD2 и взаимодействие

основной программы ADN21 и подпрограммы

2.2.Составление спецификации к подпрограмме AD2

Правильно составленная спецификация облегчает работу с подпрограммой. Можно не знать, как работает подпрограмма, но с помощью спецификации грамотно её (подпрограмму) использовать.

Имя: AD2

Назначение: Сложение двух многобайтных чисел без знака

Расположение слагаемых и суммы: Занимают три строки (X, Y и Z –номера строк 1-го, 2-го слагаемых и суммы) РПД (см.табл.3), младшие байты занимают столбец 0Fh, байты постарше – 0Eh и т. д.

Параметры передаваемые от основной программы подпрограмме:

▪Адрес младшего байта 1-го слагаемого (XFh передается через R0,Б0).

▪Адрес младшего байта 2-го слагаемого (YFh передается через R1,Б0).

▪Адрес младшего байта суммы (ZFh передается через R1,Б2).

▪Формат слагаемых (число циклов - N) передается через R2,Б0.

Используемый способ передачи: через регистры банка 0 и банка 2 РПД.

Местонахождение результата:

Подпрограмма выдает байты суммы в строку Z РПД.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]