a) Something that nobody tells you about the actual implementation of this method:

the shifting to the left of the dividend can cause an overflow detectable ONLY, through testing the Carry bit. (If set, the divisor must be substracted from the dividend as indicated by the method). Otherwise, the standard test "is divisor equal or less than dividend?" will fail, leading you to a final wrong result.

Just by working backwards from few known results, I realized that a failure appeared when, at least, one overflow occurred due the dividend shifting along the process.

b) The other routines are simple ones, that I use quite often. I know their limits and they fit my current needs. Please neglect them.

The other binary division routine based on the "Kenyan" algorithm (see a posting of myself from few days ago) completes the selection.