Составители:
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 его сдвиг вправо
Страницы
- « первая
- ‹ предыдущая
- …
- 69
- 70
- 71
- 72
- 73
- …
- следующая ›
- последняя »