Учебное пособие по ОЭВМ (775573), страница 4
Текст из файла (страница 4)
множитель Y = 00101101= 45
Формируем знак результата. Т.к. знаковый разряд множимого равен знаковому разряду множителя, следовательно, результат положительный. После ввода множимое записывается в регистр R1, множитель в регистр R2. Число циклов равно 8.
Цикл 1.
Младший разряд множителя - 1.
В регистр RA переписывается содержимое R1.
R1=01110101, RA=01110101, RВ:=0
Содержимое регистров RA и RB суммируется и записывается в регистр SM=01110101
Регистр R2=00101101 сдвигается вправо на один разряд и записывается в R3.
Регистр SM сдвигается вправо на один разряд и записывается в RC, вытесненный разряд записывается на место старшего разряда R3.
R3 переписывается в R2, RС в RВ.
После сдвигов содержимое регистров равно:
SM=01110101
RC=00111010
R2=00101101 (в конце цикла R2=10010110)
R3=10010110
RB=00111010
Содержимое счетчика циклов уменьшаем на единицу SCH:=7
Проверяем счетчик циклов на равенство нулю. SCH ≠0, следовательно, выполняем следующий цикл.
Цикл 2.
Младший разряд множителя - 0.
В RA записываем 0.
Суммируем.
RA=00000000
RB=00111010 (в конце цикла RВ=00011101)
SM=00111010
После сдвигов содержимое регистров равно:
SM=00111010
RC=00011101
R2=10010110 (в конце цикла R2=01001011)
R3=01001011
Содержимое счетчика циклов уменьшаем на единицу SCH:=6
Проверяем счетчик циклов на равенство нулю. SCH ≠0, следовательно, выполняем следующий цикл.
Цикл 3.
Младший разряд множителя - 1.
Суммируем.
RA=01110101
RB=00011101 (в конце цикла RВ=01001001)
SM=10010010
После сдвигов содержимое регистров равно:
SM=10010010
RC=01001001
R2=01001011 (в конце цикла R2=00100101)
R3=00100101
Содержимое счетчика циклов уменьшаем на единицу SCH:=5
Проверяем счетчик циклов на равенство нулю. SCH ≠0, следовательно, выполняем следующий цикл.
Цикл 4.
Младший разряд множителя - 1.
Суммируем.
RA=01110101
RB=01001001 (в конце цикла RВ=01011111)
SM=10111110
После сдвигов содержимое регистров равно:
SM=10111110
RC=01011111
R2=00100101 (в конце цикла R2=00010010)
R3=00010010
Содержимое счетчика циклов уменьшаем на единицу SCH:=4
Проверяем счетчик циклов на равенство нулю. SCH ≠0, следовательно, выполняем следующий цикл.
Цикл 5.
Младший разряд множителя - 0.
В RA записываем 0.
Суммируем.
RA=00000000
RB=01011111 (в конце цикла RВ=00101111)
SM=01011111
После сдвигов содержимое регистров равно:SM=01011111
RC=00101111
R2=00010010 (в конце цикла R2=10001001)
R3=10001001
Содержимое счетчика циклов уменьшаем на единицу SCH:=3
Проверяем счетчик циклов на равенство нулю. SCH ≠0, следовательно, выполняем следующий цикл.
Цикл 6.
Младший разряд множителя - 1.
Суммируем.
RA=01110101
RB=00101111 (в конце цикла RВ=01010010)
SM=10100100
После сдвигов содержимое регистров равно:
SM=10100100
RC=01010010
R2=10001001 (в конце цикла R2=01000100)
R3=01000100
Содержимое счетчика циклов уменьшаем на единицу SCH:=2
Проверяем счетчик циклов на равенство нулю. SCH ≠0, следовательно, выполняем следующий цикл.
Цикл 7.
Младший разряд множителя - 0.
В RA записываем 0.
Суммируем.
RA=00000000
RB=01010010 (в конце цикла RВ=00101001)
SM=01010010
После сдвигов содержимое регистров равно:
SM=01010010
RC=00101001
R2=01000100 (в конце цикла R2=00100010)
R3=00100010
Содержимое счетчика циклов уменьшаем на единицу SCH:=1
Проверяем счетчик циклов на равенство нулю. SCH ≠0, следовательно, выполняем следующий цикл.
Цикл 8.
Младший разряд множителя - 0.
В RA записываем 0.
Суммируем.
RA=00000000
RB=00101001 (в конце цикла RВ=00010100)
SM=00101001
После сдвигов содержимое регистров равно:
SM=00101001
RC=00010100
R2=00100010 (в конце цикла R2=00010001)
R3=10010001
Содержимое счетчика циклов уменьшаем на единицу SCH:=0
Счетчик циклов равен нулю.
В 16-ти разрядный регистр REZ записываем результат: из регистра R2 младшую часть, из RС старшую. Производим печать результата. Для этого обращаемся к подпрограмме печати чисел со знаком. Параметры подпрограммы:
Р - печатаемое число; Р=REZ;
РL - его разрядность; PL=16;
REZ=0001010010010001=5265.
Моделирование функционирования АЛУ при выполнении операции умножения чисел, представленных в дополнительном коде
При выполнении операции умножения чисел, представленных в дополнительном коде, будем сдвигать сумму частичных произведений и анализировать разряды множителя, начиная с младшего разряда. Для выполнения такого умножения можно использовать структурную схему, представленную на рис. 10.
Контрольные вопросы
-
Особенности выполнение операции умножения чисел с фиксированной запятой, представленных в прямом и дополнительном коде.
-
Способы умножения чисел с фиксированной запятой.
-
Состав и назначение основных регистров АЛУ для выполнения операции умножения чисел с фиксированной запятой, представленных в прямом коде.
Содержание отчета
-
Формулировка задания.
-
Структурная схема АЛУ для выполнения операции умножения чисел с фиксированной запятой, представленных в прямом коде.
-
Блок-схема выполнения операции умножения чисел с фиксированной запятой, представленных в прямом коде.
-
Программа на языке MCL, моделирующая выполнение операции умножения чисел с фиксированной запятой, представленных в прямом код.
-
Результаты выполнения программы в виде распечатки содержимого поля для вывода текстовой информации и скриншота в момент завершения выполнения программы.
Задания к лабораторной работе
Промоделировать работу АЛУ при выполнении операции умножения чисел, представленных в прямом коде в соответствие с номером варианта. Номера вариантов даны в таблице 2.2. Рекомендуется использовать следующие обозначения:
INPA, INPB – регистры для ввода операндов;
R1 – регистр для хранения множимого;
R2 – регистр для хранения множителя и формирования младшей части произведения;
RA – регистр для хранения первого операнда АЛУ (множимое, либо 0);
RВ – регистр для хранения второго операнда АЛУ (сумма частичных произведений);
R3 – регистр сдвига множителя;
SM – регистр АЛУ суммы множимого и суммы частичных произведений;
RC – регистр для формирования старшей части произведения.
Разрядность регистров АЛУ принимается 8 бит. Число циклов умножения равно разрядности операндов, т.е. восьми. При выполнении лабораторной работы для наглядности, необходимо печатать содержимое всех регистров АЛУ на каждом такте умножения. Содержимое регистров должно быть представлено в двоичной форме, исходные значения операндов и результаты – в десятичной системе счисления.
Таблица 2.2. Варианты заданий для моделирования операции умножения
| Номер варианта | Множимое | Множитель |
| 1 | -2 125 -15 | 3 13 -87 |
| 2 | -2 115 -20 | 4 18 -92 |
| 3 | -2 105 -26 | 5 23 -98 |
| 4 | -2 119 -32 | 6 31 -64 |
| 5 | -3 95 -18 | 2 110 -37 |
| 6 | -3 75 -120 | 3 39 -13 |
| 7 | -3 118 -27 | 4 30 -81 |
| 8 | -4 36 -84 | 2 99 -32 |
| 9 | -4 24 -46 | 3 70 -28 |
| 10 | -5 28 -32 | 2 35 -21 |
| 11 | -6 79 -73 | 2 96 -36 |
| 12 | -3 111 -7 | 5 85 -77 |
| 13 | -2 125 -15 | 3 13 -87 |
| 14 | -2 115 -20 | 4 18 -92 |
| 15 | -2 105 -26 | 5 23 -98 |
| 16 | -2 119 -32 | 6 31 -64 |
| 17 | -3 95 -18 | 2 110 -37 |
| 18 | -3 75 -120 | 3 39 -13 |
| 19 | -3 118 -27 | 4 30 -81 |
| 20 | -4 36 -84 | 2 99 -32 |
| 21 | -4 24 -46 | 3 70 -28 |
| 22 | -5 28 -32 | 2 35 -21 |
| 23 | -6 79 -73 | 2 96 -36 |
| 24 | -3 111 -7 | 5 85 -77 |
Лабораторная работа № 3. Моделирование функционирования АЛУ при выполнении операции деления над числами с фиксированной точкой
Содержание
Цель работы___________________________________________________________________________ 49
Функционирование АЛУ при выполнении операции деления_______________________________ 49
Моделирование функционирования АЛУ при выполнении операции деления методом с восстановлением остатка над числами, представленными в прямом коде______________ 49
Моделирование функционирования АЛУ при выполнении операции деления методом без восстановления остатка над числами, представленными в прямом коде______ 53
Алгоритм выполнения операции деления двоичных чисел__________________________________55
Контрольные вопросы__________________________________________________________________ 57
Содержание отчета______________________________________________________________________57














