Project

General

Profile

Statistics
| Revision:

root / demos / john / projects / libdragonfly / analog.lst @ 1693

History | View | Annotate | Download (15.5 KB)

1
   1               		.file	"analog.c"
2
   2               		.arch atmega128
3
   3               	__SREG__ = 0x3f
4
   4               	__SP_H__ = 0x3e
5
   5               	__SP_L__ = 0x3d
6
   6               	__tmp_reg__ = 0
7
   7               	__zero_reg__ = 1
8
   8               		.global __do_copy_data
9
   9               		.global __do_clear_bss
10
  17               	.Ltext0:
11
  18               	.global	analog8
12
  20               	analog8:
13
  21               	.LFB8:
14
  22               	.LM1:
15
  23               	/* prologue: frame size=0 */
16
  24               	/* prologue end (size=0) */
17
  25               	.LVL0:
18
  26               	.LM2:
19
  27 0000 0097      		sbiw r24,0
20
  28 0002 01F4      		brne .L2
21
  29               	.LM3:
22
  30 0004 80E0      		ldi r24,lo8(0)
23
  31 0006 90E0      		ldi r25,hi8(0)
24
  32               	.LVL1:
25
  33 0008 0895      		ret
26
  34               	.LVL2:
27
  35               	.L2:
28
  36               	.LM4:
29
  37 000a 0197      		sbiw r24,1
30
  38               	.LVL3:
31
  39 000c FC01      		movw r30,r24
32
  40 000e EE0F      		lsl r30
33
  41 0010 FF1F      		rol r31
34
  42 0012 E80F      		add r30,r24
35
  43 0014 F91F      		adc r31,r25
36
  44 0016 E050      		subi r30,lo8(-(an_val))
37
  45 0018 F040      		sbci r31,hi8(-(an_val))
38
  46 001a 8081      		ld r24,Z
39
  47 001c 9927      		clr r25
40
  48               	.LM5:
41
  49 001e 0895      		ret
42
  50               	/* epilogue: frame size=0 */
43
  51               	/* epilogue: noreturn */
44
  52               	/* epilogue end (size=0) */
45
  53               	/* function analog8 size 16 (16) */
46
  54               	.LFE8:
47
  56               	.global	analog10
48
  58               	analog10:
49
  59               	.LFB9:
50
  60               	.LM6:
51
  61               	/* prologue: frame size=0 */
52
  62               	/* prologue end (size=0) */
53
  63               	.LVL4:
54
  64               	.LM7:
55
  65 0020 0097      		sbiw r24,0
56
  66 0022 01F4      		brne .L7
57
  67               	.LM8:
58
  68 0024 80E0      		ldi r24,lo8(0)
59
  69 0026 90E0      		ldi r25,hi8(0)
60
  70               	.LVL5:
61
  71 0028 0895      		ret
62
  72               	.LVL6:
63
  73               	.L7:
64
  74               	.LM9:
65
  75 002a 0197      		sbiw r24,1
66
  76               	.LVL7:
67
  77 002c FC01      		movw r30,r24
68
  78 002e EE0F      		lsl r30
69
  79 0030 FF1F      		rol r31
70
  80 0032 E80F      		add r30,r24
71
  81 0034 F91F      		adc r31,r25
72
  82 0036 E050      		subi r30,lo8(-(an_val))
73
  83 0038 F040      		sbci r31,hi8(-(an_val))
74
  84 003a 8181      		ldd r24,Z+1
75
  85 003c 9281      		ldd r25,Z+2
76
  86               	.LM10:
77
  87 003e 0895      		ret
78
  88               	/* epilogue: frame size=0 */
79
  89               	/* epilogue: noreturn */
80
  90               	/* epilogue end (size=0) */
81
  91               	/* function analog10 size 16 (16) */
82
  92               	.LFE9:
83
  94               	.global	analog_start_loop
84
  96               	analog_start_loop:
85
  97               	.LFB10:
86
  98               	.LM11:
87
  99               	/* prologue: frame size=0 */
88
 100               	/* prologue end (size=0) */
89
 101               	.LM12:
90
 102 0040 8091 0000 		lds r24,adc_loop_status
91
 103 0044 9091 0000 		lds r25,(adc_loop_status)+1
92
 104 0048 0197      		sbiw r24,1
93
 105 004a 01F0      		breq .L14
94
 106               	.LM13:
95
 107 004c 339A      		sbi 38-0x20,3
96
 108               	.LM14:
97
 109 004e 369A      		sbi 38-0x20,6
98
 110               	.LM15:
99
 111 0050 81E0      		ldi r24,lo8(1)
100
 112 0052 90E0      		ldi r25,hi8(1)
101
 113 0054 9093 0000 		sts (adc_loop_status)+1,r25
102
 114 0058 8093 0000 		sts adc_loop_status,r24
103
 115               	.L14:
104
 116 005c 0895      		ret
105
 117               	/* epilogue: frame size=0 */
106
 118               	/* epilogue: noreturn */
107
 119               	/* epilogue end (size=0) */
108
 120               	/* function analog_start_loop size 16 (16) */
109
 121               	.LFE10:
110
 123               	.global	analog_stop_loop
111
 125               	analog_stop_loop:
112
 126               	.LFB11:
113
 127               	.LM16:
114
 128               	/* prologue: frame size=0 */
115
 129               	/* prologue end (size=0) */
116
 130               	.LM17:
117
 131 005e 81E0      		ldi r24,lo8(1)
118
 132 0060 90E0      		ldi r25,hi8(1)
119
 133 0062 9093 0000 		sts (adc_sig_stop_loop)+1,r25
120
 134 0066 8093 0000 		sts adc_sig_stop_loop,r24
121
 135               	/* epilogue: frame size=0 */
122
 136 006a 0895      		ret
123
 137               	/* epilogue end (size=1) */
124
 138               	/* function analog_stop_loop size 7 (6) */
125
 139               	.LFE11:
126
 141               	.global	analog_loop_status
127
 143               	analog_loop_status:
128
 144               	.LFB12:
129
 145               	.LM18:
130
 146               	/* prologue: frame size=0 */
131
 147               	/* prologue end (size=0) */
132
 148               	.LM19:
133
 149 006c 8091 0000 		lds r24,adc_loop_status
134
 150 0070 9091 0000 		lds r25,(adc_loop_status)+1
135
 151               	/* epilogue: frame size=0 */
136
 152 0074 0895      		ret
137
 153               	/* epilogue end (size=1) */
138
 154               	/* function analog_loop_status size 5 (4) */
139
 155               	.LFE12:
140
 157               	.global	set_adc_mux
141
 159               	set_adc_mux:
142
 160               	.LFB16:
143
 161               	.LM20:
144
 162               	/* prologue: frame size=0 */
145
 163               	/* prologue end (size=0) */
146
 164               	.LVL8:
147
 165               	.LM21:
148
 166 0076 E5E6      		ldi r30,lo8(101)
149
 167 0078 F0E0      		ldi r31,hi8(101)
150
 168 007a 2081      		ld r18,Z
151
 169 007c AC01      		movw r20,r24
152
 170 007e 4370      		andi r20,lo8(3)
153
 171 0080 5070      		andi r21,hi8(3)
154
 172 0082 63E0      		ldi r22,3
155
 173 0084 440F      	1:	lsl r20
156
 174 0086 551F      		rol r21
157
 175 0088 6A95      		dec r22
158
 176 008a 01F4      		brne 1b
159
 177 008c 237E      		andi r18,lo8(-29)
160
 178 008e 8470      		andi r24,lo8(4)
161
 179               	.LVL9:
162
 180 0090 282B      		or r18,r24
163
 181 0092 242B      		or r18,r20
164
 182 0094 2083      		st Z,r18
165
 183               	/* epilogue: frame size=0 */
166
 184 0096 0895      		ret
167
 185               	/* epilogue end (size=1) */
168
 186               	/* function set_adc_mux size 17 (16) */
169
 187               	.LFE16:
170
 189               	.global	analog_get10
171
 191               	analog_get10:
172
 192               	.LFB14:
173
 193               	.LM22:
174
 194               	/* prologue: frame size=0 */
175
 195               	/* prologue end (size=0) */
176
 196               	.LVL10:
177
 197 0098 9C01      		movw r18,r24
178
 198               	.LVL11:
179
 199               	.L23:
180
 200               	.LM23:
181
 201 009a 3699      		sbic 38-0x20,6
182
 202 009c 00C0      		rjmp .L23
183
 203               	.LM24:
184
 204 009e 2730      		cpi r18,7
185
 205 00a0 3105      		cpc r19,__zero_reg__
186
 206 00a2 04F4      		brge .L25
187
 207               	.LVL12:
188
 208               	.LM25:
189
 209 00a4 822F      		mov r24,r18
190
 210               	.LVL13:
191
 211 00a6 805A      		subi r24,lo8(-(96))
192
 212 00a8 87B9      		out 39-0x20,r24
193
 213 00aa 00C0      		rjmp .L27
194
 214               	.LVL14:
195
 215               	.L25:
196
 216               	.LM26:
197
 217 00ac 87E6      		ldi r24,lo8(103)
198
 218 00ae 87B9      		out 39-0x20,r24
199
 219               	.LM27:
200
 220 00b0 C901      		movw r24,r18
201
 221 00b2 0897      		sbiw r24,8
202
 222 00b4 0E94 0000 		call set_adc_mux
203
 223               	.LVL15:
204
 224               	.L27:
205
 225               	.LM28:
206
 226 00b8 369A      		sbi 38-0x20,6
207
 227               	.L28:
208
 228               	.LM29:
209
 229 00ba 3699      		sbic 38-0x20,6
210
 230 00bc 00C0      		rjmp .L28
211
 231               	.LM30:
212
 232 00be 24B1      		in r18,36-0x20
213
 233               	.LM31:
214
 234 00c0 85B1      		in r24,37-0x20
215
 235 00c2 9927      		clr r25
216
 236 00c4 880F      		lsl r24
217
 237 00c6 991F      		rol r25
218
 238 00c8 880F      		lsl r24
219
 239 00ca 991F      		rol r25
220
 240 00cc 3327      		clr r19
221
 241 00ce 76E0      		ldi r23,6
222
 242 00d0 3595      	1:	asr r19
223
 243 00d2 2795      		ror r18
224
 244 00d4 7A95      		dec r23
225
 245 00d6 01F4      		brne 1b
226
 246               	.LM32:
227
 247 00d8 822B      		or r24,r18
228
 248 00da 932B      		or r25,r19
229
 249               	/* epilogue: frame size=0 */
230
 250 00dc 0895      		ret
231
 251               	/* epilogue end (size=1) */
232
 252               	/* function analog_get10 size 35 (34) */
233
 253               	.LFE14:
234
 255               	.global	analog_get8
235
 257               	analog_get8:
236
 258               	.LFB13:
237
 259               	.LM33:
238
 260               	/* prologue: frame size=0 */
239
 261               	/* prologue end (size=0) */
240
 262               	.LVL16:
241
 263 00de 9C01      		movw r18,r24
242
 264               	.LVL17:
243
 265               	.L37:
244
 266               	.LM34:
245
 267 00e0 3699      		sbic 38-0x20,6
246
 268 00e2 00C0      		rjmp .L37
247
 269               	.LM35:
248
 270 00e4 2730      		cpi r18,7
249
 271 00e6 3105      		cpc r19,__zero_reg__
250
 272 00e8 04F4      		brge .L39
251
 273               	.LVL18:
252
 274               	.LM36:
253
 275 00ea 822F      		mov r24,r18
254
 276               	.LVL19:
255
 277 00ec 805A      		subi r24,lo8(-(96))
256
 278 00ee 87B9      		out 39-0x20,r24
257
 279 00f0 00C0      		rjmp .L41
258
 280               	.LVL20:
259
 281               	.L39:
260
 282               	.LM37:
261
 283 00f2 87E6      		ldi r24,lo8(103)
262
 284 00f4 87B9      		out 39-0x20,r24
263
 285               	.LM38:
264
 286 00f6 C901      		movw r24,r18
265
 287 00f8 0897      		sbiw r24,8
266
 288 00fa 0E94 0000 		call set_adc_mux
267
 289               	.LVL21:
268
 290               	.L41:
269
 291               	.LM39:
270
 292 00fe 369A      		sbi 38-0x20,6
271
 293               	.L42:
272
 294               	.LM40:
273
 295 0100 3699      		sbic 38-0x20,6
274
 296 0102 00C0      		rjmp .L42
275
 297               	.LM41:
276
 298 0104 85B1      		in r24,37-0x20
277
 299               	.LM42:
278
 300 0106 9927      		clr r25
279
 301               	/* epilogue: frame size=0 */
280
 302 0108 0895      		ret
281
 303               	/* epilogue end (size=1) */
282
 304               	/* function analog_get8 size 22 (21) */
283
 305               	.LFE13:
284
 307               	.global	wheel
285
 309               	wheel:
286
 310               	.LFB15:
287
 311               	.LM43:
288
 312               	/* prologue: frame size=0 */
289
 313               	/* prologue end (size=0) */
290
 314               	.LM44:
291
 315 010a 8AE0      		ldi r24,lo8(10)
292
 316 010c 90E0      		ldi r25,hi8(10)
293
 317 010e 0E94 0000 		call analog_get8
294
 318               	/* epilogue: frame size=0 */
295
 319 0112 0895      		ret
296
 320               	/* epilogue end (size=1) */
297
 321               	/* function wheel size 5 (4) */
298
 322               	.LFE15:
299
 324               	.global	analog_init
300
 326               	analog_init:
301
 327               	.LFB7:
302
 328               	.LM45:
303
 329               	/* prologue: frame size=0 */
304
 330               	/* prologue end (size=0) */
305
 331               	.LVL22:
306
 332 0114 E0E0      		ldi r30,lo8(an_val)
307
 333 0116 F0E0      		ldi r31,hi8(an_val)
308
 334               	.L52:
309
 335               	.LBB2:
310
 336               	.LM46:
311
 337 0118 1282      		std Z+2,__zero_reg__
312
 338 011a 1182      		std Z+1,__zero_reg__
313
 339               	.LM47:
314
 340 011c 1082      		st Z,__zero_reg__
315
 341               	.LM48:
316
 342 011e 3396      		adiw r30,3
317
 343 0120 80E0      		ldi r24,hi8(an_val+33)
318
 344 0122 E030      		cpi r30,lo8(an_val+33)
319
 345 0124 F807      		cpc r31,r24
320
 346               	.LVL23:
321
 347 0126 01F4      		brne .L52
322
 348               	.LBE2:
323
 349               	.LM49:
324
 350 0128 17B8      		out 39-0x20,__zero_reg__
325
 351               	.LM50:
326
 352 012a 87B1      		in r24,39-0x20
327
 353 012c 8166      		ori r24,lo8(97)
328
 354 012e 87B9      		out 39-0x20,r24
329
 355               	.LM51:
330
 356 0130 16B8      		out 38-0x20,__zero_reg__
331
 357               	.LM52:
332
 358 0132 86B1      		in r24,38-0x20
333
 359 0134 8168      		ori r24,lo8(-127)
334
 360 0136 86B9      		out 38-0x20,r24
335
 361               	.LM53:
336
 362 0138 8091 6400 		lds r24,100
337
 363 013c 8C61      		ori r24,lo8(28)
338
 364 013e 8093 6400 		sts 100,r24
339
 365               	.LM54:
340
 366 0142 80E0      		ldi r24,lo8(0)
341
 367 0144 90E0      		ldi r25,hi8(0)
342
 368 0146 0E94 0000 		call set_adc_mux
343
 369               	.LM55:
344
 370 014a 81E0      		ldi r24,lo8(1)
345
 371 014c 90E0      		ldi r25,hi8(1)
346
 372 014e 9093 0000 		sts (adc_current_port)+1,r25
347
 373 0152 8093 0000 		sts adc_current_port,r24
348
 374               	/* epilogue: frame size=0 */
349
 375 0156 0895      		ret
350
 376               	/* epilogue end (size=1) */
351
 377               	/* function analog_init size 34 (33) */
352
 378               	.LFE7:
353
 380               	.global	__vector_21
354
 382               	__vector_21:
355
 383               	.LFB17:
356
 384               	.LM56:
357
 385               	/* prologue: frame size=0 */
358
 386 0158 1F92      		push __zero_reg__
359
 387 015a 0F92      		push __tmp_reg__
360
 388 015c 0FB6      		in __tmp_reg__,__SREG__
361
 389 015e 0F92      		push __tmp_reg__
362
 390 0160 1124      		clr __zero_reg__
363
 391               	/* prologue end (size=5) */
364
 392               	/* epilogue: frame size=0 */
365
 393 0162 0F90      		pop __tmp_reg__
366
 394 0164 0FBE      		out __SREG__,__tmp_reg__
367
 395 0166 0F90      		pop __tmp_reg__
368
 396 0168 1F90      		pop __zero_reg__
369
 397 016a 1895      		reti
370
 398               	/* epilogue end (size=5) */
371
 399               	/* function __vector_21 size 10 (0) */
372
 400               	.LFE17:
373
 402               	.global	adc_loop_status
374
 403               	.global	adc_loop_status
375
 404               		.section .bss
376
 407               	adc_loop_status:
377
 408 0000 0000      		.skip 2,0
378
 409               	.global	adc_sig_stop_loop
379
 410               	.global	adc_sig_stop_loop
380
 413               	adc_sig_stop_loop:
381
 414 0002 0000      		.skip 2,0
382
 415               	.global	adc_current_port
383
 416               	.global	adc_current_port
384
 419               	adc_current_port:
385
 420 0004 0000      		.skip 2,0
386
 421               		.comm an_val,33,1
387
 526               	.Letext0:
388
DEFINED SYMBOLS
389
                            *ABS*:00000000 analog.c
390
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:3      *ABS*:0000003f __SREG__
391
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:4      *ABS*:0000003e __SP_H__
392
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:5      *ABS*:0000003d __SP_L__
393
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:6      *ABS*:00000000 __tmp_reg__
394
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:7      *ABS*:00000001 __zero_reg__
395
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:20     .text:00000000 analog8
396
                            *COM*:00000021 an_val
397
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:58     .text:00000020 analog10
398
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:96     .text:00000040 analog_start_loop
399
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:407    .bss:00000000 adc_loop_status
400
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:125    .text:0000005e analog_stop_loop
401
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:413    .bss:00000002 adc_sig_stop_loop
402
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:143    .text:0000006c analog_loop_status
403
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:159    .text:00000076 set_adc_mux
404
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:191    .text:00000098 analog_get10
405
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:257    .text:000000de analog_get8
406
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:309    .text:0000010a wheel
407
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:326    .text:00000114 analog_init
408
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:419    .bss:00000004 adc_current_port
409
F:\DOCUME~1\Evan\LOCALS~1\Temp/cc1rZiJp.s:382    .text:00000158 __vector_21
410

    
411
UNDEFINED SYMBOLS
412
__do_copy_data
413
__do_clear_bss