Примеры аудиторных заданий
Задание №1. Необходимо перемножить два беззнаковых числа (
).
Решение. Для удобства возьмем длину разрядной сетки равную четырем битам, а именно:
- множимое;
- множитель;
- произведение.
Если (
) и (
) равняется четырем битам, то как было отмечено выше (
) должно быть восьмиразрядным значением, т.е длина разрядной сетки произведения в два раза больше множимого и множителя.
Алгоритм умножения младшими разрядами вперед, со сдвигом суммы (
) вправо приведен в табл. 3.1.
Таблица 3.1 - Алгоритм умножения младшими разрядами вперед, со сдвигом суммы (
) вправо двоичных беззнаковых чисел
| Регистр (В) множимое X | Регистр (С) множитель Y | Регистр (А) произведение Z | Счетчик тактов (Сч.Т) | Комментарии | ||||||
| 1 | ||||||||||
| множимое | ||||||||||
| 1Я СЧП | ||||||||||
| 1 | 1ЫЙсдвиг СЧП | |||||||||
| множимое | ||||||||||
| 2Я СЧП | ||||||||||
| 0 | 2 ОЙсдвиг СЧП | |||||||||
| 0 | 3 ИЙсдвиг СЧП | |||||||||
| 4ЫЙсдвиг СЧП | ||||||||||
| СТОП | ||||||||||
Задание №2. Необходимо перемножить два беззнаковых числа (
).
Решение. Для удобства возьмем длину разрядной сетки равную четырем битам, а именно:
- множимое,
- множитель,
- произведение.
Если (
) и (
) равняется четырем битам, то как было отмечено выше (
) должно быть восьмиразрядным значением, т.е длина разрядной сетки произведения в два раза больше множимого и множителя.
Алгоритм умножения старшими разрядами вперед, со сдвигом суммы (
) влево приведен в табл. 3.2.
Таблица 3.2 - Алгоритм умножения старшими разрядами вперед, со сдвигом суммы (
) влево двоичных беззнаковых чисел
| Регистр (В) множимое X | Регистр (С) множитель Y | Регистр (А) произведение Z | Счетчик тактов (Сч.Т) | Комментарии | ||||||
| 0 | ||||||||||
| 1ЫЙ сдвиг СЧП | ||||||||||
| 0 | 2ОЙ сдвиг СЧП | |||||||||
| 3ИЙ сдвиг СЧП | ||||||||||
| 1 | 4ЫЙ сдвиг СЧП | |||||||||
| 5ЫЙ сдвиг СЧП | ||||||||||
| множимое | ||||||||||
| 1Я СЧП | ||||||||||
| 1 | 6ОЙ сдвиг СЧП | |||||||||
| множимое | ||||||||||
| 2Я СЧП | ||||||||||
| СТОП | ||||||||||
Задание №3Необходимо разделить два беззнаковых числа (
).
Решение. Для удобства возьмем длину разрядной сетки равную четырем битам, а именно:
- делимое;
- делитель;
- частное.
Если (
) и (
) равняется четырем битам, то как было отмечено выше (
) должно быть восьмиразрядным значением, т.е длина разрядной сетки делимого в два раза больше делителя и частного. Алгоритм деления приведен в табл. 3.3.
Таблица 3.3 - Алгоритм деление целых двоичных беззнаковых чисел методом с восстановлением остатка.
| Регистр (В) делимое X | Регистр (С) делитель Y | Регистр (А) частное Z | Счетчик тактов (Сч.Т) | |||||||||||||||||
| 0 | 0 | 1 | 1 | |||||||||||||||||
| 3п. | 2п. | 1п. | 0п. | |||||||||||||||||
| <0 | 03п. | |||||||||||||||||||
| <0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 02п. | ||||||||||||||||||||
| <0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 11п. | ||||||||||||||||||||
| >0 | 1 | 1 | 1 | 1 | ||||||||||||||||
| 10п. | ||||||||||||||||||||
| >0 | 1 | 1 | 1 | 1 | ||||||||||||||||
| СТОП | ||||||||||||||||||||
Задание №4Необходимо разделить два беззнаковых числа (
).
Решение. Для удобства возьмем длину разрядной сетки равную четырем битам, а именно:
- делимое;
- делитель;
- частное.
Если (
) и (
) равняется четырем битам, то как было отмечено выше (
) должно быть восьмиразрядным значением, т.е длина разрядной сетки делимого в два раза больше делителя и частного. Алгоритм деления приведен в табл. 3.4.
Таблица 3.4 - Алгоритм деление целых двоичных беззнаковых чисел методом без восстановлением остатка.
| Регистр (В) делимое X | Регистр (С) делитель Y | Регистр (А) частное Z | Счетчик тактов (Сч.Т) | ||||||||||||||||||||
| 0 | 0 | 1 | 1 | ||||||||||||||||||||
| 3п. | 2п. | 1п. | 0п. | ||||||||||||||||||||
| <0 | 03п. | ||||||||||||||||||||||
| <0 | 0 | 0 | 0 | 0 | |||||||||||||||||||
| 02п. | |||||||||||||||||||||||
| <0 | 0 | 0 | 0 | 0 | |||||||||||||||||||
| 11п. | |||||||||||||||||||||||
| >0 | 1 | 1 | 1 | 1 | |||||||||||||||||||
| 10п.. | |||||||||||||||||||||||
| >0 | 1 | 1 | 1 | 1 | |||||||||||||||||||
| СТОП | |||||||||||||||||||||||
Задание №5.Необходимо разделить два беззнаковых числа (
).
Решение. Для удобства возьмем длину разрядной сетки равную четырем битам, а именно:
- делимое;
- делитель;
- частное;
- остаток.
Если (
) и (
) равняется четырем битам, то как было отмечено выше (
) должно быть восьмиразрядным значением, т.е длина разрядной сетки делимого в два раза больше делителя и частного.
Как было отмечено выше последний частичный остаток должен быть больше нуля.
Если последний частичный остаток меньше нуля, его необходимо восстанавливать путем прибавления к нему делителя.
Алгоритм деления приведен в табл. 3.5.
Таблица 3.5 - Алгоритм деление целых двоичных беззнаковых чисел методом без восстановлением остатка.
| Регистр (В) делимое X | Регистр (С) делитель Y | Регистр (А) частное Z | Счетчик тактов (Сч.Т) | |||||||||||||||||
| 0 | 0 | 1 | 0 | |||||||||||||||||
| 3п. | 2п. | 1п. | 0п. | |||||||||||||||||
| <0 | 03п. | |||||||||||||||||||
| <0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 02п. | ||||||||||||||||||||
| <0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 11п. | ||||||||||||||||||||
| >0 | 1 | 1 | 1 | 1 | ||||||||||||||||
| 00п. | ||||||||||||||||||||
| <0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| СТОП | ||||||||||||||||||||
| Счетчик тактов равняется нулю деление окончено, но последний частичный остаток получился равен меньше нуля, поэтому необходимо выполнить коррекцию, путем прибавления к последнему частичному остатку делитель. | ||||||||||||||||||||
| - коррекция | ||||||||||||||||||||
| >0 - истинный остаток. | ||||||||||||||||||||