.arch armv7-a .fpu vfpv3-d16 .text .globl divide divide: eor r12,r3,r4 cmp r4,#0 neglt r4,r4 cmp r3,#0 neglt r3,r3 cmp r4,#32 bls divide_by_small_number clz r1,r4 clz r2,r3 rsb r1,r1,#31-5-11 add r1,r1,r2 mov r2,#0 cmp r1,#32-5-11 bhs divide_large_result add r1,r1,r1,lsl #1 add pc,pc,r1,lsl #2 nop .set shift,32-5-11 .rept 32-5-11 .set shift,shift-1 subs r1,r3,r4,lsl #shift movcs r3,r1 orrcs r2,r2,#1<