Changes

Jump to: navigation, search

Programming:Integer Division

11 bytes added, 16:47, 16 November 2015
/* Fast 32bit division */
'''CPC Cycles:''' 1080-2572 (1826 on average), 270-643 usec (456 on average)
 
'''Size:''' 261 bytes
<pre>
t2
endm
div32x16 proc ; BCDE = HLDE/BC, HL = HLDE%BC local DIV16, DIV32R, DIV32FDIV32E
DEC BC
LD A, B
EX (SP), HL
EX DE, HL
CALL DIV32FDIV32E
POP BC
RET
DIV16
CALL DIV32FDIV32E
LD BC, 0000
RET
endm
RET
endp
DIV32E ; DE = HLDE/(-BC), HL = HLDE%(-BC)
CALL $+3
22
edits