Проектирование специализированных вычислителей цифровой обработки сигналов. Зиатдинов С.И - 71 стр.

UptoLike

71
06 MVI В, 4 Инициализация счетчика байтов суммы
04 (ячейка SUM 4-байтовая)
37 STC Загрузка единицы во флажок переноса
02ВЕ: 7Е MOV A, M Загрузка в А байта суммы
2F CMA Инвертирование его
DE SBI 0 Вычитание из суммы единицы, загружен--
00 ной во флажок переноса (заема)
77 MOV M,A Байт помещается на прежнее место
23 INX H Продвижение указателя
05 DCR В Декремент счетчика байтов
С2 JNZ 028EH Конец цикла преобразования, если
8Е счетчик до стиг нуля
02
CD СALL 029FH Деление результата на 1024
9F (вызов основной части подпрограммы
02 как другой подпрограммы)
F6 ORI 8ОН Установка знакового бита
80 (80Нмаска знакового бита)
67 MOV Н,A Запись старшего байта в HL
029Е: С9 RET Возврат из подпрограммы для случая отрица-
тельной суммы
Собственно деление положительной суммы в ячейке SUM на 1024:
029F: 2А LHLD 0406Н Загрузка старшего слова суммы в HL
06 (ячейка SUM, старшие два байта)
04
7С MOV А. И Передача ст аршего байта в А
E6 AMI 7ЕН Анализ наличия переполнения в SUM
7E (7EH маска недопустимых битов)
C2 JNZ 02C2H При переполнениипереход на ошибку
C2
02
ЕВ XCHG Передача старшего слова суммы в DE
2A LHLD 0404Н Загрузка младшего слова в HL
04 (ячейка SUM, младшие два байта)
04
7A MOV A, D Подготовка к сдвигу слова вправо
1F RAR Выдвижение младшего бита D во флаг переноса
7В MOV A.E Загрузка в А байта из регистра Е
1F RAR и сдвиг его на один бит вправо
47 MOV В, А Временное сохранение старшего байта
7С MOV A, H Загрузка следующего байта и
1F RAR его сдвиг вправо