Составители:
69
02
0252: 22 SHLD 0400H Запись младшего слова результата
00 в младшую половину ячейки PLUS
04
ЕВ XCHG Передача старшего слова в HL
22 SHLD 0402H Запись старшего слова результата
02
04
F1 POP PSW Чтение знака произведения из стека
Е1 POP H Восстановление из стека HL
025В: С9 RET Возврат из подпрограммы
Приложение 6.3
Подпрограмма прибавляет результат умножения, хранимый в ячейке
PLUS (4 байта по адресу 0400Н), к сумме в ячейке SUM (4 байта по
адресу 0404Н) с учетом знака результата умножения, передаваемого во
флаге знака МП. Результат остается в ячейке SUM в дополнительном
коде. В данной работе в ячейке SUM формируетс я y[k].
Адре с и код Мнемокод Комментарии
025С: Е5 PUSH H Сохранение в стеке значения HL
21 LXI H,0400H Загрузка указателя на слагаемое (для ко свенной
адресации ячейки PLUS)
04
11 LXI D,0404H Указатель на слагаемое-сумму
04 (для косвенной адресации
04 ячейки SUM)
06 MV1 B, 4 Инициализация счетчика байтов
04 (складываем 4-байтовые числа)
FA JM 0274H Анализ знака и выбор: сложение
74 или вычитание (переход на вычитание
02 при знаке минус во флажке знака МП, который
не меняется предыдущими командами
подпрограммы)
Вариант “сложение” (ре а лизуется при нулевом флажке знака МП):
B7 ORA A Очистка флажка переноса
0269: 1A LDAX D Загрузка байта в A по адресу в DE
8E ADC M Прибавление ко свенно адресуемого
байта с учетом флажка переноса
12 STAX D Сохранение байта суммы по адресу в DE
23 INX H Продвижение указателей к следующим
13 INX D байтам слагаемых и суммы
Страницы
- « первая
- ‹ предыдущая
- …
- 67
- 68
- 69
- 70
- 71
- …
- следующая ›
- последняя »