H-L – адрес младшего байта результата
Задействуются все регистры
PUSH H | 11 | 3 | Запомнить адрес младшего байта результата |
LXI H, WC | 10 | 3 |
LDAX H | 7 | 1 |
Вычисление и помещение в память блока 1×3 (см. рис. 4 и табл. 4) |
MOV E, A | 5 | 1 |
INX H | 5 | 1 |
INX H | 5 | 1 |
LDAX H | 7 | 1 |
MOV D, A | 5 | 1 |
CALL MUL8_8 | 820 | NONE |
MOV A, С | 5 | 1 |
STA WC + 5 | 13 | 3 |
MOV A, B | 5 | 1 |
STA WC + 6 | 13 | 3 |
LDAX H | 7 | 1 | Вычисление и помещение в память блока 2×3 (см. рис. 4 и табл. 4) |
MOV E, A | 5 | 1 |
DCX H | 5 | 1 |
LDAX H | 7 | 1 |
MOV D, A | 5 | 1 |
CALL MUL8_8 | 820 | NONE |
MOV A, С | 5 | 1 |
STA WC + 7 | 13 | 3 |
MOV A, B | 5 | 1 |
STA WC + 8 | 13 | 3 |
DCX H | 5 | 1 |
Вычисление и помещение в память блока 1×4 (см. рис. 4 и табл. 4) |
LDAX H | 7 | 1 |
MOV E, A | 5 | 1 |
INX H | 5 | 1 |
INX H | 5 | 1 |
INX H | 5 | 1 |
LDAX H | 7 | 1 |
MOV D, A | 5 | 1 |
CALL MUL8_8 | 820 | NONE |
MOV A, С | 5 | 1 |
STA WC + 9 | 13 | 3 |
MOV A, B | 5 | 1 |
STA WC + 10 | 13 | 3 |
LDAX H | 7 | 1 |
Вычисление и помещение в память блока 2×4 (см. рис. 4 и табл. 4) |
MOV D, A | 5 | 1 |
DCX H | 5 | 1 |
DCX H | 5 | 1 |
LDAX H | 7 | 1 |
MOV E, A | 5 | 1 |
CALL MUL8_8 | 820 | NONE |
MOV A, С | 5 | 1 |
STA WC + 11 | 13 | 3 |
MOV A, B | 5 | 1 |
STA WC + 12 | 13 | 3 |
Сложение промежуточных результатов |
LXI H, WC + 6 | 10 | 3 |
LDAX H | 7 | 1 | Загрузить ячейку WC+6 |
MOV D, A | 5 | 1 |
INX H | 5 | 1 |
LDAX H | 7 | 1 | Загрузить ячейку WC+7 |
ADD D | 4 | 1 |
MOV D, A | 5 | 1 |
INX H | 5 | 1 |
LDAX H | 7 | 1 | Загрузить ячейку WC+8 |
ACI 0 | 7 | 2 | Прибавить перенос к третьему байту |
MOV C, A | 5 | 1 |
LDA WC+12 | 13 | 3 |
ACI 0 | 7 | 2 | Прибавить перенос к четвёртому байту |
MOV B, A | 5 | 1 |
INX H | 5 | 1 |
LDAX H | 7 | 1 | Загрузить ячейку WC+9 |
MOV E, A | 5 | 1 |
MOV A, D | 5 | 1 |
ADD E | 4 | 1 |
MOV D, A | 5 | 1 | Регистр D содержит второй байт |
MOV A, C | 5 | 1 |
ACI 0 | 7 | 2 | Прибавить перенос к третьему байту |
MOV C, A | 5 | 1 |
MOV A, B | 5 | 1 |
ACI 0 | 7 | 2 | Прибавить перенос к четвёртому байту |
MOV B, A | 5 | 1 |
INX H | 5 | 1 |
LDAX H | 7 | 1 | Загрузить ячейку WC+10 |
ADD C | 4 | 1 |
MOV C, A | 5 | 1 |
MOV A, B | 5 | 1 |
ACI 0 | 7 | 2 | Прибавить перенос к четвёртому байту |
MOV B, A | 5 | 1 |
INX H | 5 | 1 |
LDAX H | 7 | 1 | Загрузить ячейку WC+11 |
ADD C | 4 | 1 |
MOV C, A | 5 | 1 | Регистр С содержит третий байт |
MOV A, B | 5 | 1 |
ACI 0 | 7 | 2 | Прибавить перенос к четвёртому байту |
MOV B, A | 5 | 1 | Регистр В содержит четвёртый байт |
STA NUMBER | 13 | 3 | Загрузка в регистр Е содержимого ячейки памяти NUMBER, числа, которое определеняет, какой из коэффициентов является множителем |
MOV E, A | 5 | 1 |
STA SIGN | 13 | 3 | Загрузить ячейку знаков |
RAR | 4 | 1 |
Если
К-во Просмотров: 483
Бесплатно скачать Курсовая работа: Разработка микропроцессорной системы
|