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