лабораторные работы / Цель работы 2
.docЦель работы: изучение способов организации и исследования программ выполнения операции умножения.
Выполнение работы
Задание 1: Заполнить таблицу команд. Проверить правильность заполнения на учебном микропроцессорном комплекте.
Программа 1:
Адрес |
Машинный код |
Мнемокод |
Комментарий |
08E1 |
01 |
LXI B 0000 |
Очистить содержимое регистров B,C |
08E2 |
00 |
||
08E3 |
00 |
||
08E4 |
3E |
MVI A, 01 |
Загрузить в аккумулятор указатель разряда |
08E5 |
01 |
||
08E6 |
A7 |
ANA A |
Очистить флаг C |
08E7 |
F5 |
PUSH PSW |
Сохранить указатель разряда в стеке |
08E8 |
A3 |
ANA E |
Проверить содержимое очередного разряда множителя |
08E9 |
78 |
MOV A,B |
Загрузить в аккумулятор старший байт суммы |
08EA |
CA |
JZ MPL 2 |
Если в очередном разряде записан 0, идти на 08EE |
08EB |
EE |
||
08EC |
08 |
||
08ED |
82 |
ADD D |
Прибавить множимое к сумме |
08EE |
1F |
RAR |
Сдвинуть сумму вправо (младший бит суммы) |
08EF |
47 |
MOV B,A |
Сохранить содержимое аккумулятора в регистре B |
08F0 |
79 |
MOV A,C |
Загрузить в аккумулятор младший байт суммы |
08F1 |
1F |
RAR |
Сдвинуть число в аккумуляторе вправо (C старший бит) |
08F2 |
4F |
MOV C,A |
Сохранить содержимое аккумулятора в регистре C |
08F3 |
F1 |
POP PSW |
Получить из стека указатель разряда |
08F4 |
17 |
RAL |
Указатель на следующий разряд |
08F5 |
D2 |
JNC MPL 1 |
Если разряд не последний, продолжать на 08E7 |
08F6 |
E7 |
||
08F7 |
08 |
||
08F8 |
C9 |
RET |
Если разряд последний, возврат |
Вывод: в ходе выполнения данной лабораторной работы были изучены способ умножения двух чисел.