Задача L. Деление 8b усложненное

Автор:M. Liamaev, D. Glushkova   Ограничение времени:15 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  

Условие

Реализуйте в программе Logisim − evolution деление (/) и нахождение остатка в одной схеме для знаковых целых чисел, представленных в дополнительном коде. Отличие этого задания от предыдущего в том, что здесь вам запрещено пользоваться подсхемой умножения.

Обработка отрицательных чисел должна проводится по стандартным правилам математики, а не стандартам IEEE. Под остатком понимается число, полученное по формуле D = A − B * C

Примеры
 − 7 mod  − 3 =  − 1
 − 7 mod 3 =  − 1
7 mod  − 3 = 1
7 mod 3 = 1
7 mod 0 = 7
7 div 0 = 0

Формат входных данных

Тестируемая схема должна называться main. Входы и выходы схемы должны быть названы так же, как в таблицах ниже. Нарушение этого требования приведет к ошибке PE.

Запрещено использовать стандартное деление и умножение, иначе получите ошибку LI.

Входы
Label/МеткаБитностьОписание
A8 Делимое
B8 Делитель

Выходы
Label/МеткаБитностьОписание
C8 Неполное частное
D8 Остаток

Примеры тестов

Стандартный вход Стандартный выход
1
A[8] B[8] C[8] D[8]
0x80 0xa 0xf4 0xf8
Тест запускается через GUI Logisim Simulate → Test Vector

0.100s 0.017s 13