13 MOVW R(TMP), R(Q) /* numerator */
14 MOVW 20(FP), R(D) /* denominator */
17 MOVW -1(R(D)), R(TMP) /* divide by zero fault */
20 TEXT rest<>(SB), 1, $0
36 * skip zeros 8-at-a-time
39 AND.S $(0xff<<24),R(Q), R(N)
50 * shift R(N||Q) left one
58 * compare numerator to denominator
59 * if less, subtract and set quotent bit
77 BL div<>(SB) /* none/both neg */
85 BL div<>(SB) /* one neg */
96 BL div<>(SB) /* neg numerator */
100 BL div<>(SB) /* pos numerator */
104 TEXT _divu(SB), 1, $16
110 TEXT _modu(SB), 1, $16