0,0 → 1,301 |
1 .file "rc.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 rc_sum_init |
12 rc_sum_init: |
13 /* prologue: frame size=0 */ |
14 /* prologue end (size=0) */ |
15 0000 83EC ldi r24,lo8(-61) |
16 0002 8093 8100 sts 129,r24 |
17 0006 EFE6 ldi r30,lo8(111) |
18 0008 F0E0 ldi r31,hi8(111) |
19 000a 8081 ld r24,Z |
20 000c 8062 ori r24,lo8(32) |
21 000e 8083 st Z,r24 |
22 0010 1092 0000 sts (AdNeutralGier)+1,__zero_reg__ |
23 0014 1092 0000 sts AdNeutralGier,__zero_reg__ |
24 0018 1092 0000 sts (AdNeutralRoll)+1,__zero_reg__ |
25 001c 1092 0000 sts AdNeutralRoll,__zero_reg__ |
26 0020 1092 0000 sts (AdNeutralNick)+1,__zero_reg__ |
27 0024 1092 0000 sts AdNeutralNick,__zero_reg__ |
28 /* epilogue: frame size=0 */ |
29 0028 0895 ret |
30 /* epilogue end (size=1) */ |
31 /* function rc_sum_init size 21 (20) */ |
33 .global __vector_12 |
35 __vector_12: |
36 /* prologue: frame size=0 */ |
37 002a 1F92 push __zero_reg__ |
38 002c 0F92 push __tmp_reg__ |
39 002e 0FB6 in __tmp_reg__,__SREG__ |
40 0030 0F92 push __tmp_reg__ |
41 0032 1124 clr __zero_reg__ |
42 0034 0F93 push r16 |
43 0036 1F93 push r17 |
44 0038 2F93 push r18 |
45 003a 3F93 push r19 |
46 003c 4F93 push r20 |
47 003e 5F93 push r21 |
48 0040 6F93 push r22 |
49 0042 7F93 push r23 |
50 0044 8F93 push r24 |
51 0046 9F93 push r25 |
52 0048 AF93 push r26 |
53 004a BF93 push r27 |
54 004c CF93 push r28 |
55 004e DF93 push r29 |
56 0050 EF93 push r30 |
57 0052 FF93 push r31 |
58 /* prologue end (size=21) */ |
59 0054 2091 8600 lds r18,134 |
60 0058 3091 8700 lds r19,(134)+1 |
61 005c 8091 0000 lds r24,AltICR.2367 |
62 0060 9091 0000 lds r25,(AltICR.2367)+1 |
63 0064 281B sub r18,r24 |
64 0066 390B sbc r19,r25 |
65 0068 8091 8600 lds r24,134 |
66 006c 9091 8700 lds r25,(134)+1 |
67 0070 9093 0000 sts (AltICR.2367)+1,r25 |
68 0074 8093 0000 sts AltICR.2367,r24 |
69 0078 C901 movw r24,r18 |
70 007a 8D54 subi r24,lo8(-(-1101)) |
71 007c 9440 sbci r25,hi8(-(-1101)) |
72 007e 835F subi r24,lo8(6899) |
73 0080 9A41 sbci r25,hi8(6899) |
74 0082 00F4 brsh .L4 |
75 0084 8091 0000 lds r24,index.2370 |
76 0088 9091 0000 lds r25,(index.2370)+1 |
77 008c 0497 sbiw r24,4 |
78 008e 04F0 brlt .+2 |
79 0090 00C0 rjmp .L33 |
80 .L6: |
81 0092 81E0 ldi r24,lo8(1) |
82 0094 90E0 ldi r25,hi8(1) |
83 0096 9093 0000 sts (index.2370)+1,r25 |
84 009a 8093 0000 sts index.2370,r24 |
85 009e 00C0 rjmp .L31 |
86 .L4: |
87 00a0 0091 0000 lds r16,index.2370 |
88 00a4 1091 0000 lds r17,(index.2370)+1 |
89 00a8 0A30 cpi r16,10 |
90 00aa 1105 cpc r17,__zero_reg__ |
91 00ac 04F0 brlt .+2 |
92 00ae 00C0 rjmp .L31 |
93 00b0 C901 movw r24,r18 |
94 00b2 8B5F subi r24,lo8(-(-251)) |
95 00b4 9040 sbci r25,hi8(-(-251)) |
96 00b6 845B subi r24,lo8(436) |
97 00b8 9140 sbci r25,hi8(436) |
98 00ba 00F0 brlo .+2 |
99 00bc 00C0 rjmp .L10 |
100 00be A901 movw r20,r18 |
101 00c0 425D subi r20,lo8(-(-466)) |
102 00c2 5140 sbci r21,hi8(-(-466)) |
103 00c4 E801 movw r28,r16 |
104 00c6 CC0F lsl r28 |
105 00c8 DD1F rol r29 |
106 00ca FE01 movw r30,r28 |
107 00cc E050 subi r30,lo8(-(PPM_in)) |
108 00ce F040 sbci r31,hi8(-(PPM_in)) |
109 00d0 8081 ld r24,Z |
110 00d2 9181 ldd r25,Z+1 |
111 00d4 9A01 movw r18,r20 |
112 00d6 281B sub r18,r24 |
113 00d8 390B sbc r19,r25 |
114 00da C901 movw r24,r18 |
115 00dc 37FD sbrc r19,7 |
116 00de 00C0 rjmp .L34 |
117 .L13: |
118 00e0 0697 sbiw r24,6 |
119 00e2 04F4 brge .L12 |
120 00e4 8091 0000 lds r24,SenderOkay |
121 00e8 883C cpi r24,lo8(-56) |
122 00ea 00F0 brlo .+2 |
123 00ec 00C0 rjmp .L15 |
124 00ee 8091 0000 lds r24,SenderOkay |
125 00f2 865F subi r24,lo8(-(10)) |
126 00f4 8093 0000 sts SenderOkay,r24 |
127 .L12: |
128 00f8 FE01 movw r30,r28 |
129 00fa E050 subi r30,lo8(-(PPM_in)) |
130 00fc F040 sbci r31,hi8(-(PPM_in)) |
131 00fe 8081 ld r24,Z |
132 0100 9181 ldd r25,Z+1 |
133 0102 9C01 movw r18,r24 |
134 0104 220F lsl r18 |
135 0106 331F rol r19 |
136 0108 280F add r18,r24 |
137 010a 391F adc r19,r25 |
138 010c 240F add r18,r20 |
139 010e 351F adc r19,r21 |
140 0110 37FD sbrc r19,7 |
141 0112 00C0 rjmp .L35 |
142 .L17: |
143 0114 3595 asr r19 |
144 0116 2795 ror r18 |
145 0118 3595 asr r19 |
146 011a 2795 ror r18 |
147 011c CA01 movw r24,r20 |
148 011e 0196 adiw r24,1 |
149 0120 8217 cp r24,r18 |
150 0122 9307 cpc r25,r19 |
151 0124 04F0 brlt .+2 |
152 0126 00C0 rjmp .L18 |
153 0128 2150 subi r18,lo8(-(-1)) |
154 012a 3040 sbci r19,hi8(-(-1)) |
155 .L20: |
156 012c 8091 0000 lds r24,SenderOkay |
157 0130 833C cpi r24,lo8(-61) |
158 0132 00F0 brlo .L22 |
159 0134 FE01 movw r30,r28 |
160 0136 E050 subi r30,lo8(-(PPM_in)) |
161 0138 F040 sbci r31,hi8(-(PPM_in)) |
162 013a 8081 ld r24,Z |
163 013c 9181 ldd r25,Z+1 |
164 013e A901 movw r20,r18 |
165 0140 481B sub r20,r24 |
166 0142 590B sbc r21,r25 |
167 0144 CA01 movw r24,r20 |
168 0146 63E0 ldi r22,lo8(3) |
169 0148 70E0 ldi r23,hi8(3) |
170 014a 0E94 0000 call __divmodhi4 |
171 014e CB01 movw r24,r22 |
172 0150 880F lsl r24 |
173 0152 991F rol r25 |
174 0154 860F add r24,r22 |
175 0156 971F adc r25,r23 |
176 0158 FE01 movw r30,r28 |
177 015a E050 subi r30,lo8(-(PPM_diff)) |
178 015c F040 sbci r31,hi8(-(PPM_diff)) |
179 015e 9183 std Z+1,r25 |
180 0160 8083 st Z,r24 |
181 .L24: |
182 0162 C050 subi r28,lo8(-(PPM_in)) |
183 0164 D040 sbci r29,hi8(-(PPM_in)) |
184 0166 3983 std Y+1,r19 |
185 0168 2883 st Y,r18 |
186 .L10: |
187 016a C801 movw r24,r16 |
188 016c 0196 adiw r24,1 |
189 016e 9093 0000 sts (index.2370)+1,r25 |
190 0172 8093 0000 sts index.2370,r24 |
191 0176 8530 cpi r24,5 |
192 0178 9105 cpc r25,__zero_reg__ |
193 017a 01F0 breq .L36 |
194 017c 5D98 cbi 43-0x20,5 |
195 017e 8630 cpi r24,6 |
196 0180 9105 cpc r25,__zero_reg__ |
197 0182 01F0 breq .L37 |
198 0184 5C98 cbi 43-0x20,4 |
199 0186 0797 sbiw r24,7 |
200 0188 01F0 breq .L38 |
201 018a 5B98 cbi 43-0x20,3 |
202 018c 00C0 rjmp .L31 |
203 .L33: |
204 018e 1092 0000 sts NewPpmData,__zero_reg__ |
205 0192 00C0 rjmp .L6 |
206 .L38: |
207 0194 5B9A sbi 43-0x20,3 |
208 0196 00C0 rjmp .L31 |
209 .L37: |
210 0198 5C9A sbi 43-0x20,4 |
211 019a 5B98 cbi 43-0x20,3 |
212 019c 00C0 rjmp .L31 |
213 .L36: |
214 019e 5D9A sbi 43-0x20,5 |
215 01a0 5C98 cbi 43-0x20,4 |
216 01a2 5B98 cbi 43-0x20,3 |
217 01a4 00C0 rjmp .L31 |
218 .L22: |
219 01a6 FE01 movw r30,r28 |
220 01a8 E050 subi r30,lo8(-(PPM_diff)) |
221 01aa F040 sbci r31,hi8(-(PPM_diff)) |
222 01ac 1182 std Z+1,__zero_reg__ |
223 01ae 1082 st Z,__zero_reg__ |
224 01b0 00C0 rjmp .L24 |
225 .L18: |
226 01b2 4150 subi r20,lo8(-(-1)) |
227 01b4 5040 sbci r21,hi8(-(-1)) |
228 01b6 2417 cp r18,r20 |
229 01b8 3507 cpc r19,r21 |
230 01ba 04F0 brlt .+2 |
231 01bc 00C0 rjmp .L20 |
232 01be 2F5F subi r18,lo8(-(1)) |
233 01c0 3F4F sbci r19,hi8(-(1)) |
234 01c2 00C0 rjmp .L20 |
235 .L15: |
236 01c4 88EC ldi r24,lo8(-56) |
237 01c6 8093 0000 sts SenderOkay,r24 |
238 01ca 00C0 rjmp .L12 |
239 .L35: |
240 01cc 2D5F subi r18,lo8(-(3)) |
241 01ce 3F4F sbci r19,hi8(-(3)) |
242 01d0 00C0 rjmp .L17 |
243 .L34: |
244 01d2 9095 com r25 |
245 01d4 8195 neg r24 |
246 01d6 9F4F sbci r25,lo8(-1) |
247 01d8 00C0 rjmp .L13 |
248 .L31: |
249 /* epilogue: frame size=0 */ |
250 01da FF91 pop r31 |
251 01dc EF91 pop r30 |
252 01de DF91 pop r29 |
253 01e0 CF91 pop r28 |
254 01e2 BF91 pop r27 |
255 01e4 AF91 pop r26 |
256 01e6 9F91 pop r25 |
257 01e8 8F91 pop r24 |
258 01ea 7F91 pop r23 |
259 01ec 6F91 pop r22 |
260 01ee 5F91 pop r21 |
261 01f0 4F91 pop r20 |
262 01f2 3F91 pop r19 |
263 01f4 2F91 pop r18 |
264 01f6 1F91 pop r17 |
265 01f8 0F91 pop r16 |
266 01fa 0F90 pop __tmp_reg__ |
267 01fc 0FBE out __SREG__,__tmp_reg__ |
268 01fe 0F90 pop __tmp_reg__ |
269 0200 1F90 pop __zero_reg__ |
270 0202 1895 reti |
271 /* epilogue end (size=21) */ |
272 /* function __vector_12 size 242 (200) */ |
274 .global NewPpmData |
275 .data |
278 NewPpmData: |
279 0000 01 .byte 1 |
280 .lcomm index.2370,2 |
281 .lcomm AltICR.2367,2 |
282 .comm PPM_in,22,1 |
283 .comm PPM_diff,22,1 |
284 /* File "rc.c": code 263 = 0x0107 ( 220), prologues 21, epilogues 22 */ |
DEFINED SYMBOLS |
*ABS*:00000000 rc.c |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/ccOoR8fk.s:2 *ABS*:0000003f __SREG__ |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/ccOoR8fk.s:3 *ABS*:0000003e __SP_H__ |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/ccOoR8fk.s:4 *ABS*:0000003d __SP_L__ |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/ccOoR8fk.s:5 *ABS*:00000000 __tmp_reg__ |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/ccOoR8fk.s:6 *ABS*:00000001 __zero_reg__ |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/ccOoR8fk.s:12 .text:00000000 rc_sum_init |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/ccOoR8fk.s:35 .text:0000002a __vector_12 |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/ccOoR8fk.s:280 .bss:00000002 AltICR.2367 |
.bss:00000000 index.2370 |
*COM*:00000016 PPM_in |
*COM*:00000016 PPM_diff |
C:\DOKUME~1\DPeters\LOKALE~1\Temp/ccOoR8fk.s:278 .data:00000000 NewPpmData |
|
UNDEFINED SYMBOLS |
__do_copy_data |
__do_clear_bss |
AdNeutralGier |
AdNeutralRoll |
AdNeutralNick |
SenderOkay |
__divmodhi4 |