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

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

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

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

Алгоритм 3

Выполнили:

Солоха В.

Группа 0331

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

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

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

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

2002г.

Задание

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

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

Н

+1

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

множитель BL

CF

Р

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

множимое AL

АЛУ

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

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

mov ax, 100 ;множимое

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

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

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

nxt: shl dx, 1 ;сдвиг результата влево

rcl bx, 1 ;ротация множителя влево

jnc skip ;переход на skip, если пр. разряд 0

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

jnc skip ;если не было переноса то на skip

inc bx ;перенос в старший разряд

skip: loop nxt

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

main segment "code" use16

assume cs:main

start: mov ax, 100

mov bx, 100

xor dx, dx

mov cx, 16

nxt: shl dx, 1

rcl bx, 1

jnc skip

add dx, ax

jnc skip

inc bx

skip: loop nxt

xor ax, ax

int 21h

main ends

end start

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