Проектування кінцевого цифрового автомату
7

2 ЦИФРОВИЙ АВТОМАТ ДІЛЕННЯ ЧИСЕЛ НА ДСОК

 

 

2.1 Алгоритм ділення з відновленням залишку

 

1)   Початок, далі п.2;

2)   значення Rg: 1А, 2В, C, m1A, m2B, m3B, m4C, pA, pB, pC та значення См суматору скинути в нуль, далі п.3;

3)   записати до Rg1А число А, до Rg2B число В, f=0, далі п.4 ;

4)   якщо значення Rg1A=0, заносимо +0 до RgC та переходимо до п.16;

5)   якщо значення Rg2B=0 – помилка, переходимо до п.16;

6)   визначаємо знак мантиси частки за формулою  Rgm4C (1,2):= Rgm1А(1,2) Rgm2B(1,2) заносимо значення Rgm4C(1,2), далі п.7;

7)   записуємо модифіковане число А (тобто +А) в Rgm1A і в См, Rgm1А(1,2)=00 (тобто+) ПРЯМИЙ код А. далі п.8;

8)   записуємо модифіковане1 число В (тобто В*) в Rgm2B: (1,2)=11 (тобто -) и ЗВОРОТНІЙ код В, далі п.9;

9)   записуємо модифіковане2 число В (тобто +В для відновлення результату проміжкового ділення, коли знак 11) в Rgm3B: +В(1,2)=00 (тобто +В) и ПРЯМИЙ код В, далі п.10;

10)    додати до суматора RgmB*, далі п.11;

11)    проаналізувати знак См:

а) якщо „00” та f=0 (якщо різниця виявиться позитивною до початку поділу, то перед початком поділу дільник зсувається вліво на розряд і до його порядку додається одиниця, для запобігнення переповнення), далі п.10;

б) якщо „00” та f=1 то записати „1” в старший розряд Rgm4C,  зробити зсув вліво на 1 р, перевірити цикл N=N+1 перейти до п.12;

в) якщо „11” то записати „0” в старший розряд Rgm4C, N=N+1, f=1, і перейти до пункту п.13;

12)    перевірити машинний 0 & (і) Наявність у зіставшихся розрядів RgmА =000000 (приклад:1000 :1= результат 1 та дописуємо 000) у См після КОЖНОГО додавання В*, якщо ТАК-додати  у зоставші розряди мантиси Rgm4C усі «0» зоставші у См, присвоїти N=14  і перейти у п.14; якщоНІ-п.10;

13)    відновлення проміжного  від`ємного значення: додати до См число з Rg3B, зробити зсув вліво на 1 р, перевірити цикл N=14 і далі-п.12;

14)    віднімання порядків операндів