ret
;--------------------------------------------------------------------
-; HLDE: Divident (x)
-; BC: Divisor (y)
+; Divide 32 bit by 16
;
-; divide x/y
-; x: hl
-; y: de
-; return:
-; x/y: hl
-; rem: de
+; HLDE: Divident (x)
+; BC: Divisor (y)
+;
+; return:
+; HLDE: Quotient
+; BC: Reminder
cseg ; common area
div32_16:
ex de,hl ;de = x, hl = r
exx ;high
ld a,32 ;count
+;
+; divide x/y
+; x: hl
+; y: de
+; result:
+; x/y: hl
+; rem: de
div_lp: ;do
exx ; low
ex de,hl ; x
exx ; high
adc hl,bc ;
-div_no_restore:
-
- dec a
+div_no_restore: ;
+ dec a ;
jr nz,div_lp ;while (--count)
ex de,hl ; q