1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
EXPORT __umodsi3
__umodsi3
var_4 = -4
arg_4 = 4
SUBS R2, R1, #1
BCC loc_BC
CMPNE R0, R1
MOVEQ R0, #0
TSTHI R1, R2
ANDEQ R0, R0, R2
BXLS LR
MOV R2, #0
loc_20 ; CODE XREF: __umodsi3+30j
CMP R1, #0x10000000
CMPCC R1, R0
MOVCC R1, R1,LSL#4
ADDCC R2, R2, #4
BCC loc_20
loc_34 ; CODE XREF: __umodsi3+44j
CMP R1, #0x80000000
CMPCC R1, R0
MOVCC R1, R1,LSL#1
ADDCC R2, R2, #1
BCC loc_34
SUBS R2, R2, #3
BLT loc_8C
loc_50 ; CODE XREF: __umodsi3+7Cj
CMP R0, R1
SUBCS R0, R0, R1
CMP R0, R1,LSR#1
SUBCS R0, R0, R1,LSR#1
CMP R0, R1,LSR#2
SUBCS R0, R0, R1,LSR#2
CMP R0, R1,LSR#3
SUBCS R0, R0, R1,LSR#3
CMP R0, #1
MOV R1, R1,LSR#4
SUBGES R2, R2, #4
BGE loc_50
TST R2, #3
TEQNE R0, #0
BEQ locret_B8
loc_8C ; CODE XREF: __umodsi3+4Cj
CMN R2, #2
BLT loc_B0
BEQ loc_A4
CMP R0, R1
SUBCS R0, R0, R1
MOV R1, R1,LSR#1
loc_A4 ; CODE XREF: __umodsi3+94j
CMP R0, R1
SUBCS R0, R0, R1
MOV R1, R1,LSR#1
loc_B0 ; CODE XREF: __umodsi3+90j
CMP R0, R1
SUBCS R0, R0, R1
locret_B8 ; CODE XREF: __umodsi3+88j
BX LR
; ---------------------------------------------------------------------------
loc_BC ; CODE XREF: __umodsi3+4j
STR LR, [SP,#var_4]!
BL __div0 ; PIC mode
MOV R0, #0
LDR PC, [SP],#arg_4
; End of function __umodsi3
; .text ends
; ===========================================================================
; Segment type: Zero-length
AREA .data, DATA, ALIGN=0
; ORG 0xCC
; .data ends
; ===========================================================================
; Segment type: Zero-length
AREA .bss, DATA, ALIGN=0
; ORG 0xCD
; .bss ends
; ===========================================================================
; Segment type: Externs
IMPORT __div0 ; CODE XREF: __umodsi3+C0p
END
|