1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- .text
- .align 4
- .code 32
- .global div_32
- .type div_32, %function
- div_32:
- STMFD sp!,{r4 - r5}
- MOV R2,R1
- MOV R1,R0
-
- CMP R2, #0
- BEQ divide_end
- MOV R0,#0
- MOV R3,#1
-
- start:
- CMP R2,R1
- MOVLS R2,R2,LSL#1
- MOVLS R3,R3,LSL#1
- BLS start
-
-
-
-
- next:
- CMP R1,R2
- SUBCS R1,R1,R2
-
- ADDCS R0,R0,R3
-
- MOVS R3,R3,LSR#1
- MOVCC R2,R2,LSR#1
-
- BCC next
-
-
- divide_end:
-
-
-
-
- LDMFD sp!,{r4 - r5}
- BX lr
|