Скачиваний:
12
Добавлен:
01.05.2014
Размер:
29.7 Кб
Скачать

Санкт-Петербургский Государственный Электротехнический Университет

Отчет по лабораторной работе №3

«Моделирование микропрограммы умножения»

Алгоритм 1

Выполнили:

Солоха В.

Группа 0331

Факультет КТИ

Преподаватель:

Анисимов А.В.

Санкт-Петербург

2002г.

Задание

Смоделировать на языке ассемблера микропрограмму умножения АЛУ.

Структурная схема

На схеме представлена структура, участвующая в выполнении операции.

Р

множитель BX

произведение DX

множимое AX

АЛУ

CF

еализация программы

Данная микропрограмма перемножает два 16-ти разрядных числа. Результат занимает 32 разряда. Младшее слово результата записывается в регистр BX, а старшее в DX.

mov ax, 01101b ;множимое

mov bx, 10110b ;множитель

xor dx, dx ;начальное обнуление результата

mov cx, 16 ;обработка 16-ти разрядов

shr bx, 1 ;сдвиг множителя вправо на 1 разряд

nxt: jnc skip ;если младший разряд был = 0, то на skip

add dx, ax ;прибавление к результату множимого

skip: rcr dx, 1 ;сдвиг результата на 1 разряд вправо

rcr bx, 1 ;сдвиг множителя вправо на 1 разряд

loop nxt ;переход к nxt; cx=cx-1

Полный текст программы на ассемблере

main segment "code" use16

assume cs:main

start: mov ax, 01101b

mov bx, 10110b

xor dx, dx

mov cx, 16

shr bx, 1

nxt: jnc skip

add dx, ax

skip: rcr dx, 1

rcr bx, 1

loop nxt

xor ax, ax

int 21h

main ends

end start

Соседние файлы в папке Лабораторная работа №3