Pristine Ack-5.5
[Ack-5.5.git] / mach / arm / libem / libem_s.a
1 e˙los.s\0\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0C\ 1.define     .los
2
3         .sect .text
4
5 .los:   LDMFD R12<,{R0,R1}
6         CMP R0, #8
7         BGE 2F
8         CMP R0,#1
9         LDR.EQ.B R2,[R1]
10         CMP R0,#4
11         LDR.EQ R2,[R1]
12         CMP R0,#2
13         BNE 1F
14         LDR.EQ.B R2,[R1]
15         LDR.EQ.B R3,[R1,#1]
16         ADD R2,R2,R3,LSL #8
17 1:
18         STMFD R12<,{R2}
19         BAL 3F
20 2:
21         SUB R0,R0,#4
22         LDR R11,[R1,R0]
23         STMFD R12<,{R11}
24         CMP R0,#0
25         BNE 2B
26 3:
27         MOV R15,R14
28 \0sts.s\0\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0_\ 1.define      .sts
29
30         .sect .text
31
32 .sts:   LDMFD R12<,{R0,R1,R2}
33         CMP R0, #8
34         BGE 2f
35         CMP R0, #1
36         STR.EQ.B R2,[R1]
37         CMP R0, #4
38         STR.EQ R2,[R1]
39         CMP R0,#2
40         MOV.NE R15,R14
41         MOV R3,R2,LSR #8
42         SUB R2,R2,R3,LSL #8
43         STR.EQ.B R2,[R1]
44         STR.EQ.B R3,[R1,#1]
45         MOV R15,R14
46 2:
47         ADD R3,R1,R0
48 1:
49         STR R2,[R1]
50         ADD R1,R1,#4
51         CMP R1,R3
52         MOV.EQ R15,R14
53         LDMFD R12<,{R2}
54         BAL 1b
55 \0dvi.s\0\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0"\ 2.define      .dvi
56
57         .sect .text
58
59 .dvi:   LDMFD R12<,{R1,R2}
60         STMFD R12<,{R4}
61         CMP R1,#0
62         BEQ dbyzero
63         MOV R4,#0
64         CMP R1,#0
65         ADD.LT R4,R4,#1
66         RSB.LT R1,R1,#0
67         CMP R2,#0
68         ADD.LT R4,R4,#2
69         RSB.LT R2,R2,#0
70         MOV R0,#1
71 div1:   CMP R1,#0x80000000
72         CMP.CC R1,R2
73         MOV.CC R1,R1,ASL #1
74         MOV.CC R0,R0,ASL #1
75         BCC div1
76         MOV R3,#0
77 div2:   CMP R2,R1
78         SUB.CS R2,R2,R1
79         ADD.CS R3,R3,R0
80         MOV.S R0,R0,LSR #1
81         MOV.NE R1,R1,LSR #1
82         BNE div2
83         CMP R4, #1
84         RSB.EQ R3,R3,#0
85         CMP R4,#2
86         RSB.EQ R3,R3,#0
87         LDMFD R12<,{R4}
88         MOV R15,R14
89 dbyzero:
90         MOV R0,#6
91         STMFD R12<,{R0}
92         BAL _EmTrp
93
94 mli.s\0\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0q\ 1.define       .mli
95
96         .sect .text
97
98 .mli:   LDMFD R12<,{R1,R2}
99         STMFD R12<,{R4}
100         MOV R3,#0
101         MOV R0,#0
102         CMP R1,#0
103         ADD.MI R3,R3,#1
104         RSB.MI R1,R1,#0
105         CMP R2,#0
106         ADD.MI R3,R3,#1
107         RSB.MI R2,R2,#0
108         CMP R1,R2
109         BLT 1F
110         MOV R4,R1
111         MOV R1,R2
112         MOV R2,R4
113 1:
114         TST R1,#1
115         ADD.NE R0,R0,R2
116         MOV R2,R2,LSL #1
117         MOV.S R1,R1,LSR #1
118         BNE 1B
119         TST R3,#1
120         RSB.NE R0,R0,#0
121         LDMFD R12<,{R4}
122         MOV R15,R14
123 0csab.s\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9f\ 2.define _Csa, _Csb
124 .sect.text
125 _Csa:
126  LDMFD R12<, {R0}
127  LDMFD R12<, {R1}
128  STMFD R12<, {R4}
129  LDR R2, [R0, #4]
130  MOV R4,R2
131  LDR R3, [R0, #8]
132  CMP R1,R2
133  BLT 1F
134  ADD R2,R2,R3
135  CMP R1,R2
136  BGT 1F
137  ADD R2, R0, #12
138  SUB R1,R1,R4
139  ADD R2, R2, R1, LSL #2
140  LDR R2, [R2]
141  CMP R2, #0
142  BAL 2F
143 1:
144  LDR R2, [R0]
145  CMP R2, #0
146 2:
147  BNE 3F
148  BAL.L _CasErr
149 3:
150  LDMFD R12<,{R4}
151  MOV R15,R14
152
153 _Csb:
154  LDMFD R12<, {R0}
155  LDMFD R12<, {R1}
156  STMFD R12<,{R4}
157  LDR R2, [R0, #4]
158  LDR R3, [R0]
159  ADD R0, R0, #8
160 1:
161  CMP R2, #0
162  BEQ 3F
163  LDR R4, [R0]
164  CMP R4, R1
165  BNE 2F
166  LDR R3, [R0, #4]
167  BAL 3F
168 2:
169  ADD R0, R0, #8
170  SUB R2,R2,#1
171  BAL 1B
172 3:
173  CMP R3, #0
174  BNE 4F
175  BAL.L _CasErr
176 4:
177  LDMFD R12<,{R4}
178  MOV R15, R14
179
180 \0dvu.s\0\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9b\ 1.define .dvu
181
182 .sect .text
183
184 .dvu:
185  LDMFD R12<,{R0,R1}
186  STMFD R12<,{R4}
187  CMP R0,#0
188  BEQ divbyzero
189  MOV R2,#0
190  MOV R3,#0
191  MOV R4,#32
192 DVU11:
193  SUB.S R4,R4,#1
194  LDMFD.EQ R12<,{R4}
195  MOV.EQ R15,R14
196  MOV.S R1,R1,ASL #1
197  BPL DVU11
198 DVU22:
199  MOV.S R1,R1,ASL #1
200  ADC R2,R2,R2
201  CMP R2,R0
202  SUB.CS R2,R2,R0
203  ADC R3,R3,R3
204  SUB.S R4,R4,#1
205  BNE DVU22
206  LDMFD R12<,{R4}
207  MOV R15,R14
208 divbyzero:
209  MOV R0,#6
210  STMFD R12<,{R0}
211  BAL _EmTrp
212 Tmlu.s\0\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0¤\0.define .mlu
213
214 .sect .text
215
216 .mlu:
217  LDMFD R12<,{R0,R1}
218  MOV R2, #0
219 _mluloop:
220  MOV.S R0,R0,LSR #1
221  ADD.CS R2,R2,R1
222  ADD R1,R1,R1
223  BNE _mluloop
224  MOV R0,R2
225  MOV R15,R14
226 rck.s\0\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\94\0.define _RckTrap,_CasErr
227 .sect .text
228
229 _RckTrap:
230  MOV R0,#1
231  STMFD R12<,{R0}
232  BAL.L _EmTrp
233  
234 _CasErr:
235  MOV R0,#20
236  STMFD R12<,{R0}
237  BAL.L _EmTrp
238  
239