Лабораторная работа №4 / LAB4
.DOCСанкт-Петербургский Государственный Электротехнический Университет
Отчет по лабораторной работе №4
«Моделирование микропрограммы умножения»
Алгоритм 2
Выполнили:
Солоха В.
Хампанде П.
Группа 0331
Факультет КТИ
Преподаватель:
Анисимов А.В.
Санкт-Петербург
2002г.
Задание
Смоделировать на языке ассемблера микропрограмму умножения АЛУ.
Структурная схема
На схеме представлена структура, участвующая в выполнении операции.
множитель
BL
CF
Р
произведение
DX
множимое
AL
АЛУ
еализация
программы
Данная микропрограмма перемножает два 8-ми разрядных числа. Результат занимает 16 разряда. Множимое располагается в регистре AL, множитель в регистре BL, а результат в DX.
mov al, 5 ;множимое
xor ah, ah ;обнуление
mov bl, 7 ;множитель
xor dx, dx ;обнуление
mov cx, 8 ;обработка 8-ми разрядов
nxt: ror bl, 1 ;ротация bl на 1 разряд вправо
jnc skip ;если младший разряд был =0, то на skip
add dx, ax ;прибавление к результату
skip: shl ax, 1 ;сдвиг множимого влево
loop nxt ;переход к nxt; cx=cx-1
Полный текст программы на ассемблере
main segment "code" use16
assume cs:main
start: mov al, 5
xor ah, ah
mov bl, 7
xor dx, dx
mov cx, 8
nxt: ror bl, 1
jnc skip
add dx, ax
skip: shl ax, 1
loop nxt
xor ax, ax
int 21h
main ends
end start