Division

Paper & Pencil

                 1001 Quotient
Divisor 1000 |1001010 Dividend
             -1000
                 10
                 101
                 1010
                -1000
                   10 Remainder

Version 1

Divide Algorithm


Observations The 1st step cannot produce a 1 in quotient bit do shift first and then subtract - saves 1 iteration

Version 2

Algorithm

Observations on Divide Version 2

Now loop contains only two steps because the shifting of the Remainder register shifts both the remainder in the left half and the quotient in the right half.
Combining the two registers and the new order of operations means that the remainder will be shifted left one time too many.

Version 3

Divide Algorithm Version 3

Observations on Divide Version 3