Blame | Last modification | View Log | RSS feed
1 .file "rc.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 .global NewPpmData
11 .data
14 NewPpmData:
15 0000 01 .byte 1
16 .global tmpChannels
17 .global tmpChannels
18 .section .bss
21 tmpChannels:
22 0000 00 .skip 1,0
23 .text
24 .global rc_sum_init
26 rc_sum_init:
27 /* prologue: frame size=0 */
28 /* prologue end (size=0) */
29 0000 83EC ldi r24,lo8(-61)
30 0002 8093 8100 sts 129,r24
31 0006 8091 6F00 lds r24,111
32 000a 8062 ori r24,lo8(32)
33 000c 8093 6F00 sts 111,r24
34 0010 1092 0000 sts (AdNeutralGier)+1,__zero_reg__
35 0014 1092 0000 sts AdNeutralGier,__zero_reg__
36 0018 1092 0000 sts (AdNeutralRoll)+1,__zero_reg__
37 001c 1092 0000 sts AdNeutralRoll,__zero_reg__
38 0020 1092 0000 sts (AdNeutralNick)+1,__zero_reg__
39 0024 1092 0000 sts AdNeutralNick,__zero_reg__
40 /* epilogue: frame size=0 */
41 0028 0895 ret
42 /* epilogue end (size=1) */
43 /* function rc_sum_init size 21 (20) */
45 .lcomm AltICR.0,2
46 .lcomm index.1,2
47 .global __vector_12
49 __vector_12:
50 /* prologue: frame size=0 */
51 002a 1F92 push __zero_reg__
52 002c 0F92 push __tmp_reg__
53 002e 0FB6 in __tmp_reg__,__SREG__
54 0030 0F92 push __tmp_reg__
55 0032 1124 clr __zero_reg__
56 0034 EF92 push r14
57 0036 FF92 push r15
58 0038 0F93 push r16
59 003a 1F93 push r17
60 003c 2F93 push r18
61 003e 3F93 push r19
62 0040 4F93 push r20
63 0042 5F93 push r21
64 0044 6F93 push r22
65 0046 7F93 push r23
66 0048 8F93 push r24
67 004a 9F93 push r25
68 004c AF93 push r26
69 004e BF93 push r27
70 0050 CF93 push r28
71 0052 DF93 push r29
72 0054 EF93 push r30
73 0056 FF93 push r31
74 /* prologue end (size=23) */
75 0058 2091 8600 lds r18,134
76 005c 3091 8700 lds r19,(134)+1
77 0060 8091 0000 lds r24,AltICR.0
78 0064 9091 0000 lds r25,(AltICR.0)+1
79 0068 281B sub r18,r24
80 006a 390B sbc r19,r25
81 006c 8091 8600 lds r24,134
82 0070 9091 8700 lds r25,(134)+1
83 0074 9093 0000 sts (AltICR.0)+1,r25
84 0078 8093 0000 sts AltICR.0,r24
85 007c C901 movw r24,r18
86 007e 8D54 subi r24,lo8(-(-1101))
87 0080 9440 sbci r25,hi8(-(-1101))
88 0082 835F subi r24,lo8(6899)
89 0084 9A41 sbci r25,hi8(6899)
90 0086 00F4 brsh .L3
91 0088 8091 0000 lds r24,index.1
92 008c 8093 0000 sts Channels,r24
93 0090 8091 0000 lds r24,index.1
94 0094 9091 0000 lds r25,(index.1)+1
95 0098 0497 sbiw r24,4
96 009a 04F0 brlt .L4
97 009c 1092 0000 sts NewPpmData,__zero_reg__
98 .L4:
99 00a0 C1E0 ldi r28,lo8(1)
100 00a2 D0E0 ldi r29,hi8(1)
101 00a4 D093 0000 sts (index.1)+1,r29
102 00a8 C093 0000 sts index.1,r28
103 00ac 00C0 rjmp .L2
104 .L3:
105 00ae C091 0000 lds r28,index.1
106 00b2 D091 0000 lds r29,(index.1)+1
107 00b6 CA30 cpi r28,10
108 00b8 D105 cpc r29,__zero_reg__
109 00ba 04F0 brlt .+2
110 00bc 00C0 rjmp .L2
111 00be C901 movw r24,r18
112 00c0 8B5F subi r24,lo8(-(-251))
113 00c2 9040 sbci r25,hi8(-(-251))
114 00c4 845B subi r24,lo8(436)
115 00c6 9140 sbci r25,hi8(436)
116 00c8 00F0 brlo .L26
117 .L7:
118 00ca FE01 movw r30,r28
119 00cc 3196 adiw r30,1
120 00ce F093 0000 sts (index.1)+1,r31
121 00d2 E093 0000 sts index.1,r30
122 00d6 E530 cpi r30,5
123 00d8 F105 cpc r31,__zero_reg__
124 00da 01F4 brne .+2
125 00dc 00C0 rjmp .L27
126 00de 5D98 cbi 43-0x20,5
127 .L19:
128 00e0 E630 cpi r30,6
129 00e2 F105 cpc r31,__zero_reg__
130 00e4 01F4 brne .+2
131 00e6 00C0 rjmp .L28
132 00e8 5C98 cbi 43-0x20,4
133 .L21:
134 00ea 3797 sbiw r30,7
135 00ec 01F4 brne .+2
136 00ee 00C0 rjmp .L29
137 00f0 5B98 cbi 43-0x20,3
138 00f2 00C0 rjmp .L2
139 .L26:
140 00f4 225D subi r18,lo8(-(-466))
141 00f6 3140 sbci r19,hi8(-(-466))
142 00f8 FE01 movw r30,r28
143 00fa EC0F add r30,r28
144 00fc FD1F adc r31,r29
145 00fe E050 subi r30,lo8(-(PPM_in))
146 0100 F040 sbci r31,hi8(-(PPM_in))
147 0102 8081 ld r24,Z
148 0104 9181 ldd r25,Z+1
149 0106 F901 movw r30,r18
150 0108 E81B sub r30,r24
151 010a F90B sbc r31,r25
152 010c CF01 movw r24,r30
153 010e F7FD sbrc r31,7
154 0110 00C0 rjmp .L30
155 .L9:
156 0112 0697 sbiw r24,6
157 0114 04F4 brge .L8
158 0116 8091 0000 lds r24,SenderOkay
159 011a 883C cpi r24,lo8(-56)
160 011c 00F0 brlo .+2
161 011e 00C0 rjmp .L10
162 0120 8091 0000 lds r24,SenderOkay
163 0124 865F subi r24,lo8(-(10))
164 0126 8093 0000 sts SenderOkay,r24
165 .L8:
166 012a FE01 movw r30,r28
167 012c EC0F add r30,r28
168 012e FD1F adc r31,r29
169 0130 E050 subi r30,lo8(-(PPM_in))
170 0132 F040 sbci r31,hi8(-(PPM_in))
171 0134 8081 ld r24,Z
172 0136 9181 ldd r25,Z+1
173 0138 AC01 movw r20,r24
174 013a 440F lsl r20
175 013c 551F rol r21
176 013e 480F add r20,r24
177 0140 591F adc r21,r25
178 0142 420F add r20,r18
179 0144 531F adc r21,r19
180 0146 57FD sbrc r21,7
181 0148 00C0 rjmp .L31
182 .L12:
183 014a 7A01 movw r14,r20
184 014c F594 asr r15
185 014e E794 ror r14
186 0150 F594 asr r15
187 0152 E794 ror r14
188 0154 C901 movw r24,r18
189 0156 0196 adiw r24,1
190 0158 8E15 cp r24,r14
191 015a 9F05 cpc r25,r15
192 015c 04F4 brge .L13
193 015e 0894 sec
194 0160 E108 sbc r14,__zero_reg__
195 0162 F108 sbc r15,__zero_reg__
196 .L14:
197 0164 8091 0000 lds r24,SenderOkay
198 0168 833C cpi r24,lo8(-61)
199 016a 00F0 brlo .L16
200 016c 8E01 movw r16,r28
201 016e 0C0F add r16,r28
202 0170 1D1F adc r17,r29
203 0172 F801 movw r30,r16
204 0174 E050 subi r30,lo8(-(PPM_in))
205 0176 F040 sbci r31,hi8(-(PPM_in))
206 0178 8081 ld r24,Z
207 017a 9181 ldd r25,Z+1
208 017c 9701 movw r18,r14
209 017e 281B sub r18,r24
210 0180 390B sbc r19,r25
211 0182 C901 movw r24,r18
212 0184 63E0 ldi r22,lo8(3)
213 0186 70E0 ldi r23,hi8(3)
214 0188 0E94 0000 call __divmodhi4
215 018c CB01 movw r24,r22
216 018e 880F lsl r24
217 0190 991F rol r25
218 0192 860F add r24,r22
219 0194 971F adc r25,r23
220 0196 0050 subi r16,lo8(-(PPM_diff))
221 0198 1040 sbci r17,hi8(-(PPM_diff))
222 019a F801 movw r30,r16
223 019c 9183 std Z+1,r25
224 019e 8083 st Z,r24
225 .L17:
226 01a0 FE01 movw r30,r28
227 01a2 EC0F add r30,r28
228 01a4 FD1F adc r31,r29
229 01a6 E050 subi r30,lo8(-(PPM_in))
230 01a8 F040 sbci r31,hi8(-(PPM_in))
231 01aa F182 std Z+1,r15
232 01ac E082 st Z,r14
233 01ae 00C0 rjmp .L7
234 .L29:
235 01b0 5B9A sbi 43-0x20,3
236 01b2 00C0 rjmp .L2
237 .L28:
238 01b4 5C9A sbi 43-0x20,4
239 01b6 00C0 rjmp .L21
240 .L27:
241 01b8 5D9A sbi 43-0x20,5
242 01ba 00C0 rjmp .L19
243 .L16:
244 01bc FE01 movw r30,r28
245 01be EC0F add r30,r28
246 01c0 FD1F adc r31,r29
247 01c2 E050 subi r30,lo8(-(PPM_diff))
248 01c4 F040 sbci r31,hi8(-(PPM_diff))
249 01c6 1182 std Z+1,__zero_reg__
250 01c8 1082 st Z,__zero_reg__
251 01ca 00C0 rjmp .L17
252 .L13:
253 01cc 2150 subi r18,lo8(-(-1))
254 01ce 3040 sbci r19,hi8(-(-1))
255 01d0 E216 cp r14,r18
256 01d2 F306 cpc r15,r19
257 01d4 04F4 brge .L14
258 01d6 0894 sec
259 01d8 E11C adc r14,__zero_reg__
260 01da F11C adc r15,__zero_reg__
261 01dc 00C0 rjmp .L14
262 .L10:
263 01de 88EC ldi r24,lo8(-56)
264 01e0 8093 0000 sts SenderOkay,r24
265 01e4 00C0 rjmp .L8
266 .L31:
267 01e6 4D5F subi r20,lo8(-(3))
268 01e8 5F4F sbci r21,hi8(-(3))
269 01ea 00C0 rjmp .L12
270 .L30:
271 01ec 9095 com r25
272 01ee 8195 neg r24
273 01f0 9F4F sbci r25,lo8(-1)
274 01f2 00C0 rjmp .L9
275 .L2:
276 /* epilogue: frame size=0 */
277 01f4 FF91 pop r31
278 01f6 EF91 pop r30
279 01f8 DF91 pop r29
280 01fa CF91 pop r28
281 01fc BF91 pop r27
282 01fe AF91 pop r26
283 0200 9F91 pop r25
284 0202 8F91 pop r24
285 0204 7F91 pop r23
286 0206 6F91 pop r22
287 0208 5F91 pop r21
288 020a 4F91 pop r20
289 020c 3F91 pop r19
290 020e 2F91 pop r18
291 0210 1F91 pop r17
292 0212 0F91 pop r16
293 0214 FF90 pop r15
294 0216 EF90 pop r14
295 0218 0F90 pop __tmp_reg__
296 021a 0FBE out __SREG__,__tmp_reg__
297 021c 0F90 pop __tmp_reg__
298 021e 1F90 pop __zero_reg__
299 0220 1895 reti
300 /* epilogue end (size=23) */
301 /* function __vector_12 size 257 (211) */
303 .comm PPM_in,22,1
304 .comm PPM_diff,22,1
305 .comm Channels,1,1
306 .comm Mixer,77,1
307 /* File "rc.c": code 278 = 0x0116 ( 231), prologues 23, epilogues 24 */
DEFINED SYMBOLS
*ABS*:00000000 rc.c
C:\Users\Bernd\AppData\Local\Temp/ccgzl0K0.s:3 *ABS*:0000003f __SREG__
C:\Users\Bernd\AppData\Local\Temp/ccgzl0K0.s:4 *ABS*:0000003e __SP_H__
C:\Users\Bernd\AppData\Local\Temp/ccgzl0K0.s:5 *ABS*:0000003d __SP_L__
C:\Users\Bernd\AppData\Local\Temp/ccgzl0K0.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Bernd\AppData\Local\Temp/ccgzl0K0.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Bernd\AppData\Local\Temp/ccgzl0K0.s:14 .data:00000000 NewPpmData
C:\Users\Bernd\AppData\Local\Temp/ccgzl0K0.s:21 .bss:00000000 tmpChannels
C:\Users\Bernd\AppData\Local\Temp/ccgzl0K0.s:26 .text:00000000 rc_sum_init
.bss:00000001 AltICR.0
C:\Users\Bernd\AppData\Local\Temp/ccgzl0K0.s:45 .bss:00000003 index.1
C:\Users\Bernd\AppData\Local\Temp/ccgzl0K0.s:49 .text:0000002a __vector_12
*COM*:00000001 Channels
*COM*:00000016 PPM_in
*COM*:00000016 PPM_diff
*COM*:0000004d Mixer
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
AdNeutralGier
AdNeutralRoll
AdNeutralNick
SenderOkay
__divmodhi4