1 1 ;--------------------------------------------------------
2 2 ; File Created by SDCC : FreeWare ANSI-C Compiler
3 3 ; Version 2.1.9Ga Sun Jan 16 17:31:22 2000
5 5 ;--------------------------------------------------------
7 7 ;--------------------------------------------------------
8 8 ; publics variables in this module
9 9 ;--------------------------------------------------------
11 11 ;--------------------------------------------------------
12 12 ; special function registers
13 13 ;--------------------------------------------------------
14 14 ;--------------------------------------------------------
15 15 ; special function bits
16 16 ;--------------------------------------------------------
17 17 ;--------------------------------------------------------
18 18 ; internal ram data
19 19 ;--------------------------------------------------------
21 21 ;--------------------------------------------------------
22 22 ; overlayable items in internal ram
23 23 ;--------------------------------------------------------
24 24 .area OSEG (OVR,DATA)
25 25 ;--------------------------------------------------------
26 26 ; indirectly addressable internal ram data
27 27 ;--------------------------------------------------------
29 29 ;--------------------------------------------------------
31 31 ;--------------------------------------------------------
33 33 ;--------------------------------------------------------
34 34 ; external ram data
35 35 ;--------------------------------------------------------
41 41 ;--------------------------------------------------------
42 42 ; global & static initialisations
43 43 ;--------------------------------------------------------
44 44 .area GSINIT (CODE)
45 45 ;--------------------------------------------------------
47 47 ;--------------------------------------------------------
49 0000 49 G$atoi$0$0 ==.
51 51 ; -----------------------------------------
53 53 ; -----------------------------------------
65 0002 C0 83 65 push dph
66 0004 C0 82 66 push dpl
67 0006 90s00r00 67 mov dptr,#_atoi_s_1_1
69 000B F0 69 movx @dptr,a
72 000F F0 72 movx @dptr,a
75 0013 F0 75 movx @dptr,a
77 0014 90s00r03 77 mov dptr,#_atoi_rv_1_1
80 0019 F0 80 movx @dptr,a
81 001A 12s00r00 81 lcall __decdptr
82 001D F0 82 movx @dptr,a
84 001E 90s00r00 84 mov dptr,#_atoi_s_1_1
85 0021 E0 85 movx a,@dptr
88 0024 E0 88 movx a,@dptr
91 0027 E0 91 movx a,@dptr
94 0029 8A 82 94 mov dpl,r2
95 002B 8B 83 95 mov dph,r3
96 002D 8C F0 96 mov b,r4
97 002F 12s00r00 97 lcall __gptrget
98 98 ; Peephole 105 removed redundant mov
100 100 ; Peephole 110 removed ljmp by inverse jump logic
101 0033 60 30 101 jz 00109$
105 105 ; Peephole 159 avoided xrl during execution
106 0036 74 B9 106 mov a,#(0x39 ^ 0x80)
107 0038 8D F0 107 mov b,r5
108 003A 63 F0 80 108 xrl b,#0x80
109 003D 95 F0 109 subb a,b
110 110 ; Peephole 132 changed ljmp to sjmp
111 111 ; Peephole 160 removed sjmp by inverse jump logic
112 003F 40 08 112 jc 00102$
116 0043 64 80 116 xrl a,#0x80
117 0045 94 B0 117 subb a,#0xb0
118 118 ; Peephole 108 removed ljmp by inverse jump logic
119 0047 50 1C 119 jnc 00109$
124 0049 BD 2D 02 124 cjne r5,#0x2d,00136$
125 125 ; Peephole 132 changed ljmp to sjmp
126 004C 80 17 126 sjmp 00109$
128 004E BD 2B 02 128 cjne r5,#0x2b,00137$
129 129 ; Peephole 132 changed ljmp to sjmp
130 0051 80 12 130 sjmp 00109$
134 0054 BA 00 01 134 cjne r2,#0x00,00138$
137 0058 90s00r00 137 mov dptr,#_atoi_s_1_1
139 005C F0 139 movx @dptr,a
142 005F F0 142 movx @dptr,a
145 0062 F0 145 movx @dptr,a
146 146 ; Peephole 132 changed ljmp to sjmp
147 0063 80 C4 147 sjmp 00107$
150 0065 90s00r00 150 mov dptr,#_atoi_s_1_1
152 0069 F0 152 movx @dptr,a
155 006C F0 155 movx @dptr,a
158 006F F0 158 movx @dptr,a
159 0070 8A 82 159 mov dpl,r2
160 0072 8B 83 160 mov dph,r3
161 0074 8C F0 161 mov b,r4
162 0076 12s00r00 162 lcall __gptrget
164 007A BD 2D 04 164 cjne r5,#0x2d,00139$
165 007D 74 01 165 mov a,#0x01
166 007F 80 01 166 sjmp 00140$
171 171 ; Peephole 105 removed redundant mov
173 173 ; Peephole 109 removed ljmp by inverse jump logic
174 0083 70 03 174 jnz 00110$
176 176 ; Peephole 132 changed ljmp to sjmp
177 177 ; Peephole 199 optimized misc jump sequence
178 0085 BD 2B 0E 178 cjne r5,#0x2b,00131$
179 179 ; Peephole 201 removed redundant sjmp
183 0088 90s00r00 183 mov dptr,#_atoi_s_1_1
184 008B 74 01 184 mov a,#0x01
186 008E F0 186 movx @dptr,a
187 187 ; Peephole 180 changed mov to clr
189 0090 3B 189 addc a,r3
191 0092 F0 191 movx @dptr,a
194 0095 F0 194 movx @dptr,a
197 0096 90s00r00 197 mov dptr,#_atoi_s_1_1
198 0099 E0 198 movx a,@dptr
201 009C E0 201 movx a,@dptr
204 009F E0 204 movx a,@dptr
207 00A1 8A 82 207 mov dpl,r2
208 00A3 8B 83 208 mov dph,r3
209 00A5 8C F0 209 mov b,r4
210 00A7 12s00r00 210 lcall __gptrget
211 211 ; Peephole 105 removed redundant mov
213 00AB 70 03 213 jnz 00144$
214 00AD 02s01r22 214 ljmp 00117$
218 00B2 64 80 218 xrl a,#0x80
219 00B4 94 B0 219 subb a,#0xb0
220 00B6 50 03 220 jnc 00145$
221 00B8 02s01r22 221 ljmp 00117$
224 224 ; Peephole 159 avoided xrl during execution
225 00BC 74 B9 225 mov a,#(0x39 ^ 0x80)
226 00BE 8D F0 226 mov b,r5
227 00C0 63 F0 80 227 xrl b,#0x80
228 00C3 95 F0 228 subb a,b
229 00C5 50 03 229 jnc 00146$
230 00C7 02s01r22 230 ljmp 00117$
233 00CA 90s00r03 233 mov dptr,#_atoi_rv_1_1
234 00CD E0 234 movx a,@dptr
237 00D0 E0 237 movx a,@dptr
239 00D2 90s00r00 239 mov dptr,#__mulsint_PARM_2
242 00D7 F0 242 movx @dptr,a
243 00D8 12s00r00 243 lcall __decdptr
244 00DB 74 0A 244 mov a,#0x0a
245 00DD F0 245 movx @dptr,a
246 00DE C0 02 246 push ar2
247 00E0 C0 03 247 push ar3
248 00E2 C0 04 248 push ar4
249 00E4 C0 05 249 push ar5
250 00E6 C0 06 250 push ar6
251 00E8 8F 82 251 mov dpl,r7
252 00EA 88 83 252 mov dph,r0
253 00EC 12s00r00 253 lcall __mulsint
254 00EF AF 82 254 mov r7,dpl
255 00F1 A8 83 255 mov r0,dph
256 00F3 D0 06 256 pop ar6
257 00F5 D0 05 257 pop ar5
258 00F7 D0 04 258 pop ar4
259 00F9 D0 03 259 pop ar3
260 00FB D0 02 260 pop ar2
262 00FE 24 D0 262 add a,#0xd0
264 264 ; Peephole 180 changed mov to clr
266 0102 34 FF 266 addc a,#0xff
268 0105 90s00r03 268 mov dptr,#_atoi_rv_1_1
271 010A F0 271 movx @dptr,a
273 010C 38 273 addc a,r0
275 010E F0 275 movx @dptr,a
278 0110 BA 00 01 278 cjne r2,#0x00,00147$
281 0114 90s00r00 281 mov dptr,#_atoi_s_1_1
283 0118 F0 283 movx @dptr,a
286 011B F0 286 movx @dptr,a
289 011E F0 289 movx @dptr,a
290 011F 02s00rA1 290 ljmp 00115$
293 0122 90s00r00 293 mov dptr,#_atoi_s_1_1
295 0126 F0 295 movx @dptr,a
298 0129 F0 298 movx @dptr,a
301 012C F0 301 movx @dptr,a
303 303 ; Peephole 110 removed ljmp by inverse jump logic
304 012E 60 11 304 jz 00120$
306 0130 90s00r03 306 mov dptr,#_atoi_rv_1_1
307 0133 E0 307 movx a,@dptr
310 0136 E0 310 movx a,@dptr
314 013A 9A 314 subb a,r2
317 013D 9B 317 subb a,r3
319 319 ; Peephole 132 changed ljmp to sjmp
320 013F 80 08 320 sjmp 00121$
322 0141 90s00r03 322 mov dptr,#_atoi_rv_1_1
323 0144 E0 323 movx a,@dptr
326 0147 E0 326 movx a,@dptr
329 0149 8A 82 329 mov dpl,r2
330 014B 8B 83 330 mov dph,r3
332 014D 332 C$_atoi.c$48$1$1 ==.
333 014D 333 XG$atoi$0$0 ==.
335 335 .area CSEG (CODE)