Subversion Repositories FlightCtrl

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
653 Nick666 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.2025
60
  63 0060 9091 0000 		lds r25,(AltICR.2025)+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.2025)+1,r25
66
  69 0074 8093 0000 		sts AltICR.2025,r24
67
  70 0078 C901      		movw r24,r18
68
  71 007a 8D54      		subi r24,lo8(-(-1101))
69
  72 007c 9440      		sbci r25,hi8(-(-1101))
70
  73 007e 0091 0000 		lds r16,index.2028
71
  74 0082 1091 0000 		lds r17,(index.2028)+1
72
  75 0086 835F      		subi r24,lo8(6899)
73
  76 0088 9A41      		sbci r25,hi8(6899)
74
  77 008a 00F4      		brsh .L4
75
  78 008c 0430      		cpi r16,4
76
  79 008e 1105      		cpc r17,__zero_reg__
77
  80 0090 04F0      		brlt .L6
78
  81 0092 1092 0000 		sts NewPpmData,__zero_reg__
79
  82               	.L6:
80
  83 0096 81E0      		ldi r24,lo8(1)
81
  84 0098 90E0      		ldi r25,hi8(1)
82
  85 009a 9093 0000 		sts (index.2028)+1,r25
83
  86 009e 8093 0000 		sts index.2028,r24
84
  87 00a2 00C0      		rjmp .L29
85
  88               	.L4:
86
  89 00a4 0A30      		cpi r16,10
87
  90 00a6 1105      		cpc r17,__zero_reg__
88
  91 00a8 04F0      		brlt .+2
89
  92 00aa 00C0      		rjmp .L29
90
  93 00ac C901      		movw r24,r18
91
  94 00ae 8B5F      		subi r24,lo8(-(-251))
92
  95 00b0 9040      		sbci r25,hi8(-(-251))
93
  96 00b2 845B      		subi r24,lo8(436)
94
  97 00b4 9140      		sbci r25,hi8(436)
95
  98 00b6 00F0      		brlo .+2
96
  99 00b8 00C0      		rjmp .L10
97
 100 00ba E901      		movw r28,r18
98
 101 00bc C25D      		subi r28,lo8(-(-466))
99
 102 00be D140      		sbci r29,hi8(-(-466))
100
 103 00c0 F801      		movw r30,r16
101
 104 00c2 EE0F      		lsl r30
102
 105 00c4 FF1F      		rol r31
103
 106 00c6 E050      		subi r30,lo8(-(PPM_in))
104
 107 00c8 F040      		sbci r31,hi8(-(PPM_in))
105
 108 00ca 8081      		ld r24,Z
106
 109 00cc 9181      		ldd r25,Z+1
107
 110 00ce 9E01      		movw r18,r28
108
 111 00d0 281B      		sub r18,r24
109
 112 00d2 390B      		sbc r19,r25
110
 113 00d4 C901      		movw r24,r18
111
 114 00d6 37FF      		sbrs r19,7
112
 115 00d8 00C0      		rjmp .L13
113
 116 00da 9095      		com r25
114
 117 00dc 8195      		neg r24
115
 118 00de 9F4F      		sbci r25,lo8(-1)
116
 119               	.L13:
117
 120 00e0 0697      		sbiw r24,6
118
 121 00e2 04F4      		brge .L12
119
 122 00e4 8091 0000 		lds r24,SenderOkay
120
 123 00e8 883C      		cpi r24,lo8(-56)
121
 124 00ea 00F4      		brsh .L12
122
 125 00ec 8091 0000 		lds r24,SenderOkay
123
 126 00f0 865F      		subi r24,lo8(-(10))
124
 127 00f2 8093 0000 		sts SenderOkay,r24
125
 128               	.L12:
126
 129 00f6 F801      		movw r30,r16
127
 130 00f8 EE0F      		lsl r30
128
 131 00fa FF1F      		rol r31
129
 132 00fc E050      		subi r30,lo8(-(PPM_in))
130
 133 00fe F040      		sbci r31,hi8(-(PPM_in))
131
 134 0100 2081      		ld r18,Z
132
 135 0102 3181      		ldd r19,Z+1
133
 136 0104 C901      		movw r24,r18
134
 137 0106 880F      		lsl r24
135
 138 0108 991F      		rol r25
136
 139 010a 820F      		add r24,r18
137
 140 010c 931F      		adc r25,r19
138
 141 010e 8C0F      		add r24,r28
139
 142 0110 9D1F      		adc r25,r29
140
 143 0112 64E0      		ldi r22,lo8(4)
141
 144 0114 70E0      		ldi r23,hi8(4)
142
 145 0116 0E94 0000 		call __divmodhi4
143
 146 011a 9B01      		movw r18,r22
144
 147 011c CE01      		movw r24,r28
145
 148 011e 0196      		adiw r24,1
146
 149 0120 8617      		cp r24,r22
147
 150 0122 9707      		cpc r25,r23
148
 151 0124 04F4      		brge .L16
149
 152 0126 2150      		subi r18,lo8(-(-1))
150
 153 0128 3040      		sbci r19,hi8(-(-1))
151
 154 012a 00C0      		rjmp .L18
152
 155               	.L16:
153
 156 012c 2197      		sbiw r28,1
154
 157 012e 6C17      		cp r22,r28
155
 158 0130 7D07      		cpc r23,r29
156
 159 0132 04F4      		brge .L18
157
 160 0134 2F5F      		subi r18,lo8(-(1))
158
 161 0136 3F4F      		sbci r19,hi8(-(1))
159
 162               	.L18:
160
 163 0138 8091 0000 		lds r24,SenderOkay
161
 164 013c E801      		movw r28,r16
162
 165 013e CC0F      		lsl r28
163
 166 0140 DD1F      		rol r29
164
 167 0142 833C      		cpi r24,lo8(-61)
165
 168 0144 00F0      		brlo .L20
166
 169 0146 FE01      		movw r30,r28
167
 170 0148 E050      		subi r30,lo8(-(PPM_in))
168
 171 014a F040      		sbci r31,hi8(-(PPM_in))
169
 172 014c 8081      		ld r24,Z
170
 173 014e 9181      		ldd r25,Z+1
171
 174 0150 A901      		movw r20,r18
172
 175 0152 481B      		sub r20,r24
173
 176 0154 590B      		sbc r21,r25
174
 177 0156 CA01      		movw r24,r20
175
 178 0158 63E0      		ldi r22,lo8(3)
176
 179 015a 70E0      		ldi r23,hi8(3)
177
 180 015c 0E94 0000 		call __divmodhi4
178
 181 0160 CB01      		movw r24,r22
179
 182 0162 880F      		lsl r24
180
 183 0164 991F      		rol r25
181
 184 0166 860F      		add r24,r22
182
 185 0168 971F      		adc r25,r23
183
 186 016a C050      		subi r28,lo8(-(PPM_diff))
184
 187 016c D040      		sbci r29,hi8(-(PPM_diff))
185
 188 016e 9983      		std Y+1,r25
186
 189 0170 8883      		st Y,r24
187
 190 0172 00C0      		rjmp .L22
188
 191               	.L20:
189
 192 0174 C050      		subi r28,lo8(-(PPM_diff))
190
 193 0176 D040      		sbci r29,hi8(-(PPM_diff))
191
 194 0178 1982      		std Y+1,__zero_reg__
192
 195 017a 1882      		st Y,__zero_reg__
193
 196               	.L22:
194
 197 017c F801      		movw r30,r16
195
 198 017e EE0F      		lsl r30
196
 199 0180 FF1F      		rol r31
197
 200 0182 E050      		subi r30,lo8(-(PPM_in))
198
 201 0184 F040      		sbci r31,hi8(-(PPM_in))
199
 202 0186 3183      		std Z+1,r19
200
 203 0188 2083      		st Z,r18
201
 204               	.L10:
202
 205 018a F801      		movw r30,r16
203
 206 018c 3196      		adiw r30,1
204
 207 018e F093 0000 		sts (index.2028)+1,r31
205
 208 0192 E093 0000 		sts index.2028,r30
206
 209 0196 E530      		cpi r30,5
207
 210 0198 F105      		cpc r31,__zero_reg__
208
 211 019a 01F4      		brne .L23
209
 212 019c 5D9A      		sbi 43-0x20,5
210
 213 019e 5C98      		cbi 43-0x20,4
211
 214 01a0 00C0      		rjmp .L25
212
 215               	.L23:
213
 216 01a2 5D98      		cbi 43-0x20,5
214
 217 01a4 E630      		cpi r30,6
215
 218 01a6 F105      		cpc r31,__zero_reg__
216
 219 01a8 01F4      		brne .L26
217
 220 01aa 5C9A      		sbi 43-0x20,4
218
 221 01ac 00C0      		rjmp .L25
219
 222               	.L26:
220
 223 01ae 5C98      		cbi 43-0x20,4
221
 224 01b0 3797      		sbiw r30,7
222
 225 01b2 01F4      		brne .L25
223
 226 01b4 5B9A      		sbi 43-0x20,3
224
 227 01b6 00C0      		rjmp .L29
225
 228               	.L25:
226
 229 01b8 5B98      		cbi 43-0x20,3
227
 230               	.L29:
228
 231               	/* epilogue: frame size=0 */
229
 232 01ba FF91      		pop r31
230
 233 01bc EF91      		pop r30
231
 234 01be DF91      		pop r29
232
 235 01c0 CF91      		pop r28
233
 236 01c2 BF91      		pop r27
234
 237 01c4 AF91      		pop r26
235
 238 01c6 9F91      		pop r25
236
 239 01c8 8F91      		pop r24
237
 240 01ca 7F91      		pop r23
238
 241 01cc 6F91      		pop r22
239
 242 01ce 5F91      		pop r21
240
 243 01d0 4F91      		pop r20
241
 244 01d2 3F91      		pop r19
242
 245 01d4 2F91      		pop r18
243
 246 01d6 1F91      		pop r17
244
 247 01d8 0F91      		pop r16
245
 248 01da 0F90      		pop __tmp_reg__
246
 249 01dc 0FBE      		out __SREG__,__tmp_reg__
247
 250 01de 0F90      		pop __tmp_reg__
248
 251 01e0 1F90      		pop __zero_reg__
249
 252 01e2 1895      		reti
250
 253               	/* epilogue end (size=21) */
251
 254               	/* function __vector_12 size 225 (183) */
252
 256               	.global	NewPpmData
253
 257               		.data
254
 260               	NewPpmData:
255
 261 0000 01        		.byte	1
256
 262               		.lcomm index.2028,2
257
 263               		.lcomm AltICR.2025,2
258
 264               		.comm PPM_in,22,1
259
 265               		.comm PPM_diff,22,1
260
 266               	/* File "rc.c": code  246 = 0x00f6 ( 203), prologues  21, epilogues  22 */
261
DEFINED SYMBOLS
262
                            *ABS*:00000000 rc.c
263
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:3      *ABS*:0000003f __SREG__
264
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:4      *ABS*:0000003e __SP_H__
265
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:5      *ABS*:0000003d __SP_L__
266
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:6      *ABS*:00000000 __tmp_reg__
267
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:7      *ABS*:00000001 __zero_reg__
268
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:13     .text:00000000 rc_sum_init
269
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:36     .text:0000002a __vector_12
270
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:262    .bss:00000002 AltICR.2025
271
                             .bss:00000000 index.2028
272
C:\DOKUME~1\PIMMEL~1\LOKALE~1\Temp/ccgwZabc.s:260    .data:00000000 NewPpmData
273
                            *COM*:00000016 PPM_in
274
                            *COM*:00000016 PPM_diff
275
 
276
UNDEFINED SYMBOLS
277
__do_copy_data
278
__do_clear_bss
279
AdNeutralGier
280
AdNeutralRoll
281
AdNeutralNick
282
SenderOkay
283
__divmodhi4