Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1379 | Arthur | 1 | 1 .file "Spectrum.c" |
2 | 2 __SREG__ = 0x3f |
||
3 | 3 __SP_H__ = 0x3e |
||
4 | 4 __SP_L__ = 0x3d |
||
5 | 5 __CCP__ = 0x34 |
||
6 | 6 __tmp_reg__ = 0 |
||
7 | 7 __zero_reg__ = 1 |
||
8 | 8 .text |
||
9 | 9 .global Uart1Init |
||
10 | 11 Uart1Init: |
||
11 | 12 /* prologue: function */ |
||
12 | 13 /* frame size = 0 */ |
||
13 | 14 0000 8091 C900 lds r24,201 |
||
14 | 15 0004 8F77 andi r24,lo8(127) |
||
15 | 16 0006 8093 C900 sts 201,r24 |
||
16 | 17 000a 8091 C900 lds r24,201 |
||
17 | 18 000e 8F7B andi r24,lo8(-65) |
||
18 | 19 0010 8093 C900 sts 201,r24 |
||
19 | 20 0014 8091 C900 lds r24,201 |
||
20 | 21 0018 8F7D andi r24,lo8(-33) |
||
21 | 22 001a 8093 C900 sts 201,r24 |
||
22 | 23 001e 5A9A sbi 43-32,2 |
||
23 | 24 0020 5298 cbi 42-32,2 |
||
24 | 25 0022 1092 CD00 sts 205,__zero_reg__ |
||
25 | 26 0026 84E1 ldi r24,lo8(20) |
||
26 | 27 0028 8093 CC00 sts 204,r24 |
||
27 | 28 002c 8091 C800 lds r24,200 |
||
28 | 29 0030 8260 ori r24,lo8(2) |
||
29 | 30 0032 8093 C800 sts 200,r24 |
||
30 | 31 0036 80E1 ldi r24,lo8(16) |
||
31 | 32 0038 8093 C900 sts 201,r24 |
||
32 | 33 003c 8091 CA00 lds r24,202 |
||
33 | 34 0040 8F77 andi r24,lo8(127) |
||
34 | 35 0042 8093 CA00 sts 202,r24 |
||
35 | 36 0046 8091 CA00 lds r24,202 |
||
36 | 37 004a 8F7B andi r24,lo8(-65) |
||
37 | 38 004c 8093 CA00 sts 202,r24 |
||
38 | 39 0050 8091 CA00 lds r24,202 |
||
39 | 40 0054 8F7D andi r24,lo8(-33) |
||
40 | 41 0056 8093 CA00 sts 202,r24 |
||
41 | 42 005a 8091 CA00 lds r24,202 |
||
42 | 43 005e 8F7E andi r24,lo8(-17) |
||
43 | 44 0060 8093 CA00 sts 202,r24 |
||
44 | 45 0064 8091 CA00 lds r24,202 |
||
45 | 46 0068 877F andi r24,lo8(-9) |
||
46 | 47 006a 8093 CA00 sts 202,r24 |
||
47 | 48 006e 8091 C900 lds r24,201 |
||
48 | 49 0072 8B7F andi r24,lo8(-5) |
||
49 | 50 0074 8093 C900 sts 201,r24 |
||
50 | 51 0078 8091 CA00 lds r24,202 |
||
51 | 52 007c 8460 ori r24,lo8(4) |
||
52 | 53 007e 8093 CA00 sts 202,r24 |
||
53 | 54 0082 8091 CA00 lds r24,202 |
||
54 | 55 0086 8260 ori r24,lo8(2) |
||
55 | 56 0088 8093 CA00 sts 202,r24 |
||
56 | 57 008c 8091 C800 lds r24,200 |
||
57 | 58 0090 87FF sbrs r24,7 |
||
58 | 59 0092 00C0 rjmp .L2 |
||
59 | 60 .L5: |
||
60 | 61 0094 8091 CE00 lds r24,206 |
||
61 | 62 0098 8091 C800 lds r24,200 |
||
62 | 63 009c 87FD sbrc r24,7 |
||
63 | 64 009e 00C0 rjmp .L5 |
||
64 | 65 .L2: |
||
65 | 66 00a0 8091 C900 lds r24,201 |
||
66 | 67 00a4 8068 ori r24,lo8(-128) |
||
67 | 68 00a6 8093 C900 sts 201,r24 |
||
68 | 69 /* epilogue start */ |
||
69 | 70 00aa 0895 ret |
||
70 | 72 .global __vector_28 |
||
71 | 74 __vector_28: |
||
72 | 75 00ac 1F92 push __zero_reg__ |
||
73 | 76 00ae 0F92 push r0 |
||
74 | 77 00b0 0FB6 in r0,__SREG__ |
||
75 | 78 00b2 0F92 push r0 |
||
76 | 79 00b4 1124 clr __zero_reg__ |
||
77 | 80 00b6 1F93 push r17 |
||
78 | 81 00b8 2F93 push r18 |
||
79 | 82 00ba 3F93 push r19 |
||
80 | 83 00bc 4F93 push r20 |
||
81 | 84 00be 5F93 push r21 |
||
82 | 85 00c0 6F93 push r22 |
||
83 | 86 00c2 7F93 push r23 |
||
84 | 87 00c4 8F93 push r24 |
||
85 | 88 00c6 9F93 push r25 |
||
86 | 89 00c8 AF93 push r26 |
||
87 | 90 00ca BF93 push r27 |
||
88 | 91 00cc CF93 push r28 |
||
89 | 92 00ce DF93 push r29 |
||
90 | 93 00d0 EF93 push r30 |
||
91 | 94 00d2 FF93 push r31 |
||
92 | 95 /* prologue: Signal */ |
||
93 | 96 /* frame size = 0 */ |
||
94 | 97 00d4 2091 CE00 lds r18,206 |
||
95 | 98 00d8 1091 0000 lds r17,ReSync.2294 |
||
96 | 99 00dc 1130 cpi r17,lo8(1) |
||
97 | 100 00de 01F4 brne .+2 |
||
98 | 101 00e0 00C0 rjmp .L30 |
||
99 | 102 00e2 40E0 ldi r20,lo8(0) |
||
100 | 103 00e4 50E0 ldi r21,hi8(0) |
||
101 | 104 00e6 8091 0000 lds r24,SpektrumTimer |
||
102 | 105 00ea 8823 tst r24 |
||
103 | 106 00ec 01F0 breq .L31 |
||
104 | 107 00ee 8091 0000 lds r24,Sync.2291 |
||
105 | 108 00f2 8823 tst r24 |
||
106 | 109 00f4 01F0 breq .L32 |
||
107 | 110 .L12: |
||
108 | 111 00f6 8130 cpi r24,lo8(1) |
||
109 | 112 00f8 01F4 brne .+2 |
||
110 | 113 00fa 00C0 rjmp .L33 |
||
111 | 114 00fc 8230 cpi r24,lo8(2) |
||
112 | 115 00fe 01F4 brne .+2 |
||
113 | 116 0100 00C0 rjmp .L34 |
||
114 | 117 0102 8330 cpi r24,lo8(3) |
||
115 | 118 0104 01F4 brne .+2 |
||
116 | 119 0106 00C0 rjmp .L35 |
||
117 | 120 .L18: |
||
118 | 121 0108 81E0 ldi r24,lo8(1) |
||
119 | 122 010a 8093 0000 sts ReSync.2294,r24 |
||
120 | 123 010e 1092 0000 sts FrameCnt.2292,__zero_reg__ |
||
121 | 124 0112 1092 0000 sts Frame2.2295,__zero_reg__ |
||
122 | 125 0116 84E4 ldi r24,lo8(68) |
||
123 | 126 0118 8093 0000 sts SpektrumTimer,r24 |
||
124 | 127 011c 00C0 rjmp .L28 |
||
125 | 128 .L32: |
||
126 | 129 011e 452B or r20,r21 |
||
127 | 130 0120 01F0 breq .L13 |
||
128 | 131 0122 81E0 ldi r24,lo8(1) |
||
129 | 132 .L29: |
||
130 | 133 0124 8093 0000 sts Sync.2291,r24 |
||
131 | 134 0128 4091 0000 lds r20,FrameCnt.2292 |
||
132 | 135 012c 4F5F subi r20,lo8(-(1)) |
||
133 | 136 012e 4093 0000 sts FrameCnt.2292,r20 |
||
134 | 137 0132 83E0 ldi r24,lo8(3) |
||
135 | 138 0134 8093 0000 sts SpektrumTimer,r24 |
||
136 | 139 .L14: |
||
137 | 140 0138 4031 cpi r20,lo8(16) |
||
138 | 141 013a 00F0 brlo .L28 |
||
139 | 142 013c 8091 0000 lds r24,Frame2.2295 |
||
140 | 143 0140 8823 tst r24 |
||
141 | 144 0142 01F4 brne .L27 |
||
142 | 145 0144 1123 tst r17 |
||
143 | 146 0146 01F4 brne .L27 |
||
144 | 147 0148 1092 0000 sts NewPpmData,__zero_reg__ |
||
145 | 148 .L27: |
||
146 | 149 014c 1092 0000 sts FrameCnt.2292,__zero_reg__ |
||
147 | 150 0150 1092 0000 sts Frame2.2295,__zero_reg__ |
||
148 | 151 0154 1092 0000 sts Sync.2291,__zero_reg__ |
||
149 | 152 0158 84E4 ldi r24,lo8(68) |
||
150 | 153 015a 8093 0000 sts SpektrumTimer,r24 |
||
151 | 154 015e 00C0 rjmp .L28 |
||
152 | 155 .L31: |
||
153 | 156 0160 41E0 ldi r20,lo8(1) |
||
154 | 157 0162 50E0 ldi r21,hi8(1) |
||
155 | 158 0164 8091 0000 lds r24,Sync.2291 |
||
156 | 159 0168 8823 tst r24 |
||
157 | 160 016a 01F4 brne .L12 |
||
158 | 161 016c 00C0 rjmp .L32 |
||
159 | 162 .L30: |
||
160 | 163 016e 1092 0000 sts ReSync.2294,__zero_reg__ |
||
161 | 164 .L13: |
||
162 | 165 0172 84E4 ldi r24,lo8(68) |
||
163 | 166 0174 8093 0000 sts SpektrumTimer,r24 |
||
164 | 167 0178 1092 0000 sts FrameCnt.2292,__zero_reg__ |
||
165 | 168 017c 1092 0000 sts Sync.2291,__zero_reg__ |
||
166 | 169 0180 1092 0000 sts ByteHigh.2293,__zero_reg__ |
||
167 | 170 .L28: |
||
168 | 171 /* epilogue start */ |
||
169 | 172 0184 FF91 pop r31 |
||
170 | 173 0186 EF91 pop r30 |
||
171 | 174 0188 DF91 pop r29 |
||
172 | 175 018a CF91 pop r28 |
||
173 | 176 018c BF91 pop r27 |
||
174 | 177 018e AF91 pop r26 |
||
175 | 178 0190 9F91 pop r25 |
||
176 | 179 0192 8F91 pop r24 |
||
177 | 180 0194 7F91 pop r23 |
||
178 | 181 0196 6F91 pop r22 |
||
179 | 182 0198 5F91 pop r21 |
||
180 | 183 019a 4F91 pop r20 |
||
181 | 184 019c 3F91 pop r19 |
||
182 | 185 019e 2F91 pop r18 |
||
183 | 186 01a0 1F91 pop r17 |
||
184 | 187 01a2 0F90 pop r0 |
||
185 | 188 01a4 0FBE out __SREG__,r0 |
||
186 | 189 01a6 0F90 pop r0 |
||
187 | 190 01a8 1F90 pop __zero_reg__ |
||
188 | 191 01aa 1895 reti |
||
189 | 192 .L35: |
||
190 | 193 01ac 452B or r20,r21 |
||
191 | 194 01ae 01F0 breq .+2 |
||
192 | 195 01b0 00C0 rjmp .L18 |
||
193 | 196 01b2 8093 0000 sts SpektrumTimer,r24 |
||
194 | 197 01b6 82E0 ldi r24,lo8(2) |
||
195 | 198 01b8 8093 0000 sts Sync.2291,r24 |
||
196 | 199 01bc 4091 0000 lds r20,FrameCnt.2292 |
||
197 | 200 01c0 4F5F subi r20,lo8(-(1)) |
||
198 | 201 01c2 4093 0000 sts FrameCnt.2292,r20 |
||
199 | 202 01c6 3091 0000 lds r19,ByteHigh.2293 |
||
200 | 203 01ca 832F mov r24,r19 |
||
201 | 204 01cc 8695 lsr r24 |
||
202 | 205 01ce 8695 lsr r24 |
||
203 | 206 01d0 E82F mov r30,r24 |
||
204 | 207 01d2 F0E0 ldi r31,lo8(0) |
||
205 | 208 01d4 EF70 andi r30,lo8(15) |
||
206 | 209 01d6 F070 andi r31,hi8(15) |
||
207 | 210 01d8 3196 adiw r30,1 |
||
208 | 211 01da EB30 cpi r30,11 |
||
209 | 212 01dc F105 cpc r31,__zero_reg__ |
||
210 | 213 01de 00F0 brlo .+2 |
||
211 | 214 01e0 00C0 rjmp .L14 |
||
212 | 215 01e2 932F mov r25,r19 |
||
213 | 216 01e4 80E0 ldi r24,lo8(0) |
||
214 | 217 01e6 30E0 ldi r19,lo8(0) |
||
215 | 218 01e8 822B or r24,r18 |
||
216 | 219 01ea 932B or r25,r19 |
||
217 | 220 01ec 9370 andi r25,hi8(1023) |
||
218 | 221 01ee 8050 subi r24,lo8(-(-512)) |
||
219 | 222 01f0 9240 sbci r25,hi8(-(-512)) |
||
220 | 223 01f2 63E0 ldi r22,lo8(3) |
||
221 | 224 01f4 70E0 ldi r23,hi8(3) |
||
222 | 225 01f6 0E94 0000 call __divmodhi4 |
||
223 | 226 01fa DB01 movw r26,r22 |
||
224 | 227 01fc EF01 movw r28,r30 |
||
225 | 228 01fe CC0F lsl r28 |
||
226 | 229 0200 DD1F rol r29 |
||
227 | 230 0202 FE01 movw r30,r28 |
||
228 | 231 0204 E050 subi r30,lo8(-(PPM_in)) |
||
229 | 232 0206 F040 sbci r31,hi8(-(PPM_in)) |
||
230 | 233 0208 8081 ld r24,Z |
||
231 | 234 020a 9181 ldd r25,Z+1 |
||
232 | 235 020c 9B01 movw r18,r22 |
||
233 | 236 020e 281B sub r18,r24 |
||
234 | 237 0210 390B sbc r19,r25 |
||
235 | 238 0212 C901 movw r24,r18 |
||
236 | 239 0214 37FD sbrc r19,7 |
||
237 | 240 0216 00C0 rjmp .L36 |
||
238 | 241 .L20: |
||
239 | 242 0218 0697 sbiw r24,6 |
||
240 | 243 021a 04F4 brge .L19 |
||
241 | 244 021c 8091 0000 lds r24,SenderOkay |
||
242 | 245 0220 883C cpi r24,lo8(-56) |
||
243 | 246 0222 00F0 brlo .+2 |
||
244 | 247 0224 00C0 rjmp .L21 |
||
245 | 248 0226 8091 0000 lds r24,SenderOkay |
||
246 | 249 022a 865F subi r24,lo8(-(10)) |
||
247 | 250 022c 8093 0000 sts SenderOkay,r24 |
||
248 | 251 .L19: |
||
249 | 252 0230 FE01 movw r30,r28 |
||
250 | 253 0232 E050 subi r30,lo8(-(PPM_in)) |
||
251 | 254 0234 F040 sbci r31,hi8(-(PPM_in)) |
||
252 | 255 0236 8081 ld r24,Z |
||
253 | 256 0238 9181 ldd r25,Z+1 |
||
254 | 257 023a 9C01 movw r18,r24 |
||
255 | 258 023c 220F lsl r18 |
||
256 | 259 023e 331F rol r19 |
||
257 | 260 0240 280F add r18,r24 |
||
258 | 261 0242 391F adc r19,r25 |
||
259 | 262 0244 2A0F add r18,r26 |
||
260 | 263 0246 3B1F adc r19,r27 |
||
261 | 264 0248 37FD sbrc r19,7 |
||
262 | 265 024a 00C0 rjmp .L37 |
||
263 | 266 .L22: |
||
264 | 267 024c 3595 asr r19 |
||
265 | 268 024e 2795 ror r18 |
||
266 | 269 0250 3595 asr r19 |
||
267 | 270 0252 2795 ror r18 |
||
268 | 271 0254 CD01 movw r24,r26 |
||
269 | 272 0256 0196 adiw r24,1 |
||
270 | 273 0258 8217 cp r24,r18 |
||
271 | 274 025a 9307 cpc r25,r19 |
||
272 | 275 025c 04F0 brlt .+2 |
||
273 | 276 025e 00C0 rjmp .L23 |
||
274 | 277 0260 2150 subi r18,lo8(-(-1)) |
||
275 | 278 0262 3040 sbci r19,hi8(-(-1)) |
||
276 | 279 .L24: |
||
277 | 280 0264 8091 0000 lds r24,SenderOkay |
||
278 | 281 0268 843B cpi r24,lo8(-76) |
||
279 | 282 026a 00F0 brlo .L25 |
||
280 | 283 026c FE01 movw r30,r28 |
||
281 | 284 026e E050 subi r30,lo8(-(PPM_in)) |
||
282 | 285 0270 F040 sbci r31,hi8(-(PPM_in)) |
||
283 | 286 0272 8081 ld r24,Z |
||
284 | 287 0274 9181 ldd r25,Z+1 |
||
285 | 288 0276 B901 movw r22,r18 |
||
286 | 289 0278 681B sub r22,r24 |
||
287 | 290 027a 790B sbc r23,r25 |
||
288 | 291 027c CB01 movw r24,r22 |
||
289 | 292 027e 63E0 ldi r22,lo8(3) |
||
290 | 293 0280 70E0 ldi r23,hi8(3) |
||
291 | 294 0282 0E94 0000 call __divmodhi4 |
||
292 | 295 0286 CB01 movw r24,r22 |
||
293 | 296 0288 880F lsl r24 |
||
294 | 297 028a 991F rol r25 |
||
295 | 298 028c 860F add r24,r22 |
||
296 | 299 028e 971F adc r25,r23 |
||
297 | 300 0290 FE01 movw r30,r28 |
||
298 | 301 0292 E050 subi r30,lo8(-(PPM_diff)) |
||
299 | 302 0294 F040 sbci r31,hi8(-(PPM_diff)) |
||
300 | 303 0296 9183 std Z+1,r25 |
||
301 | 304 0298 8083 st Z,r24 |
||
302 | 305 .L26: |
||
303 | 306 029a C050 subi r28,lo8(-(PPM_in)) |
||
304 | 307 029c D040 sbci r29,hi8(-(PPM_in)) |
||
305 | 308 029e 3983 std Y+1,r19 |
||
306 | 309 02a0 2883 st Y,r18 |
||
307 | 310 02a2 00C0 rjmp .L14 |
||
308 | 311 .L33: |
||
309 | 312 02a4 452B or r20,r21 |
||
310 | 313 02a6 01F0 breq .+2 |
||
311 | 314 02a8 00C0 rjmp .L18 |
||
312 | 315 02aa 82E0 ldi r24,lo8(2) |
||
313 | 316 02ac 00C0 rjmp .L29 |
||
314 | 317 .L34: |
||
315 | 318 02ae 452B or r20,r21 |
||
316 | 319 02b0 01F0 breq .+2 |
||
317 | 320 02b2 00C0 rjmp .L18 |
||
318 | 321 02b4 83E0 ldi r24,lo8(3) |
||
319 | 322 02b6 8093 0000 sts SpektrumTimer,r24 |
||
320 | 323 02ba 2093 0000 sts ByteHigh.2293,r18 |
||
321 | 324 02be 9091 0000 lds r25,FrameCnt.2292 |
||
322 | 325 02c2 9230 cpi r25,lo8(2) |
||
323 | 326 02c4 01F0 breq .L38 |
||
324 | 327 .L17: |
||
325 | 328 02c6 83E0 ldi r24,lo8(3) |
||
326 | 329 02c8 8093 0000 sts Sync.2291,r24 |
||
327 | 330 02cc 892F mov r24,r25 |
||
328 | 331 02ce 8F5F subi r24,lo8(-(1)) |
||
329 | 332 02d0 8093 0000 sts FrameCnt.2292,r24 |
||
330 | 333 02d4 482F mov r20,r24 |
||
331 | 334 02d6 00C0 rjmp .L14 |
||
332 | 335 .L38: |
||
333 | 336 02d8 1092 0000 sts Frame2.2295,__zero_reg__ |
||
334 | 337 02dc 27FF sbrs r18,7 |
||
335 | 338 02de 00C0 rjmp .L17 |
||
336 | 339 02e0 81E0 ldi r24,lo8(1) |
||
337 | 340 02e2 8093 0000 sts Frame2.2295,r24 |
||
338 | 341 02e6 00C0 rjmp .L17 |
||
339 | 342 .L25: |
||
340 | 343 02e8 FE01 movw r30,r28 |
||
341 | 344 02ea E050 subi r30,lo8(-(PPM_diff)) |
||
342 | 345 02ec F040 sbci r31,hi8(-(PPM_diff)) |
||
343 | 346 02ee 1182 std Z+1,__zero_reg__ |
||
344 | 347 02f0 1082 st Z,__zero_reg__ |
||
345 | 348 02f2 00C0 rjmp .L26 |
||
346 | 349 .L23: |
||
347 | 350 02f4 1197 sbiw r26,1 |
||
348 | 351 02f6 2A17 cp r18,r26 |
||
349 | 352 02f8 3B07 cpc r19,r27 |
||
350 | 353 02fa 04F0 brlt .+2 |
||
351 | 354 02fc 00C0 rjmp .L24 |
||
352 | 355 02fe 2F5F subi r18,lo8(-(1)) |
||
353 | 356 0300 3F4F sbci r19,hi8(-(1)) |
||
354 | 357 0302 00C0 rjmp .L24 |
||
355 | 358 .L21: |
||
356 | 359 0304 88EC ldi r24,lo8(-56) |
||
357 | 360 0306 8093 0000 sts SenderOkay,r24 |
||
358 | 361 030a 8091 6F00 lds r24,111 |
||
359 | 362 030e 8F7D andi r24,lo8(-33) |
||
360 | 363 0310 8093 6F00 sts 111,r24 |
||
361 | 364 0314 00C0 rjmp .L19 |
||
362 | 365 .L37: |
||
363 | 366 0316 2D5F subi r18,lo8(-(3)) |
||
364 | 367 0318 3F4F sbci r19,hi8(-(3)) |
||
365 | 368 031a 00C0 rjmp .L22 |
||
366 | 369 .L36: |
||
367 | 370 031c 9095 com r25 |
||
368 | 371 031e 8195 neg r24 |
||
369 | 372 0320 9F4F sbci r25,lo8(-1) |
||
370 | 373 0322 00C0 rjmp .L20 |
||
371 | 375 .global SpektrumBinding |
||
372 | 377 SpektrumBinding: |
||
373 | 378 0324 CF93 push r28 |
||
374 | 379 0326 DF93 push r29 |
||
375 | 380 /* prologue: function */ |
||
376 | 381 /* frame size = 0 */ |
||
377 | 382 0328 80E1 ldi r24,lo8(10000) |
||
378 | 383 032a 97E2 ldi r25,hi8(10000) |
||
379 | 384 032c 0E94 0000 call SetDelay |
||
380 | 385 0330 EC01 movw r28,r24 |
||
381 | 386 0332 8091 C900 lds r24,201 |
||
382 | 387 0336 8F77 andi r24,lo8(127) |
||
383 | 388 0338 8093 C900 sts 201,r24 |
||
384 | 389 033c 8091 C900 lds r24,201 |
||
385 | 390 0340 8F7E andi r24,lo8(-17) |
||
386 | 391 0342 8093 C900 sts 201,r24 |
||
387 | 392 0346 5A98 cbi 43-32,2 |
||
388 | 393 0348 00D0 rcall . |
||
389 | 394 034a 0F92 push __tmp_reg__ |
||
390 | 395 034c EDB7 in r30,__SP_L__ |
||
391 | 396 034e FEB7 in r31,__SP_H__ |
||
392 | 397 0350 1182 std Z+1,__zero_reg__ |
||
393 | 398 0352 80E0 ldi r24,lo8(__c.2135) |
||
394 | 399 0354 90E0 ldi r25,hi8(__c.2135) |
||
395 | 400 0356 9383 std Z+3,r25 |
||
396 | 401 0358 8283 std Z+2,r24 |
||
397 | 402 035a 0E94 0000 call _printf_P |
||
398 | 403 035e 0F90 pop __tmp_reg__ |
||
399 | 404 0360 0F90 pop __tmp_reg__ |
||
400 | 405 0362 0F90 pop __tmp_reg__ |
||
401 | 406 .L40: |
||
402 | 407 0364 CE01 movw r24,r28 |
||
403 | 408 0366 0E94 0000 call CheckDelay |
||
404 | 409 036a 8823 tst r24 |
||
405 | 410 036c 01F0 breq .+2 |
||
406 | 411 036e 00C0 rjmp .L75 |
||
407 | 412 0370 4A9B sbis 41-32,2 |
||
408 | 413 0372 00C0 rjmp .L40 |
||
409 | 414 0374 8AE5 ldi r24,lo8(90) |
||
410 | 415 0376 90E0 ldi r25,hi8(90) |
||
411 | 416 0378 0E94 0000 call SetDelay |
||
412 | 417 037c EC01 movw r28,r24 |
||
413 | 418 037e 00D0 rcall . |
||
414 | 419 0380 0F92 push __tmp_reg__ |
||
415 | 420 0382 EDB7 in r30,__SP_L__ |
||
416 | 421 0384 FEB7 in r31,__SP_H__ |
||
417 | 422 0386 1182 std Z+1,__zero_reg__ |
||
418 | 423 0388 80E0 ldi r24,lo8(__c.2140) |
||
419 | 424 038a 90E0 ldi r25,hi8(__c.2140) |
||
420 | 425 038c 9383 std Z+3,r25 |
||
421 | 426 038e 8283 std Z+2,r24 |
||
422 | 427 0390 0E94 0000 call _printf_P |
||
423 | 428 0394 529A sbi 42-32,2 |
||
424 | 429 0396 0F90 pop __tmp_reg__ |
||
425 | 430 0398 0F90 pop __tmp_reg__ |
||
426 | 431 039a 0F90 pop __tmp_reg__ |
||
427 | 432 .L41: |
||
428 | 433 039c CE01 movw r24,r28 |
||
429 | 434 039e 0E94 0000 call CheckDelay |
||
430 | 435 03a2 8823 tst r24 |
||
431 | 436 03a4 01F0 breq .L41 |
||
432 | 437 03a6 80E0 ldi r24,lo8(0) |
||
433 | 438 03a8 90E0 ldi r25,hi8(0) |
||
434 | 439 .L44: |
||
435 | 440 03aa 5A9A sbi 43-32,2 |
||
436 | 441 03ac 0196 adiw r24,1 |
||
437 | 442 03ae 8436 cpi r24,100 |
||
438 | 443 03b0 9105 cpc r25,__zero_reg__ |
||
439 | 444 03b2 01F4 brne .L44 |
||
440 | 445 03b4 80E0 ldi r24,lo8(0) |
||
441 | 446 03b6 90E0 ldi r25,hi8(0) |
||
442 | 447 .L45: |
||
443 | 448 03b8 5A98 cbi 43-32,2 |
||
444 | 449 03ba 0196 adiw r24,1 |
||
445 | 450 03bc F1E0 ldi r31,hi8(400) |
||
446 | 451 03be 8039 cpi r24,lo8(400) |
||
447 | 452 03c0 9F07 cpc r25,r31 |
||
448 | 453 03c2 01F4 brne .L45 |
||
449 | 454 03c4 80E0 ldi r24,lo8(0) |
||
450 | 455 03c6 90E0 ldi r25,hi8(0) |
||
451 | 456 .L46: |
||
452 | 457 03c8 5A9A sbi 43-32,2 |
||
453 | 458 03ca 0196 adiw r24,1 |
||
454 | 459 03cc 8A30 cpi r24,10 |
||
455 | 460 03ce 9105 cpc r25,__zero_reg__ |
||
456 | 461 03d0 01F4 brne .L46 |
||
457 | 462 03d2 80E0 ldi r24,lo8(0) |
||
458 | 463 03d4 90E0 ldi r25,hi8(0) |
||
459 | 464 .L47: |
||
460 | 465 03d6 5A98 cbi 43-32,2 |
||
461 | 466 03d8 0196 adiw r24,1 |
||
462 | 467 03da 8A30 cpi r24,10 |
||
463 | 468 03dc 9105 cpc r25,__zero_reg__ |
||
464 | 469 03de 01F4 brne .L47 |
||
465 | 470 03e0 80E0 ldi r24,lo8(0) |
||
466 | 471 03e2 90E0 ldi r25,hi8(0) |
||
467 | 472 .L48: |
||
468 | 473 03e4 5A9A sbi 43-32,2 |
||
469 | 474 03e6 0196 adiw r24,1 |
||
470 | 475 03e8 21E0 ldi r18,hi8(400) |
||
471 | 476 03ea 8039 cpi r24,lo8(400) |
||
472 | 477 03ec 9207 cpc r25,r18 |
||
473 | 478 03ee 01F4 brne .L48 |
||
474 | 479 03f0 80E0 ldi r24,lo8(0) |
||
475 | 480 03f2 90E0 ldi r25,hi8(0) |
||
476 | 481 .L49: |
||
477 | 482 03f4 5A98 cbi 43-32,2 |
||
478 | 483 03f6 0196 adiw r24,1 |
||
479 | 484 03f8 E1E0 ldi r30,hi8(400) |
||
480 | 485 03fa 8039 cpi r24,lo8(400) |
||
481 | 486 03fc 9E07 cpc r25,r30 |
||
482 | 487 03fe 01F4 brne .L49 |
||
483 | 488 0400 80E0 ldi r24,lo8(0) |
||
484 | 489 0402 90E0 ldi r25,hi8(0) |
||
485 | 490 .L50: |
||
486 | 491 0404 5A9A sbi 43-32,2 |
||
487 | 492 0406 0196 adiw r24,1 |
||
488 | 493 0408 8A30 cpi r24,10 |
||
489 | 494 040a 9105 cpc r25,__zero_reg__ |
||
490 | 495 040c 01F4 brne .L50 |
||
491 | 496 040e 80E0 ldi r24,lo8(0) |
||
492 | 497 0410 90E0 ldi r25,hi8(0) |
||
493 | 498 .L51: |
||
494 | 499 0412 5A98 cbi 43-32,2 |
||
495 | 500 0414 0196 adiw r24,1 |
||
496 | 501 0416 8A30 cpi r24,10 |
||
497 | 502 0418 9105 cpc r25,__zero_reg__ |
||
498 | 503 041a 01F4 brne .L51 |
||
499 | 504 041c 80E0 ldi r24,lo8(0) |
||
500 | 505 041e 90E0 ldi r25,hi8(0) |
||
501 | 506 .L52: |
||
502 | 507 0420 5A9A sbi 43-32,2 |
||
503 | 508 0422 0196 adiw r24,1 |
||
504 | 509 0424 F1E0 ldi r31,hi8(400) |
||
505 | 510 0426 8039 cpi r24,lo8(400) |
||
506 | 511 0428 9F07 cpc r25,r31 |
||
507 | 512 042a 01F4 brne .L52 |
||
508 | 513 042c 80E0 ldi r24,lo8(0) |
||
509 | 514 042e 90E0 ldi r25,hi8(0) |
||
510 | 515 .L53: |
||
511 | 516 0430 5A98 cbi 43-32,2 |
||
512 | 517 0432 0196 adiw r24,1 |
||
513 | 518 0434 21E0 ldi r18,hi8(400) |
||
514 | 519 0436 8039 cpi r24,lo8(400) |
||
515 | 520 0438 9207 cpc r25,r18 |
||
516 | 521 043a 01F4 brne .L53 |
||
517 | 522 043c 80E0 ldi r24,lo8(0) |
||
518 | 523 043e 90E0 ldi r25,hi8(0) |
||
519 | 524 .L54: |
||
520 | 525 0440 5A9A sbi 43-32,2 |
||
521 | 526 0442 0196 adiw r24,1 |
||
522 | 527 0444 8A30 cpi r24,10 |
||
523 | 528 0446 9105 cpc r25,__zero_reg__ |
||
524 | 529 0448 01F4 brne .L54 |
||
525 | 530 044a 80E0 ldi r24,lo8(0) |
||
526 | 531 044c 90E0 ldi r25,hi8(0) |
||
527 | 532 .L55: |
||
528 | 533 044e 5A98 cbi 43-32,2 |
||
529 | 534 0450 0196 adiw r24,1 |
||
530 | 535 0452 8A30 cpi r24,10 |
||
531 | 536 0454 9105 cpc r25,__zero_reg__ |
||
532 | 537 0456 01F4 brne .L55 |
||
533 | 538 0458 80E0 ldi r24,lo8(0) |
||
534 | 539 045a 90E0 ldi r25,hi8(0) |
||
535 | 540 .L56: |
||
536 | 541 045c 5A9A sbi 43-32,2 |
||
537 | 542 045e 0196 adiw r24,1 |
||
538 | 543 0460 E1E0 ldi r30,hi8(400) |
||
539 | 544 0462 8039 cpi r24,lo8(400) |
||
540 | 545 0464 9E07 cpc r25,r30 |
||
541 | 546 0466 01F4 brne .L56 |
||
542 | 547 0468 5298 cbi 42-32,2 |
||
543 | 548 046a 5A98 cbi 43-32,2 |
||
544 | 549 046c 0E94 0000 call Uart1Init |
||
545 | 550 /* epilogue start */ |
||
546 | 551 0470 DF91 pop r29 |
||
547 | 552 0472 CF91 pop r28 |
||
548 | 553 0474 0895 ret |
||
549 | 554 .L75: |
||
550 | 555 0476 00D0 rcall . |
||
551 | 556 0478 0F92 push __tmp_reg__ |
||
552 | 557 047a EDB7 in r30,__SP_L__ |
||
553 | 558 047c FEB7 in r31,__SP_H__ |
||
554 | 559 047e 1182 std Z+1,__zero_reg__ |
||
555 | 560 0480 80E0 ldi r24,lo8(__c.2184) |
||
556 | 561 0482 90E0 ldi r25,hi8(__c.2184) |
||
557 | 562 0484 9383 std Z+3,r25 |
||
558 | 563 0486 8283 std Z+2,r24 |
||
559 | 564 0488 0E94 0000 call _printf_P |
||
560 | 565 048c 0F90 pop __tmp_reg__ |
||
561 | 566 048e 0F90 pop __tmp_reg__ |
||
562 | 567 0490 0F90 pop __tmp_reg__ |
||
563 | 568 0492 5298 cbi 42-32,2 |
||
564 | 569 0494 5A98 cbi 43-32,2 |
||
565 | 570 0496 0E94 0000 call Uart1Init |
||
566 | 571 049a DF91 pop r29 |
||
567 | 572 049c CF91 pop r28 |
||
568 | 573 049e 0895 ret |
||
569 | 575 .global SpektrumTimer |
||
570 | 576 .global SpektrumTimer |
||
571 | 577 .section .bss |
||
572 | 580 SpektrumTimer: |
||
573 | 581 0000 00 .skip 1,0 |
||
574 | 582 .lcomm Frame2.2295,1 |
||
575 | 583 .data |
||
576 | 586 ReSync.2294: |
||
577 | 587 0000 01 .byte 1 |
||
578 | 588 .lcomm ByteHigh.2293,1 |
||
579 | 589 .lcomm FrameCnt.2292,1 |
||
580 | 590 .lcomm Sync.2291,1 |
||
581 | 591 .section .progmem.data,"a",@progbits |
||
582 | 594 __c.2184: |
||
583 | 595 0000 5469 6D65 .string "Timeout.\n\r" |
||
584 | 595 6F75 742E |
||
585 | 595 0A0D 00 |
||
586 | 598 __c.2140: |
||
587 | 599 000b 6F6B 2E0A .string "ok.\n\r" |
||
588 | 599 0D00 |
||
589 | 602 __c.2135: |
||
590 | 603 0011 0A0D 506C .string "\n\rPlease connect Spektrum receiver for binding NOW..." |
||
591 | 603 6561 7365 |
||
592 | 603 2063 6F6E |
||
593 | 603 6E65 6374 |
||
594 | 603 2053 7065 |
||
595 | 604 .comm Mixer,77,1 |
||
596 | 605 .global __do_copy_data |
||
597 | 606 .global __do_clear_bss |
||
598 | DEFINED SYMBOLS |
||
599 | *ABS*:00000000 Spectrum.c |
||
600 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:2 *ABS*:0000003f __SREG__ |
||
601 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:3 *ABS*:0000003e __SP_H__ |
||
602 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:4 *ABS*:0000003d __SP_L__ |
||
603 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:5 *ABS*:00000034 __CCP__ |
||
604 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:6 *ABS*:00000000 __tmp_reg__ |
||
605 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:7 *ABS*:00000001 __zero_reg__ |
||
606 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:11 .text:00000000 Uart1Init |
||
607 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:74 .text:000000ac __vector_28 |
||
608 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:586 .data:00000000 ReSync.2294 |
||
609 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:580 .bss:00000000 SpektrumTimer |
||
610 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:589 .bss:00000004 Sync.2291 |
||
611 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:588 .bss:00000003 FrameCnt.2292 |
||
612 | .bss:00000001 Frame2.2295 |
||
613 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:582 .bss:00000002 ByteHigh.2293 |
||
614 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:377 .text:00000324 SpektrumBinding |
||
615 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:602 .progmem.data:00000011 __c.2135 |
||
616 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:598 .progmem.data:0000000b __c.2140 |
||
617 | C:\Users\Arthur\AppData\Local\Temp/cc5ocnei.s:594 .progmem.data:00000000 __c.2184 |
||
618 | *COM*:0000004d Mixer |
||
619 | |||
620 | UNDEFINED SYMBOLS |
||
621 | NewPpmData |
||
622 | __divmodhi4 |
||
623 | PPM_in |
||
624 | SenderOkay |
||
625 | PPM_diff |
||
626 | SetDelay |
||
627 | _printf_P |
||
628 | CheckDelay |
||
629 | __do_copy_data |
||
630 | __do_clear_bss |