.define .dvu2 .sect .text .sect .rom .sect .data .sect .bss .sect .text ! 16-bit divide ! parameters: ! bc: divisor ! de: dividend ! de: quotient (out) ! hl: remainder (out) ! no overflow detection .dvu2: or a ld h,d ld l,e sbc hl,bc jp m,3f jp c,3f ! bc > de? ld hl,0 ld a,16 0: add hl,hl ex de,hl add hl,hl ex de,hl jr nc,1f inc hl or a 1: sbc hl,bc inc de jp p,2f add hl,bc dec de 2: dec a jr nz,0b ret 3: ld hl,0 ex de,hl ret