Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПС(2)16.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
116.74 Кб
Скачать
    1. Объясните организацию неявного счетчика в программе 2?

Ответ: Программа 2 выполняется неявно, то есть как бы в уме. Если в явном счетчике происходит наглядное поэтапное рассмотрение процесса деления, то в неявном счетчике, хотя и происходит поэтапный процесс, выделяются только текущие значения остатка и делителя.

Лабораторная работа 5

Программная реализация умножения

целых двоичных чисел

ЦЕЛЬ РАБОТЫ: освоение способов программной реализации умножения целых двоичных чисел.

Варианты заданий для лабораторной работы №5.

вар.

Множимое

Множитель

16

52527

46811

;произведение - регистровая пара dx:ax

;множитель (y) - bx

;ax также используется как буферный регистр для проверки бита,

а его содержимое сохраняется в стеке

;множимое (x) - непосредственно суммируется к старшему слову произведения

;cx - указатель разряда

cdseg segment 'code'

assume cs:cdseg

x equ 52527 ;множимое

y equ 46811 ;множитель

org 100h

start:

mov bx,y

mov cx,1 ;загрузка указателя разряда

mov dx,0 ;обнуление dx

mov ax,0 ;обнуление ax

push ax

m0:

mov ax,bx

and ax,cx ;проверка очередного бита

jz m1

add dx,x

m1:

sar dx,1 ; сдвиг старшего слова результата

pop ax

rcr ax,1 ; сдвиг младшего слова результата

push ax

sal cx,1 ; сдвиг указатела разряда

jnc m0 ; если произошел перенос, то конец цикла

int 20h

cdseg ends

end start

Контрольные вопросы:

  1. Приведите примеры существующих алгоритмов умножения.

Ответ: Существует несколько алгоритмов умножения чисел. При неявном алгоритме умножение можно заменить многократным сложением, например 14*3=14+14+14. Существенный недостаток этого способа ─ значительная длительность процесса вычисления. При втором алгоритме умножение (явный алгоритм) осуществляется в столбец. Этот алгоритм применим для умножения двоичных чисел.

  1. На чем основан алгоритм работы программы умножения?

Ответ: Алгоритм работы программы умножения основан на многократном сдвиге вправо и сложении.

  1. Что такое «сдвиг влево», «сдвиг вправо»?

Ответ: Сдвиг влево (вправо) означает, что содержимое каждого разряда РАк передвигается в соседний старший (младший) разряд.