Rev 1189 | Blame | Compare with Previous | Last modification | View Log | RSS feed
1 .file "Spectrum.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .global __do_copy_data
8 .global __do_clear_bss
9 .text
10 .global Uart1Init
12 Uart1Init:
13 /* prologue: frame size=0 */
14 /* prologue end (size=0) */
15 0000 8091 C900 lds r24,201
16 0004 8F77 andi r24,lo8(127)
17 0006 8093 C900 sts 201,r24
18 000a 8091 C900 lds r24,201
19 000e 8F7B andi r24,lo8(-65)
20 0010 8093 C900 sts 201,r24
21 0014 8091 C900 lds r24,201
22 0018 8F7D andi r24,lo8(-33)
23 001a 8093 C900 sts 201,r24
24 001e 5A9A sbi 43-0x20,2
25 0020 5298 cbi 42-0x20,2
26 0022 1092 CD00 sts 205,__zero_reg__
27 0026 84E1 ldi r24,lo8(20)
28 0028 8093 CC00 sts 204,r24
29 002c 8091 C800 lds r24,200
30 0030 8260 ori r24,lo8(2)
31 0032 8093 C800 sts 200,r24
32 0036 80E1 ldi r24,lo8(16)
33 0038 8093 C900 sts 201,r24
34 003c 8091 CA00 lds r24,202
35 0040 8F77 andi r24,lo8(127)
36 0042 8093 CA00 sts 202,r24
37 0046 8091 CA00 lds r24,202
38 004a 8F7B andi r24,lo8(-65)
39 004c 8093 CA00 sts 202,r24
40 0050 8091 CA00 lds r24,202
41 0054 8F7D andi r24,lo8(-33)
42 0056 8093 CA00 sts 202,r24
43 005a 8091 CA00 lds r24,202
44 005e 8F7E andi r24,lo8(-17)
45 0060 8093 CA00 sts 202,r24
46 0064 8091 CA00 lds r24,202
47 0068 877F andi r24,lo8(-9)
48 006a 8093 CA00 sts 202,r24
49 006e 8091 C900 lds r24,201
50 0072 8B7F andi r24,lo8(-5)
51 0074 8093 C900 sts 201,r24
52 0078 8091 CA00 lds r24,202
53 007c 8460 ori r24,lo8(4)
54 007e 8093 CA00 sts 202,r24
55 0082 8091 CA00 lds r24,202
56 0086 8260 ori r24,lo8(2)
57 0088 8093 CA00 sts 202,r24
58 008c 8091 C800 lds r24,200
59 0090 87FF sbrs r24,7
60 0092 00C0 rjmp .L2
61 .L5:
62 0094 8091 CE00 lds r24,206
63 0098 8091 C800 lds r24,200
64 009c 87FD sbrc r24,7
65 009e 00C0 rjmp .L5
66 .L2:
67 00a0 8091 C900 lds r24,201
68 00a4 8068 ori r24,lo8(-128)
69 00a6 8093 C900 sts 201,r24
70 /* epilogue: frame size=0 */
71 00aa 0895 ret
72 /* epilogue end (size=1) */
73 /* function Uart1Init size 86 (85) */
75 .global __vector_28
77 __vector_28:
78 /* prologue: frame size=0 */
79 00ac 1F92 push __zero_reg__
80 00ae 0F92 push __tmp_reg__
81 00b0 0FB6 in __tmp_reg__,__SREG__
82 00b2 0F92 push __tmp_reg__
83 00b4 1124 clr __zero_reg__
84 00b6 0F93 push r16
85 00b8 1F93 push r17
86 00ba 2F93 push r18
87 00bc 3F93 push r19
88 00be 4F93 push r20
89 00c0 5F93 push r21
90 00c2 6F93 push r22
91 00c4 7F93 push r23
92 00c6 8F93 push r24
93 00c8 9F93 push r25
94 00ca AF93 push r26
95 00cc BF93 push r27
96 00ce CF93 push r28
97 00d0 DF93 push r29
98 00d2 EF93 push r30
99 00d4 FF93 push r31
100 /* prologue end (size=21) */
101 00d6 1091 CE00 lds r17,206
102 00da 8091 0000 lds r24,ReSync.2413
103 00de 9091 0000 lds r25,(ReSync.2413)+1
104 00e2 0197 sbiw r24,1
105 00e4 01F4 brne .+2
106 00e6 00C0 rjmp .L48
107 00e8 8091 0000 lds r24,FrameTimer.2415
108 00ec 9091 0000 lds r25,(FrameTimer.2415)+1
109 00f0 0E94 0000 call CheckDelay
110 00f4 2091 0000 lds r18,Sync.2410
111 00f8 3091 0000 lds r19,(Sync.2410)+1
112 00fc 2115 cp r18,__zero_reg__
113 00fe 3105 cpc r19,__zero_reg__
114 0100 01F0 breq .L49
115 0102 2130 cpi r18,1
116 0104 3105 cpc r19,__zero_reg__
117 0106 01F4 brne .+2
118 0108 00C0 rjmp .L50
119 .L16:
120 010a 2230 cpi r18,2
121 010c 3105 cpc r19,__zero_reg__
122 010e 01F4 brne .+2
123 0110 00C0 rjmp .L51
124 .L19:
125 0112 2330 cpi r18,3
126 0114 3105 cpc r19,__zero_reg__
127 0116 01F4 brne .+2
128 0118 00C0 rjmp .L52
129 .L25:
130 011a 81E0 ldi r24,lo8(1)
131 011c 90E0 ldi r25,hi8(1)
132 011e 9093 0000 sts (ReSync.2413)+1,r25
133 0122 8093 0000 sts ReSync.2413,r24
134 0126 1092 0000 sts (FrameCnt.2411)+1,__zero_reg__
135 012a 1092 0000 sts FrameCnt.2411,__zero_reg__
136 012e 1092 0000 sts (Frame2.2414)+1,__zero_reg__
137 0132 1092 0000 sts Frame2.2414,__zero_reg__
138 .L42:
139 0136 87E0 ldi r24,lo8(7)
140 0138 90E0 ldi r25,hi8(7)
141 013a 0E94 0000 call SetDelay
142 013e 9093 0000 sts (FrameTimer.2415)+1,r25
143 0142 8093 0000 sts FrameTimer.2415,r24
144 0146 00C0 rjmp .L46
145 .L49:
146 0148 8823 tst r24
147 014a 01F4 brne .L53
148 014c C091 0000 lds r28,FrameCnt.2411
149 0150 D091 0000 lds r29,(FrameCnt.2411)+1
150 .L14:
151 0154 6097 sbiw r28,16
152 0156 00F0 brlo .L42
153 0158 8091 0000 lds r24,Frame2.2414
154 015c 9091 0000 lds r25,(Frame2.2414)+1
155 0160 892B or r24,r25
156 0162 01F4 brne .L44
157 0164 1092 0000 sts NewPpmData,__zero_reg__
158 .L44:
159 0168 1092 0000 sts (FrameCnt.2411)+1,__zero_reg__
160 016c 1092 0000 sts FrameCnt.2411,__zero_reg__
161 0170 1092 0000 sts (Frame2.2414)+1,__zero_reg__
162 0174 1092 0000 sts Frame2.2414,__zero_reg__
163 0178 1092 0000 sts (Sync.2410)+1,__zero_reg__
164 017c 1092 0000 sts Sync.2410,__zero_reg__
165 0180 00C0 rjmp .L42
166 .L48:
167 0182 1092 0000 sts (ReSync.2413)+1,__zero_reg__
168 0186 1092 0000 sts ReSync.2413,__zero_reg__
169 018a 87E0 ldi r24,lo8(7)
170 018c 90E0 ldi r25,hi8(7)
171 018e 0E94 0000 call SetDelay
172 0192 9093 0000 sts (FrameTimer.2415)+1,r25
173 0196 8093 0000 sts FrameTimer.2415,r24
174 019a 1092 0000 sts (FrameCnt.2411)+1,__zero_reg__
175 019e 1092 0000 sts FrameCnt.2411,__zero_reg__
176 01a2 1092 0000 sts (Sync.2410)+1,__zero_reg__
177 01a6 1092 0000 sts Sync.2410,__zero_reg__
178 01aa 1092 0000 sts (ByteHigh.2412)+1,__zero_reg__
179 01ae 1092 0000 sts ByteHigh.2412,__zero_reg__
180 01b2 00C0 rjmp .L46
181 .L53:
182 01b4 81E0 ldi r24,lo8(1)
183 01b6 90E0 ldi r25,hi8(1)
184 01b8 9093 0000 sts (Sync.2410)+1,r25
185 01bc 8093 0000 sts Sync.2410,r24
186 01c0 C091 0000 lds r28,FrameCnt.2411
187 01c4 D091 0000 lds r29,(FrameCnt.2411)+1
188 01c8 2196 adiw r28,1
189 01ca D093 0000 sts (FrameCnt.2411)+1,r29
190 01ce C093 0000 sts FrameCnt.2411,r28
191 01d2 00C0 rjmp .L14
192 .L52:
193 01d4 8823 tst r24
194 01d6 01F0 breq .+2
195 01d8 00C0 rjmp .L25
196 01da 82E0 ldi r24,lo8(2)
197 01dc 90E0 ldi r25,hi8(2)
198 01de 9093 0000 sts (Sync.2410)+1,r25
199 01e2 8093 0000 sts Sync.2410,r24
200 01e6 C091 0000 lds r28,FrameCnt.2411
201 01ea D091 0000 lds r29,(FrameCnt.2411)+1
202 01ee 2196 adiw r28,1
203 01f0 D093 0000 sts (FrameCnt.2411)+1,r29
204 01f4 C093 0000 sts FrameCnt.2411,r28
205 01f8 2091 0000 lds r18,ByteHigh.2412
206 01fc 3091 0000 lds r19,(ByteHigh.2412)+1
207 0200 F901 movw r30,r18
208 0202 F695 lsr r31
209 0204 E795 ror r30
210 0206 F695 lsr r31
211 0208 E795 ror r30
212 020a EF70 andi r30,lo8(15)
213 020c F070 andi r31,hi8(15)
214 020e 3196 adiw r30,1
215 0210 EB30 cpi r30,11
216 0212 F105 cpc r31,__zero_reg__
217 0214 00F0 brlo .+2
218 0216 00C0 rjmp .L14
219 0218 812F mov r24,r17
220 021a 90E0 ldi r25,lo8(0)
221 021c 322F mov r19,r18
222 021e 2227 clr r18
223 0220 822B or r24,r18
224 0222 932B or r25,r19
225 0224 9370 andi r25,hi8(1023)
226 0226 8050 subi r24,lo8(-(-512))
227 0228 9240 sbci r25,hi8(-(-512))
228 022a 63E0 ldi r22,lo8(3)
229 022c 70E0 ldi r23,hi8(3)
230 022e 0E94 0000 call __divmodhi4
231 0232 8F01 movw r16,r30
232 0234 000F lsl r16
233 0236 111F rol r17
234 0238 F801 movw r30,r16
235 023a E050 subi r30,lo8(-(PPM_in))
236 023c F040 sbci r31,hi8(-(PPM_in))
237 023e 8081 ld r24,Z
238 0240 9181 ldd r25,Z+1
239 0242 9B01 movw r18,r22
240 0244 281B sub r18,r24
241 0246 390B sbc r19,r25
242 0248 C901 movw r24,r18
243 024a 37FD sbrc r19,7
244 024c 00C0 rjmp .L54
245 .L30:
246 024e 0697 sbiw r24,6
247 0250 04F4 brge .L29
248 0252 8091 0000 lds r24,SenderOkay
249 0256 883C cpi r24,lo8(-56)
250 0258 00F0 brlo .+2
251 025a 00C0 rjmp .L32
252 025c 8091 0000 lds r24,SenderOkay
253 0260 865F subi r24,lo8(-(10))
254 0262 8093 0000 sts SenderOkay,r24
255 .L29:
256 0266 F801 movw r30,r16
257 0268 E050 subi r30,lo8(-(PPM_in))
258 026a F040 sbci r31,hi8(-(PPM_in))
259 026c 8081 ld r24,Z
260 026e 9181 ldd r25,Z+1
261 0270 9C01 movw r18,r24
262 0272 220F lsl r18
263 0274 331F rol r19
264 0276 280F add r18,r24
265 0278 391F adc r19,r25
266 027a 260F add r18,r22
267 027c 371F adc r19,r23
268 027e 37FD sbrc r19,7
269 0280 00C0 rjmp .L55
270 .L34:
271 0282 3595 asr r19
272 0284 2795 ror r18
273 0286 3595 asr r19
274 0288 2795 ror r18
275 028a CB01 movw r24,r22
276 028c 0196 adiw r24,1
277 028e 8217 cp r24,r18
278 0290 9307 cpc r25,r19
279 0292 04F0 brlt .+2
280 0294 00C0 rjmp .L35
281 0296 2150 subi r18,lo8(-(-1))
282 0298 3040 sbci r19,hi8(-(-1))
283 .L37:
284 029a 8091 0000 lds r24,SenderOkay
285 029e 843B cpi r24,lo8(-76)
286 02a0 00F4 brsh .+2
287 02a2 00C0 rjmp .L39
288 02a4 F801 movw r30,r16
289 02a6 E050 subi r30,lo8(-(PPM_in))
290 02a8 F040 sbci r31,hi8(-(PPM_in))
291 02aa 8081 ld r24,Z
292 02ac 9181 ldd r25,Z+1
293 02ae A901 movw r20,r18
294 02b0 481B sub r20,r24
295 02b2 590B sbc r21,r25
296 02b4 CA01 movw r24,r20
297 02b6 63E0 ldi r22,lo8(3)
298 02b8 70E0 ldi r23,hi8(3)
299 02ba 0E94 0000 call __divmodhi4
300 02be CB01 movw r24,r22
301 02c0 880F lsl r24
302 02c2 991F rol r25
303 02c4 860F add r24,r22
304 02c6 971F adc r25,r23
305 02c8 F801 movw r30,r16
306 02ca E050 subi r30,lo8(-(PPM_diff))
307 02cc F040 sbci r31,hi8(-(PPM_diff))
308 02ce 9183 std Z+1,r25
309 02d0 8083 st Z,r24
310 .L41:
311 02d2 0050 subi r16,lo8(-(PPM_in))
312 02d4 1040 sbci r17,hi8(-(PPM_in))
313 02d6 F801 movw r30,r16
314 02d8 3183 std Z+1,r19
315 02da 2083 st Z,r18
316 02dc 00C0 rjmp .L14
317 .L50:
318 02de 8823 tst r24
319 02e0 01F0 breq .+2
320 02e2 00C0 rjmp .L16
321 02e4 82E0 ldi r24,lo8(2)
322 02e6 90E0 ldi r25,hi8(2)
323 02e8 9093 0000 sts (Sync.2410)+1,r25
324 02ec 8093 0000 sts Sync.2410,r24
325 02f0 C091 0000 lds r28,FrameCnt.2411
326 02f4 D091 0000 lds r29,(FrameCnt.2411)+1
327 02f8 2196 adiw r28,1
328 02fa D093 0000 sts (FrameCnt.2411)+1,r29
329 02fe C093 0000 sts FrameCnt.2411,r28
330 0302 00C0 rjmp .L14
331 .L51:
332 0304 8823 tst r24
333 0306 01F0 breq .+2
334 0308 00C0 rjmp .L19
335 030a 812F mov r24,r17
336 030c 90E0 ldi r25,lo8(0)
337 030e 9093 0000 sts (ByteHigh.2412)+1,r25
338 0312 8093 0000 sts ByteHigh.2412,r24
339 0316 2091 0000 lds r18,FrameCnt.2411
340 031a 3091 0000 lds r19,(FrameCnt.2411)+1
341 031e 2230 cpi r18,2
342 0320 3105 cpc r19,__zero_reg__
343 0322 01F0 breq .L56
344 .L22:
345 0324 83E0 ldi r24,lo8(3)
346 0326 90E0 ldi r25,hi8(3)
347 0328 9093 0000 sts (Sync.2410)+1,r25
348 032c 8093 0000 sts Sync.2410,r24
349 0330 E901 movw r28,r18
350 0332 2196 adiw r28,1
351 0334 D093 0000 sts (FrameCnt.2411)+1,r29
352 0338 C093 0000 sts FrameCnt.2411,r28
353 033c 00C0 rjmp .L14
354 .L56:
355 033e 1092 0000 sts (Frame2.2414)+1,__zero_reg__
356 0342 1092 0000 sts Frame2.2414,__zero_reg__
357 0346 17FF sbrs r17,7
358 0348 00C0 rjmp .L22
359 034a 81E0 ldi r24,lo8(1)
360 034c 90E0 ldi r25,hi8(1)
361 034e 9093 0000 sts (Frame2.2414)+1,r25
362 0352 8093 0000 sts Frame2.2414,r24
363 0356 00C0 rjmp .L22
364 .L39:
365 0358 F801 movw r30,r16
366 035a E050 subi r30,lo8(-(PPM_diff))
367 035c F040 sbci r31,hi8(-(PPM_diff))
368 035e 1182 std Z+1,__zero_reg__
369 0360 1082 st Z,__zero_reg__
370 0362 00C0 rjmp .L41
371 .L35:
372 0364 6150 subi r22,lo8(-(-1))
373 0366 7040 sbci r23,hi8(-(-1))
374 0368 2617 cp r18,r22
375 036a 3707 cpc r19,r23
376 036c 04F0 brlt .+2
377 036e 00C0 rjmp .L37
378 0370 2F5F subi r18,lo8(-(1))
379 0372 3F4F sbci r19,hi8(-(1))
380 0374 00C0 rjmp .L37
381 .L32:
382 0376 88EC ldi r24,lo8(-56)
383 0378 8093 0000 sts SenderOkay,r24
384 037c 00C0 rjmp .L29
385 .L55:
386 037e 2D5F subi r18,lo8(-(3))
387 0380 3F4F sbci r19,hi8(-(3))
388 0382 00C0 rjmp .L34
389 .L54:
390 0384 9095 com r25
391 0386 8195 neg r24
392 0388 9F4F sbci r25,lo8(-1)
393 038a 00C0 rjmp .L30
394 .L46:
395 /* epilogue: frame size=0 */
396 038c FF91 pop r31
397 038e EF91 pop r30
398 0390 DF91 pop r29
399 0392 CF91 pop r28
400 0394 BF91 pop r27
401 0396 AF91 pop r26
402 0398 9F91 pop r25
403 039a 8F91 pop r24
404 039c 7F91 pop r23
405 039e 6F91 pop r22
406 03a0 5F91 pop r21
407 03a2 4F91 pop r20
408 03a4 3F91 pop r19
409 03a6 2F91 pop r18
410 03a8 1F91 pop r17
411 03aa 0F91 pop r16
412 03ac 0F90 pop __tmp_reg__
413 03ae 0FBE out __SREG__,__tmp_reg__
414 03b0 0F90 pop __tmp_reg__
415 03b2 1F90 pop __zero_reg__
416 03b4 1895 reti
417 /* epilogue end (size=21) */
418 /* function __vector_28 size 393 (351) */
420 .lcomm FrameTimer.2415,2
421 .lcomm Frame2.2414,2
422 .data
425 ReSync.2413:
426 0000 0100 .word 1
427 .lcomm ByteHigh.2412,2
428 .lcomm FrameCnt.2411,2
429 .lcomm Sync.2410,2
430 /* File "Spectrum.c": code 479 = 0x01df ( 436), prologues 21, epilogues 22 */
DEFINED SYMBOLS
*ABS*:00000000 Spectrum.c
C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:2 *ABS*:0000003f __SREG__
C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:3 *ABS*:0000003e __SP_H__
C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:4 *ABS*:0000003d __SP_L__
C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:5 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:6 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:12 .text:00000000 Uart1Init
C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:77 .text:000000ac __vector_28
C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:425 .data:00000000 ReSync.2413
.bss:00000000 FrameTimer.2415
C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:428 .bss:00000008 Sync.2410
C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:427 .bss:00000006 FrameCnt.2411
C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:420 .bss:00000002 Frame2.2414
C:\DOKUME~1\David\LOKALE~1\Temp/ccuy9Rcd.s:421 .bss:00000004 ByteHigh.2412
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
CheckDelay
SetDelay
NewPpmData
__divmodhi4
PPM_in
SenderOkay
PPM_diff