IMHO ist Division sehr kompliziert in Hardware zu implementieren. Dividieren und Multiplizieren funktioniert genau so, wie man es in der Grundschule lernt (eben für 2er-System anstatt 10er-System).

Bei einer Divison musst du ja Schieben-Vergleichen, Subtrahieren wenn kleiner, etc. Das ist sehr aufwändig in HW. Da brauchst du schon mehr als ne einfache ALU kann: Schleifen und so, also ein richtiges Rechenwerk mit Registern und Taktung.

Am einfachsten in eine Dummie-Division, nicht so effizient wie die Grunschul-Division, dafür aber einfachen. Hier für positive Zahlen ausgetextet:

Code:
## QUOTIENT = DIVIDEND / DIVISOR
## REST = DIVIDEND modulo DIVISOR

IF DIVISOR = 0
   ERROR
ELSE
   QUOTIENT := 0
   REST := DIVIDEND

   WHILE (DIVISOR <= REST)
      REST := REST - DIVISOR
      QUOTIENT := QUOTIENT + 1
   END WHILE
END IF
Die Subtraktion machst du im 2er-Komplement:

Code:
y-x := y + 1 + NOT x