Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

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