Blame | Last modification | View Log | RSS feed
1 .file "timer0.c"
2 .arch atmega644
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .text
11 .global Timer_Init
13 Timer_Init:
14 /* prologue: frame size=0 */
15 /* prologue end (size=0) */
16 0000 82E0 ldi r24,lo8(2)
17 0002 85BD out 69-0x20,r24
18 0004 83EA ldi r24,lo8(-93)
19 0006 84BD out 68-0x20,r24
20 0008 17BC out 71-0x20,__zero_reg__
21 000a 88E7 ldi r24,lo8(120)
22 000c 88BD out 72-0x20,r24
23 000e 83EC ldi r24,lo8(-61)
24 0010 8093 B000 sts 176,r24
25 0014 86E0 ldi r24,lo8(6)
26 0016 8093 B100 sts 177,r24
27 001a E0E7 ldi r30,lo8(112)
28 001c F0E0 ldi r31,hi8(112)
29 001e 8081 ld r24,Z
30 0020 8260 ori r24,lo8(2)
31 0022 8083 st Z,r24
32 0024 EEE6 ldi r30,lo8(110)
33 0026 F0E0 ldi r31,hi8(110)
34 0028 8081 ld r24,Z
35 002a 8160 ori r24,lo8(1)
36 002c 8083 st Z,r24
37 002e 8AE0 ldi r24,lo8(10)
38 0030 8093 B300 sts 179,r24
39 0034 1092 B200 sts 178,__zero_reg__
40 /* epilogue: frame size=0 */
41 0038 0895 ret
42 /* epilogue end (size=1) */
43 /* function Timer_Init size 29 (28) */
45 .global SetDelay
47 SetDelay:
48 /* prologue: frame size=0 */
49 /* prologue end (size=0) */
50 003a 2091 0000 lds r18,CountMilliseconds
51 003e 3091 0000 lds r19,(CountMilliseconds)+1
52 0042 2F5F subi r18,lo8(-(1))
53 0044 3F4F sbci r19,hi8(-(1))
54 0046 820F add r24,r18
55 0048 931F adc r25,r19
56 /* epilogue: frame size=0 */
57 004a 0895 ret
58 /* epilogue end (size=1) */
59 /* function SetDelay size 9 (8) */
61 .global CheckDelay
63 CheckDelay:
64 /* prologue: frame size=0 */
65 /* prologue end (size=0) */
66 004c 2091 0000 lds r18,CountMilliseconds
67 0050 3091 0000 lds r19,(CountMilliseconds)+1
68 0054 821B sub r24,r18
69 0056 930B sbc r25,r19
70 0058 892F mov r24,r25
71 005a 9927 clr r25
72 005c 8695 lsr r24
73 005e 8074 andi r24,lo8(64)
74 0060 9927 clr r25
75 /* epilogue: frame size=0 */
76 0062 0895 ret
77 /* epilogue end (size=1) */
78 /* function CheckDelay size 12 (11) */
80 .global __vector_9
82 __vector_9:
83 /* prologue: frame size=0 */
84 0064 1F92 push __zero_reg__
85 0066 0F92 push __tmp_reg__
86 0068 0FB6 in __tmp_reg__,__SREG__
87 006a 0F92 push __tmp_reg__
88 006c 1124 clr __zero_reg__
89 006e EF92 push r14
90 0070 FF92 push r15
91 0072 0F93 push r16
92 0074 1F93 push r17
93 0076 2F93 push r18
94 0078 3F93 push r19
95 007a 4F93 push r20
96 007c 5F93 push r21
97 007e 6F93 push r22
98 0080 7F93 push r23
99 0082 8F93 push r24
100 0084 9F93 push r25
101 0086 AF93 push r26
102 0088 BF93 push r27
103 008a CF93 push r28
104 008c DF93 push r29
105 008e EF93 push r30
106 0090 FF93 push r31
107 /* prologue end (size=23) */
108 0092 8091 0000 lds r24,timer.2116
109 0096 8150 subi r24,lo8(-(-1))
110 0098 8093 0000 sts timer.2116,r24
111 009c 8F3F cpi r24,lo8(-1)
112 009e 01F0 breq .+2
113 00a0 00C0 rjmp .L8
114 00a2 83E8 ldi r24,lo8(-125)
115 00a4 8093 B000 sts 176,r24
116 00a8 8091 0000 lds r24,Parameter_ServoNickControl
117 00ac C82F mov r28,r24
118 00ae DD27 clr r29
119 00b0 D093 0000 sts (ServoValue)+1,r29
120 00b4 C093 0000 sts ServoValue,r28
121 00b8 8091 0000 lds r24,EE_Parameter+53
122 00bc E090 0000 lds r14,EE_Parameter+34
123 00c0 2091 0000 lds r18,IntegralNick
124 00c4 3091 0000 lds r19,(IntegralNick)+1
125 00c8 4091 0000 lds r20,(IntegralNick)+2
126 00cc 5091 0000 lds r21,(IntegralNick)+3
127 00d0 80FF sbrs r24,0
128 00d2 00C0 rjmp .L10
129 00d4 FF24 clr r15
130 00d6 0027 clr r16
131 00d8 1127 clr r17
132 00da CA01 movw r24,r20
133 00dc B901 movw r22,r18
134 00de 20E8 ldi r18,lo8(128)
135 00e0 30E0 ldi r19,hi8(128)
136 00e2 40E0 ldi r20,hlo8(128)
137 00e4 50E0 ldi r21,hhi8(128)
138 00e6 0E94 0000 call __divmodsi4
139 00ea C801 movw r24,r16
140 00ec B701 movw r22,r14
141 00ee 0E94 0000 call __mulsi3
142 00f2 20E0 ldi r18,lo8(512)
143 00f4 32E0 ldi r19,hi8(512)
144 00f6 40E0 ldi r20,hlo8(512)
145 00f8 50E0 ldi r21,hhi8(512)
146 00fa 0E94 0000 call __divmodsi4
147 00fe C20F add r28,r18
148 0100 D31F adc r29,r19
149 0102 00C0 rjmp .L19
150 .L10:
151 0104 FF24 clr r15
152 0106 0027 clr r16
153 0108 1127 clr r17
154 010a CA01 movw r24,r20
155 010c B901 movw r22,r18
156 010e 20E8 ldi r18,lo8(128)
157 0110 30E0 ldi r19,hi8(128)
158 0112 40E0 ldi r20,hlo8(128)
159 0114 50E0 ldi r21,hhi8(128)
160 0116 0E94 0000 call __divmodsi4
161 011a C801 movw r24,r16
162 011c B701 movw r22,r14
163 011e 0E94 0000 call __mulsi3
164 0122 20E0 ldi r18,lo8(512)
165 0124 32E0 ldi r19,hi8(512)
166 0126 40E0 ldi r20,hlo8(512)
167 0128 50E0 ldi r21,hhi8(512)
168 012a 0E94 0000 call __divmodsi4
169 012e C21B sub r28,r18
170 0130 D30B sbc r29,r19
171 .L19:
172 0132 D093 0000 sts (ServoValue)+1,r29
173 0136 C093 0000 sts ServoValue,r28
174 013a 2091 0000 lds r18,ServoValue
175 013e 3091 0000 lds r19,(ServoValue)+1
176 0142 8091 0000 lds r24,EE_Parameter+35
177 0146 9927 clr r25
178 0148 2817 cp r18,r24
179 014a 3907 cpc r19,r25
180 014c 04F0 brlt .L20
181 014e 8091 0000 lds r24,EE_Parameter+36
182 0152 9927 clr r25
183 0154 8217 cp r24,r18
184 0156 9307 cpc r25,r19
185 0158 04F4 brge .L15
186 .L20:
187 015a 9093 0000 sts (ServoValue)+1,r25
188 015e 8093 0000 sts ServoValue,r24
189 .L15:
190 0162 8091 0000 lds r24,ServoValue
191 0166 8093 B300 sts 179,r24
192 016a 8091 0000 lds r24,EE_Parameter+37
193 016e 8093 0000 sts timer.2116,r24
194 0172 00C0 rjmp .L18
195 .L8:
196 0174 83E0 ldi r24,lo8(3)
197 0176 8093 B000 sts 176,r24
198 017a 5F98 cbi 43-0x20,7
199 .L18:
200 /* epilogue: frame size=0 */
201 017c FF91 pop r31
202 017e EF91 pop r30
203 0180 DF91 pop r29
204 0182 CF91 pop r28
205 0184 BF91 pop r27
206 0186 AF91 pop r26
207 0188 9F91 pop r25
208 018a 8F91 pop r24
209 018c 7F91 pop r23
210 018e 6F91 pop r22
211 0190 5F91 pop r21
212 0192 4F91 pop r20
213 0194 3F91 pop r19
214 0196 2F91 pop r18
215 0198 1F91 pop r17
216 019a 0F91 pop r16
217 019c FF90 pop r15
218 019e EF90 pop r14
219 01a0 0F90 pop __tmp_reg__
220 01a2 0FBE out __SREG__,__tmp_reg__
221 01a4 0F90 pop __tmp_reg__
222 01a6 1F90 pop __zero_reg__
223 01a8 1895 reti
224 /* epilogue end (size=23) */
225 /* function __vector_9 size 163 (117) */
227 .global __vector_18
229 __vector_18:
230 /* prologue: frame size=0 */
231 01aa 1F92 push __zero_reg__
232 01ac 0F92 push __tmp_reg__
233 01ae 0FB6 in __tmp_reg__,__SREG__
234 01b0 0F92 push __tmp_reg__
235 01b2 1124 clr __zero_reg__
236 01b4 2F93 push r18
237 01b6 3F93 push r19
238 01b8 4F93 push r20
239 01ba 5F93 push r21
240 01bc 6F93 push r22
241 01be 7F93 push r23
242 01c0 8F93 push r24
243 01c2 9F93 push r25
244 01c4 AF93 push r26
245 01c6 BF93 push r27
246 01c8 EF93 push r30
247 01ca FF93 push r31
248 /* prologue end (size=17) */
249 01cc 8091 0000 lds r24,cnt.2031
250 01d0 8150 subi r24,lo8(-(-1))
251 01d2 8093 0000 sts cnt.2031,r24
252 01d6 8F3F cpi r24,lo8(-1)
253 01d8 01F4 brne .L22
254 01da 8AE0 ldi r24,lo8(10)
255 01dc 8093 0000 sts cnt.2031,r24
256 01e0 8091 0000 lds r24,cnt_1ms.2030
257 01e4 8F5F subi r24,lo8(-(1))
258 01e6 8170 andi r24,lo8(1)
259 01e8 8093 0000 sts cnt_1ms.2030,r24
260 01ec 8823 tst r24
261 01ee 01F4 brne .L24
262 01f0 81E0 ldi r24,lo8(1)
263 01f2 8093 0000 sts UpdateMotor,r24
264 .L24:
265 01f6 8091 0000 lds r24,CountMilliseconds
266 01fa 9091 0000 lds r25,(CountMilliseconds)+1
267 01fe 0196 adiw r24,1
268 0200 9093 0000 sts (CountMilliseconds)+1,r25
269 0204 8093 0000 sts CountMilliseconds,r24
270 .L22:
271 0208 8091 0000 lds r24,beeptime
272 020c 9091 0000 lds r25,(beeptime)+1
273 0210 0297 sbiw r24,2
274 0212 00F0 brlo .L26
275 0214 8091 0000 lds r24,beeptime
276 0218 9091 0000 lds r25,(beeptime)+1
277 021c 0197 sbiw r24,1
278 021e 9093 0000 sts (beeptime)+1,r25
279 0222 8093 0000 sts beeptime,r24
280 0226 8091 0000 lds r24,beeptime
281 022a 9091 0000 lds r25,(beeptime)+1
282 022e 2091 0000 lds r18,BeepMuster
283 0232 3091 0000 lds r19,(BeepMuster)+1
284 0236 8223 and r24,r18
285 0238 9323 and r25,r19
286 023a 892B or r24,r25
287 023c 01F4 brne .L28
288 023e 00C0 rjmp .L29
289 .L26:
290 0240 8FEF ldi r24,lo8(-1)
291 0242 9FEF ldi r25,hi8(-1)
292 0244 9093 0000 sts (BeepMuster)+1,r25
293 0248 8093 0000 sts BeepMuster,r24
294 .L29:
295 024c 8091 0000 lds r24,PlatinenVersion
296 0250 8A30 cpi r24,lo8(10)
297 0252 01F4 brne .L38
298 0254 00C0 rjmp .L30
299 .L32:
300 0256 5A9A sbi 43-0x20,2
301 0258 00C0 rjmp .L33
302 .L39:
303 025a 479A sbi 40-0x20,7
304 025c 00C0 rjmp .L33
305 .L30:
306 025e 5A98 cbi 43-0x20,2
307 0260 00C0 rjmp .L33
308 .L38:
309 0262 4798 cbi 40-0x20,7
310 .L33:
311 0264 8091 0000 lds r24,EE_Parameter+8
312 0268 83FF sbrs r24,3
313 026a 00C0 rjmp .L37
314 026c 0E94 0000 call timer0_MM3
315 0270 00C0 rjmp .L37
316 .L28:
317 0272 8091 0000 lds r24,PlatinenVersion
318 0276 8A30 cpi r24,lo8(10)
319 0278 01F4 brne .L39
320 027a 00C0 rjmp .L32
321 .L37:
322 /* epilogue: frame size=0 */
323 027c FF91 pop r31
324 027e EF91 pop r30
325 0280 BF91 pop r27
326 0282 AF91 pop r26
327 0284 9F91 pop r25
328 0286 8F91 pop r24
329 0288 7F91 pop r23
330 028a 6F91 pop r22
331 028c 5F91 pop r21
332 028e 4F91 pop r20
333 0290 3F91 pop r19
334 0292 2F91 pop r18
335 0294 0F90 pop __tmp_reg__
336 0296 0FBE out __SREG__,__tmp_reg__
337 0298 0F90 pop __tmp_reg__
338 029a 1F90 pop __zero_reg__
339 029c 1895 reti
340 /* epilogue end (size=17) */
341 /* function __vector_18 size 123 (89) */
343 .global Delay_ms_Mess
345 Delay_ms_Mess:
346 /* prologue: frame size=0 */
347 /* prologue end (size=0) */
348 029e 2091 0000 lds r18,CountMilliseconds
349 02a2 3091 0000 lds r19,(CountMilliseconds)+1
350 02a6 2F5F subi r18,lo8(-(1))
351 02a8 3F4F sbci r19,hi8(-(1))
352 02aa 280F add r18,r24
353 02ac 391F adc r19,r25
354 02ae 4FEE ldi r20,lo8(-17)
355 02b0 00C0 rjmp .L41
356 .L42:
357 02b2 4093 7A00 sts 122,r20
358 .L41:
359 02b6 8091 0000 lds r24,CountMilliseconds
360 02ba 9091 0000 lds r25,(CountMilliseconds)+1
361 02be B901 movw r22,r18
362 02c0 681B sub r22,r24
363 02c2 790B sbc r23,r25
364 02c4 77FF sbrs r23,7
365 02c6 00C0 rjmp .L42
366 /* epilogue: frame size=0 */
367 02c8 0895 ret
368 /* epilogue end (size=1) */
369 /* function Delay_ms_Mess size 22 (21) */
371 .global Delay_ms
373 Delay_ms:
374 /* prologue: frame size=0 */
375 /* prologue end (size=0) */
376 02ca 2091 0000 lds r18,CountMilliseconds
377 02ce 3091 0000 lds r19,(CountMilliseconds)+1
378 02d2 2F5F subi r18,lo8(-(1))
379 02d4 3F4F sbci r19,hi8(-(1))
380 02d6 280F add r18,r24
381 02d8 391F adc r19,r25
382 .L46:
383 02da 8091 0000 lds r24,CountMilliseconds
384 02de 9091 0000 lds r25,(CountMilliseconds)+1
385 02e2 A901 movw r20,r18
386 02e4 481B sub r20,r24
387 02e6 590B sbc r21,r25
388 02e8 57FF sbrs r21,7
389 02ea 00C0 rjmp .L46
390 /* epilogue: frame size=0 */
391 02ec 0895 ret
392 /* epilogue end (size=1) */
393 /* function Delay_ms size 18 (17) */
395 .global CountMilliseconds
396 .global CountMilliseconds
397 .section .bss
400 CountMilliseconds:
401 0000 0000 .skip 2,0
402 .global UpdateMotor
403 .global UpdateMotor
406 UpdateMotor:
407 0002 00 .skip 1,0
408 .global beeptime
409 .global beeptime
412 beeptime:
413 0003 0000 .skip 2,0
414 .global BeepMuster
415 .data
418 BeepMuster:
419 0000 FFFF .word -1
420 .global ServoValue
421 .global ServoValue
422 .section .bss
425 ServoValue:
426 0005 0000 .skip 2,0
427 .data
430 timer.2116:
431 0002 0A .byte 10
432 .lcomm cnt.2031,1
435 cnt_1ms.2030:
436 0003 01 .byte 1
437 /* File "timer0.c": code 376 = 0x0178 ( 291), prologues 40, epilogues 45 */
DEFINED SYMBOLS
*ABS*:00000000 timer0.c
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:3 *ABS*:0000003f __SREG__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:4 *ABS*:0000003e __SP_H__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:5 *ABS*:0000003d __SP_L__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:13 .text:00000000 Timer_Init
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:47 .text:0000003a SetDelay
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:400 .bss:00000000 CountMilliseconds
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:63 .text:0000004c CheckDelay
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:82 .text:00000064 __vector_9
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:430 .data:00000002 timer.2116
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:425 .bss:00000005 ServoValue
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:229 .text:000001aa __vector_18
.bss:00000007 cnt.2031
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:435 .data:00000003 cnt_1ms.2030
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:406 .bss:00000002 UpdateMotor
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:412 .bss:00000003 beeptime
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:418 .data:00000000 BeepMuster
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:345 .text:0000029e Delay_ms_Mess
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccyNAzLv.s:373 .text:000002ca Delay_ms
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
Parameter_ServoNickControl
EE_Parameter
IntegralNick
__divmodsi4
__mulsi3
PlatinenVersion
timer0_MM3