Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
93 | salvo | 1 | 1 .file "rc.c" |
2 | 2 .arch atmega644 |
||
3 | 3 __SREG__ = 0x3f |
||
4 | 4 __SP_H__ = 0x3e |
||
5 | 5 __SP_L__ = 0x3d |
||
6 | 6 __tmp_reg__ = 0 |
||
7 | 7 __zero_reg__ = 1 |
||
8 | 8 .global __do_copy_data |
||
9 | 9 .global __do_clear_bss |
||
10 | 10 .text |
||
11 | 11 .global rc_sum_init |
||
12 | 13 rc_sum_init: |
||
13 | 14 /* prologue: frame size=0 */ |
||
14 | 15 /* prologue end (size=0) */ |
||
15 | 16 0000 83EC ldi r24,lo8(-61) |
||
16 | 17 0002 8093 8100 sts 129,r24 |
||
17 | 18 0006 EFE6 ldi r30,lo8(111) |
||
18 | 19 0008 F0E0 ldi r31,hi8(111) |
||
19 | 20 000a 8081 ld r24,Z |
||
20 | 21 000c 8062 ori r24,lo8(32) |
||
21 | 22 000e 8083 st Z,r24 |
||
22 | 23 0010 1092 0000 sts (AdNeutralGier)+1,__zero_reg__ |
||
23 | 24 0014 1092 0000 sts AdNeutralGier,__zero_reg__ |
||
24 | 25 0018 1092 0000 sts (AdNeutralRoll)+1,__zero_reg__ |
||
25 | 26 001c 1092 0000 sts AdNeutralRoll,__zero_reg__ |
||
26 | 27 0020 1092 0000 sts (AdNeutralNick)+1,__zero_reg__ |
||
27 | 28 0024 1092 0000 sts AdNeutralNick,__zero_reg__ |
||
28 | 29 /* epilogue: frame size=0 */ |
||
29 | 30 0028 0895 ret |
||
30 | 31 /* epilogue end (size=1) */ |
||
31 | 32 /* function rc_sum_init size 21 (20) */ |
||
32 | 34 .global __vector_12 |
||
33 | 36 __vector_12: |
||
34 | 37 /* prologue: frame size=0 */ |
||
35 | 38 002a 1F92 push __zero_reg__ |
||
36 | 39 002c 0F92 push __tmp_reg__ |
||
37 | 40 002e 0FB6 in __tmp_reg__,__SREG__ |
||
38 | 41 0030 0F92 push __tmp_reg__ |
||
39 | 42 0032 1124 clr __zero_reg__ |
||
40 | 43 0034 0F93 push r16 |
||
41 | 44 0036 1F93 push r17 |
||
42 | 45 0038 2F93 push r18 |
||
43 | 46 003a 3F93 push r19 |
||
44 | 47 003c 4F93 push r20 |
||
45 | 48 003e 5F93 push r21 |
||
46 | 49 0040 6F93 push r22 |
||
47 | 50 0042 7F93 push r23 |
||
48 | 51 0044 8F93 push r24 |
||
49 | 52 0046 9F93 push r25 |
||
50 | 53 0048 AF93 push r26 |
||
51 | 54 004a BF93 push r27 |
||
52 | 55 004c CF93 push r28 |
||
53 | 56 004e DF93 push r29 |
||
54 | 57 0050 EF93 push r30 |
||
55 | 58 0052 FF93 push r31 |
||
56 | 59 /* prologue end (size=21) */ |
||
57 | 60 0054 2091 8600 lds r18,134 |
||
58 | 61 0058 3091 8700 lds r19,(134)+1 |
||
59 | 62 005c 8091 0000 lds r24,AltICR.1945 |
||
60 | 63 0060 9091 0000 lds r25,(AltICR.1945)+1 |
||
61 | 64 0064 281B sub r18,r24 |
||
62 | 65 0066 390B sbc r19,r25 |
||
63 | 66 0068 8091 8600 lds r24,134 |
||
64 | 67 006c 9091 8700 lds r25,(134)+1 |
||
65 | 68 0070 9093 0000 sts (AltICR.1945)+1,r25 |
||
66 | 69 0074 8093 0000 sts AltICR.1945,r24 |
||
67 | 70 0078 C901 movw r24,r18 |
||
68 | 71 007a 8D5D subi r24,lo8(-(-1501)) |
||
69 | 72 007c 9540 sbci r25,hi8(-(-1501)) |
||
70 | 73 007e 8356 subi r24,lo8(6499) |
||
71 | 74 0080 9941 sbci r25,hi8(6499) |
||
72 | 75 0082 00F4 brsh .L4 |
||
73 | 76 0084 81E0 ldi r24,lo8(1) |
||
74 | 77 0086 90E0 ldi r25,hi8(1) |
||
75 | 78 0088 9093 0000 sts (index.1947)+1,r25 |
||
76 | 79 008c 8093 0000 sts index.1947,r24 |
||
77 | 80 0090 1092 0000 sts NewPpmData,__zero_reg__ |
||
78 | 81 0094 00C0 rjmp .L18 |
||
79 | 82 .L4: |
||
80 | 83 0096 C091 0000 lds r28,index.1947 |
||
81 | 84 009a D091 0000 lds r29,(index.1947)+1 |
||
82 | 85 009e CA30 cpi r28,10 |
||
83 | 86 00a0 D105 cpc r29,__zero_reg__ |
||
84 | 87 00a2 04F0 brlt .+2 |
||
85 | 88 00a4 00C0 rjmp .L18 |
||
86 | 89 00a6 C901 movw r24,r18 |
||
87 | 90 00a8 8B5F subi r24,lo8(-(-251)) |
||
88 | 91 00aa 9040 sbci r25,hi8(-(-251)) |
||
89 | 92 00ac 845B subi r24,lo8(436) |
||
90 | 93 00ae 9140 sbci r25,hi8(436) |
||
91 | 94 00b0 00F0 brlo .+2 |
||
92 | 95 00b2 00C0 rjmp .L8 |
||
93 | 96 00b4 A901 movw r20,r18 |
||
94 | 97 00b6 425D subi r20,lo8(-(-466)) |
||
95 | 98 00b8 5140 sbci r21,hi8(-(-466)) |
||
96 | 99 00ba FE01 movw r30,r28 |
||
97 | 100 00bc EE0F lsl r30 |
||
98 | 101 00be FF1F rol r31 |
||
99 | 102 00c0 E050 subi r30,lo8(-(PPM_in)) |
||
100 | 103 00c2 F040 sbci r31,hi8(-(PPM_in)) |
||
101 | 104 00c4 8081 ld r24,Z |
||
102 | 105 00c6 9181 ldd r25,Z+1 |
||
103 | 106 00c8 FA01 movw r30,r20 |
||
104 | 107 00ca E81B sub r30,r24 |
||
105 | 108 00cc F90B sbc r31,r25 |
||
106 | 109 00ce CF01 movw r24,r30 |
||
107 | 110 00d0 F7FF sbrs r31,7 |
||
108 | 111 00d2 00C0 rjmp .L11 |
||
109 | 112 00d4 9095 com r25 |
||
110 | 113 00d6 8195 neg r24 |
||
111 | 114 00d8 9F4F sbci r25,lo8(-1) |
||
112 | 115 .L11: |
||
113 | 116 00da 0697 sbiw r24,6 |
||
114 | 117 00dc 04F4 brge .L10 |
||
115 | 118 00de 8091 0000 lds r24,SenderOkay |
||
116 | 119 00e2 883C cpi r24,lo8(-56) |
||
117 | 120 00e4 00F4 brsh .L10 |
||
118 | 121 00e6 8091 0000 lds r24,SenderOkay |
||
119 | 122 00ea 865F subi r24,lo8(-(10)) |
||
120 | 123 00ec 8093 0000 sts SenderOkay,r24 |
||
121 | 124 .L10: |
||
122 | 125 00f0 FE01 movw r30,r28 |
||
123 | 126 00f2 EE0F lsl r30 |
||
124 | 127 00f4 FF1F rol r31 |
||
125 | 128 00f6 8F01 movw r16,r30 |
||
126 | 129 00f8 0050 subi r16,lo8(-(PPM_in)) |
||
127 | 130 00fa 1040 sbci r17,hi8(-(PPM_in)) |
||
128 | 131 00fc D801 movw r26,r16 |
||
129 | 132 00fe 2D91 ld r18,X+ |
||
130 | 133 0100 3C91 ld r19,X |
||
131 | 134 0102 C901 movw r24,r18 |
||
132 | 135 0104 880F lsl r24 |
||
133 | 136 0106 991F rol r25 |
||
134 | 137 0108 820F add r24,r18 |
||
135 | 138 010a 931F adc r25,r19 |
||
136 | 139 010c 840F add r24,r20 |
||
137 | 140 010e 951F adc r25,r21 |
||
138 | 141 0110 64E0 ldi r22,lo8(4) |
||
139 | 142 0112 70E0 ldi r23,hi8(4) |
||
140 | 143 0114 0E94 0000 call __divmodhi4 |
||
141 | 144 0118 D801 movw r26,r16 |
||
142 | 145 011a 8D91 ld r24,X+ |
||
143 | 146 011c 9C91 ld r25,X |
||
144 | 147 011e 1197 sbiw r26,1 |
||
145 | 148 0120 9B01 movw r18,r22 |
||
146 | 149 0122 281B sub r18,r24 |
||
147 | 150 0124 390B sbc r19,r25 |
||
148 | 151 0126 E050 subi r30,lo8(-(PPM_diff)) |
||
149 | 152 0128 F040 sbci r31,hi8(-(PPM_diff)) |
||
150 | 153 012a 3183 std Z+1,r19 |
||
151 | 154 012c 2083 st Z,r18 |
||
152 | 155 012e 1196 adiw r26,1 |
||
153 | 156 0130 7C93 st X,r23 |
||
154 | 157 0132 6E93 st -X,r22 |
||
155 | 158 .L8: |
||
156 | 159 0134 FE01 movw r30,r28 |
||
157 | 160 0136 3196 adiw r30,1 |
||
158 | 161 0138 F093 0000 sts (index.1947)+1,r31 |
||
159 | 162 013c E093 0000 sts index.1947,r30 |
||
160 | 163 0140 E630 cpi r30,6 |
||
161 | 164 0142 F105 cpc r31,__zero_reg__ |
||
162 | 165 0144 01F4 brne .L14 |
||
163 | 166 0146 5C9A sbi 43-0x20,4 |
||
164 | 167 0148 00C0 rjmp .L16 |
||
165 | 168 .L14: |
||
166 | 169 014a 5C98 cbi 43-0x20,4 |
||
167 | 170 014c 3797 sbiw r30,7 |
||
168 | 171 014e 01F4 brne .L16 |
||
169 | 172 0150 5B9A sbi 43-0x20,3 |
||
170 | 173 0152 00C0 rjmp .L18 |
||
171 | 174 .L16: |
||
172 | 175 0154 5B98 cbi 43-0x20,3 |
||
173 | 176 .L18: |
||
174 | 177 /* epilogue: frame size=0 */ |
||
175 | 178 0156 FF91 pop r31 |
||
176 | 179 0158 EF91 pop r30 |
||
177 | 180 015a DF91 pop r29 |
||
178 | 181 015c CF91 pop r28 |
||
179 | 182 015e BF91 pop r27 |
||
180 | 183 0160 AF91 pop r26 |
||
181 | 184 0162 9F91 pop r25 |
||
182 | 185 0164 8F91 pop r24 |
||
183 | 186 0166 7F91 pop r23 |
||
184 | 187 0168 6F91 pop r22 |
||
185 | 188 016a 5F91 pop r21 |
||
186 | 189 016c 4F91 pop r20 |
||
187 | 190 016e 3F91 pop r19 |
||
188 | 191 0170 2F91 pop r18 |
||
189 | 192 0172 1F91 pop r17 |
||
190 | 193 0174 0F91 pop r16 |
||
191 | 194 0176 0F90 pop __tmp_reg__ |
||
192 | 195 0178 0FBE out __SREG__,__tmp_reg__ |
||
193 | 196 017a 0F90 pop __tmp_reg__ |
||
194 | 197 017c 1F90 pop __zero_reg__ |
||
195 | 198 017e 1895 reti |
||
196 | 199 /* epilogue end (size=21) */ |
||
197 | 200 /* function __vector_12 size 175 (133) */ |
||
198 | 202 .global NewPpmData |
||
199 | 203 .data |
||
200 | 206 NewPpmData: |
||
201 | 207 0000 01 .byte 1 |
||
202 | 208 .lcomm index.1947,2 |
||
203 | 209 .lcomm AltICR.1945,2 |
||
204 | 210 .comm PPM_in,22,1 |
||
205 | 211 .comm PPM_diff,22,1 |
||
206 | 212 .comm DiffNick,2,1 |
||
207 | 213 .comm DiffRoll,2,1 |
||
208 | 214 .comm SenderOkay,1,1 |
||
209 | 215 .comm CosinusNickWinkel,1,1 |
||
210 | 216 .comm CosinusRollWinkel,1,1 |
||
211 | 217 .comm RemoteTasten,1,1 |
||
212 | 218 .comm Timeout,1,1 |
||
213 | 219 .comm IntegralNick,4,1 |
||
214 | 220 .comm IntegralNick2,4,1 |
||
215 | 221 .comm IntegralRoll,4,1 |
||
216 | 222 .comm IntegralRoll2,4,1 |
||
217 | 223 .comm Mess_IntegralNick,4,1 |
||
218 | 224 .comm Mess_IntegralNick2,4,1 |
||
219 | 225 .comm Mess_IntegralRoll,4,1 |
||
220 | 226 .comm Mess_IntegralRoll2,4,1 |
||
221 | 227 .comm Integral_Gier,4,1 |
||
222 | 228 .comm Mess_Integral_Gier,4,1 |
||
223 | 229 .comm h,1,1 |
||
224 | 230 .comm m,1,1 |
||
225 | 231 .comm s,1,1 |
||
226 | 232 .comm Motor_Vorne,1,1 |
||
227 | 233 .comm Motor_Hinten,1,1 |
||
228 | 234 .comm Motor_Rechts,1,1 |
||
229 | 235 .comm Motor_Links,1,1 |
||
230 | 236 .comm Count,1,1 |
||
231 | 237 .comm MotorWert,5,1 |
||
232 | 238 .comm StickNick,2,1 |
||
233 | 239 .comm StickRoll,2,1 |
||
234 | 240 .comm StickGier,2,1 |
||
235 | 241 .comm MotorenEin,1,1 |
||
236 | 242 /* File "rc.c": code 196 = 0x00c4 ( 153), prologues 21, epilogues 22 */ |
||
237 | DEFINED SYMBOLS |
||
238 | *ABS*:00000000 rc.c |
||
239 | C:\DOKUME~1\peter\LOKALE~1\Temp/cc06sVjW.s:3 *ABS*:0000003f __SREG__ |
||
240 | C:\DOKUME~1\peter\LOKALE~1\Temp/cc06sVjW.s:4 *ABS*:0000003e __SP_H__ |
||
241 | C:\DOKUME~1\peter\LOKALE~1\Temp/cc06sVjW.s:5 *ABS*:0000003d __SP_L__ |
||
242 | C:\DOKUME~1\peter\LOKALE~1\Temp/cc06sVjW.s:6 *ABS*:00000000 __tmp_reg__ |
||
243 | C:\DOKUME~1\peter\LOKALE~1\Temp/cc06sVjW.s:7 *ABS*:00000001 __zero_reg__ |
||
244 | C:\DOKUME~1\peter\LOKALE~1\Temp/cc06sVjW.s:13 .text:00000000 rc_sum_init |
||
245 | C:\DOKUME~1\peter\LOKALE~1\Temp/cc06sVjW.s:36 .text:0000002a __vector_12 |
||
246 | C:\DOKUME~1\peter\LOKALE~1\Temp/cc06sVjW.s:208 .bss:00000002 AltICR.1945 |
||
247 | .bss:00000000 index.1947 |
||
248 | C:\DOKUME~1\peter\LOKALE~1\Temp/cc06sVjW.s:206 .data:00000000 NewPpmData |
||
249 | *COM*:00000016 PPM_in |
||
250 | *COM*:00000001 SenderOkay |
||
251 | *COM*:00000016 PPM_diff |
||
252 | *COM*:00000002 DiffNick |
||
253 | *COM*:00000002 DiffRoll |
||
254 | *COM*:00000001 CosinusNickWinkel |
||
255 | *COM*:00000001 CosinusRollWinkel |
||
256 | *COM*:00000001 RemoteTasten |
||
257 | *COM*:00000001 Timeout |
||
258 | *COM*:00000004 IntegralNick |
||
259 | *COM*:00000004 IntegralNick2 |
||
260 | *COM*:00000004 IntegralRoll |
||
261 | *COM*:00000004 IntegralRoll2 |
||
262 | *COM*:00000004 Mess_IntegralNick |
||
263 | *COM*:00000004 Mess_IntegralNick2 |
||
264 | *COM*:00000004 Mess_IntegralRoll |
||
265 | *COM*:00000004 Mess_IntegralRoll2 |
||
266 | *COM*:00000004 Integral_Gier |
||
267 | *COM*:00000004 Mess_Integral_Gier |
||
268 | *COM*:00000001 h |
||
269 | *COM*:00000001 m |
||
270 | *COM*:00000001 s |
||
271 | *COM*:00000001 Motor_Vorne |
||
272 | *COM*:00000001 Motor_Hinten |
||
273 | *COM*:00000001 Motor_Rechts |
||
274 | *COM*:00000001 Motor_Links |
||
275 | *COM*:00000001 Count |
||
276 | *COM*:00000005 MotorWert |
||
277 | *COM*:00000002 StickNick |
||
278 | *COM*:00000002 StickRoll |
||
279 | *COM*:00000002 StickGier |
||
280 | *COM*:00000001 MotorenEin |
||
281 | |||
282 | UNDEFINED SYMBOLS |
||
283 | __do_copy_data |
||
284 | __do_clear_bss |
||
285 | AdNeutralGier |
||
286 | AdNeutralRoll |
||
287 | AdNeutralNick |
||
288 | __divmodhi4 |