19 lines
227 B
ArmAsm
19 lines
227 B
ArmAsm
.global _div32_16
|
|
.align 4
|
|
_div32_16:
|
|
/* r1 (32 bits) ÷ r0 (16 bits) */
|
|
shll16 r0
|
|
cmp/hs r0,r1
|
|
bt over_div
|
|
div0u
|
|
.rept 16
|
|
div1 r0,r1
|
|
.endr
|
|
rotcl r1
|
|
rts
|
|
extu.w r1,r1
|
|
over_div:
|
|
bra over_div
|
|
nop
|
|
/* r1 = quotient */
|