Subversion Repositories Projects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
99 gunterl 1
   1               		.file	"rc.c"
2
   2               		.arch atmega644p
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.2035
60
  63 0060 9091 0000 		lds r25,(AltICR.2035)+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.2035)+1,r25
66
  69 0074 8093 0000 		sts AltICR.2035,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 C091 0000 		lds r28,index.2038
71
  74 0082 D091 0000 		lds r29,(index.2038)+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 2497      		sbiw r28,4
76
  79 008e 04F0      		brlt .L6
77
  80 0090 1092 0000 		sts NewPpmData,__zero_reg__
78
  81               	.L6:
79
  82 0094 81E0      		ldi r24,lo8(1)
80
  83 0096 90E0      		ldi r25,hi8(1)
81
  84 0098 9093 0000 		sts (index.2038)+1,r25
82
  85 009c 8093 0000 		sts index.2038,r24
83
  86 00a0 00C0      		rjmp .L22
84
  87               	.L4:
85
  88 00a2 CA30      		cpi r28,10
86
  89 00a4 D105      		cpc r29,__zero_reg__
87
  90 00a6 04F0      		brlt .+2
88
  91 00a8 00C0      		rjmp .L22
89
  92 00aa C901      		movw r24,r18
90
  93 00ac 8B5F      		subi r24,lo8(-(-251))
91
  94 00ae 9040      		sbci r25,hi8(-(-251))
92
  95 00b0 845B      		subi r24,lo8(436)
93
  96 00b2 9140      		sbci r25,hi8(436)
94
  97 00b4 00F0      		brlo .+2
95
  98 00b6 00C0      		rjmp .L10
96
  99 00b8 A901      		movw r20,r18
97
 100 00ba 425D      		subi r20,lo8(-(-466))
98
 101 00bc 5140      		sbci r21,hi8(-(-466))
99
 102 00be FE01      		movw r30,r28
100
 103 00c0 EE0F      		lsl r30
101
 104 00c2 FF1F      		rol r31
102
 105 00c4 E050      		subi r30,lo8(-(PPM_in))
103
 106 00c6 F040      		sbci r31,hi8(-(PPM_in))
104
 107 00c8 8081      		ld r24,Z
105
 108 00ca 9181      		ldd r25,Z+1
106
 109 00cc FA01      		movw r30,r20
107
 110 00ce E81B      		sub r30,r24
108
 111 00d0 F90B      		sbc r31,r25
109
 112 00d2 CF01      		movw r24,r30
110
 113 00d4 F7FF      		sbrs r31,7
111
 114 00d6 00C0      		rjmp .L13
112
 115 00d8 9095      		com r25
113
 116 00da 8195      		neg r24
114
 117 00dc 9F4F      		sbci r25,lo8(-1)
115
 118               	.L13:
116
 119 00de 0697      		sbiw r24,6
117
 120 00e0 04F4      		brge .L12
118
 121 00e2 8091 0000 		lds r24,SenderOkay
119
 122 00e6 883C      		cpi r24,lo8(-56)
120
 123 00e8 00F4      		brsh .L12
121
 124 00ea 8091 0000 		lds r24,SenderOkay
122
 125 00ee 865F      		subi r24,lo8(-(10))
123
 126 00f0 8093 0000 		sts SenderOkay,r24
124
 127               	.L12:
125
 128 00f4 FE01      		movw r30,r28
126
 129 00f6 EE0F      		lsl r30
127
 130 00f8 FF1F      		rol r31
128
 131 00fa 8F01      		movw r16,r30
129
 132 00fc 0050      		subi r16,lo8(-(PPM_in))
130
 133 00fe 1040      		sbci r17,hi8(-(PPM_in))
131
 134 0100 D801      		movw r26,r16
132
 135 0102 2D91      		ld r18,X+
133
 136 0104 3C91      		ld r19,X
134
 137 0106 C901      		movw r24,r18
135
 138 0108 880F      		lsl r24
136
 139 010a 991F      		rol r25
137
 140 010c 820F      		add r24,r18
138
 141 010e 931F      		adc r25,r19
139
 142 0110 840F      		add r24,r20
140
 143 0112 951F      		adc r25,r21
141
 144 0114 64E0      		ldi r22,lo8(4)
142
 145 0116 70E0      		ldi r23,hi8(4)
143
 146 0118 0E94 0000 		call __divmodhi4
144
 147 011c D801      		movw r26,r16
145
 148 011e 8D91      		ld r24,X+
146
 149 0120 9C91      		ld r25,X
147
 150 0122 1197      		sbiw r26,1
148
 151 0124 9B01      		movw r18,r22
149
 152 0126 281B      		sub r18,r24
150
 153 0128 390B      		sbc r19,r25
151
 154 012a E050      		subi r30,lo8(-(PPM_diff))
152
 155 012c F040      		sbci r31,hi8(-(PPM_diff))
153
 156 012e 3183      		std Z+1,r19
154
 157 0130 2083      		st Z,r18
155
 158 0132 1196      		adiw r26,1
156
 159 0134 7C93      		st X,r23
157
 160 0136 6E93      		st -X,r22
158
 161               	.L10:
159
 162 0138 FE01      		movw r30,r28
160
 163 013a 3196      		adiw r30,1
161
 164 013c F093 0000 		sts (index.2038)+1,r31
162
 165 0140 E093 0000 		sts index.2038,r30
163
 166 0144 E530      		cpi r30,5
164
 167 0146 F105      		cpc r31,__zero_reg__
165
 168 0148 01F4      		brne .L16
166
 169 014a 5D9A      		sbi 43-0x20,5
167
 170 014c 5C98      		cbi 43-0x20,4
168
 171 014e 00C0      		rjmp .L18
169
 172               	.L16:
170
 173 0150 5D98      		cbi 43-0x20,5
171
 174 0152 E630      		cpi r30,6
172
 175 0154 F105      		cpc r31,__zero_reg__
173
 176 0156 01F4      		brne .L19
174
 177 0158 5C9A      		sbi 43-0x20,4
175
 178 015a 00C0      		rjmp .L18
176
 179               	.L19:
177
 180 015c 5C98      		cbi 43-0x20,4
178
 181 015e 3797      		sbiw r30,7
179
 182 0160 01F4      		brne .L18
180
 183 0162 5B9A      		sbi 43-0x20,3
181
 184 0164 00C0      		rjmp .L22
182
 185               	.L18:
183
 186 0166 5B98      		cbi 43-0x20,3
184
 187               	.L22:
185
 188               	/* epilogue: frame size=0 */
186
 189 0168 FF91      		pop r31
187
 190 016a EF91      		pop r30
188
 191 016c DF91      		pop r29
189
 192 016e CF91      		pop r28
190
 193 0170 BF91      		pop r27
191
 194 0172 AF91      		pop r26
192
 195 0174 9F91      		pop r25
193
 196 0176 8F91      		pop r24
194
 197 0178 7F91      		pop r23
195
 198 017a 6F91      		pop r22
196
 199 017c 5F91      		pop r21
197
 200 017e 4F91      		pop r20
198
 201 0180 3F91      		pop r19
199
 202 0182 2F91      		pop r18
200
 203 0184 1F91      		pop r17
201
 204 0186 0F91      		pop r16
202
 205 0188 0F90      		pop __tmp_reg__
203
 206 018a 0FBE      		out __SREG__,__tmp_reg__
204
 207 018c 0F90      		pop __tmp_reg__
205
 208 018e 1F90      		pop __zero_reg__
206
 209 0190 1895      		reti
207
 210               	/* epilogue end (size=21) */
208
 211               	/* function __vector_12 size 185 (143) */
209
 213               	.global	NewPpmData
210
 214               		.data
211
 217               	NewPpmData:
212
 218 0000 01        		.byte	1
213
 219               		.lcomm index.2038,2
214
 220               		.lcomm AltICR.2035,2
215
 221               		.comm PPM_in,22,1
216
 222               		.comm PPM_diff,22,1
217
 223               	/* File "rc.c": code  206 = 0x00ce ( 163), prologues  21, epilogues  22 */
218
DEFINED SYMBOLS
219
                            *ABS*:00000000 rc.c
220
C:\Users\gunterl\AppData\Local\Temp/cciFxVgq.s:3      *ABS*:0000003f __SREG__
221
C:\Users\gunterl\AppData\Local\Temp/cciFxVgq.s:4      *ABS*:0000003e __SP_H__
222
C:\Users\gunterl\AppData\Local\Temp/cciFxVgq.s:5      *ABS*:0000003d __SP_L__
223
C:\Users\gunterl\AppData\Local\Temp/cciFxVgq.s:6      *ABS*:00000000 __tmp_reg__
224
C:\Users\gunterl\AppData\Local\Temp/cciFxVgq.s:7      *ABS*:00000001 __zero_reg__
225
C:\Users\gunterl\AppData\Local\Temp/cciFxVgq.s:13     .text:00000000 rc_sum_init
226
C:\Users\gunterl\AppData\Local\Temp/cciFxVgq.s:36     .text:0000002a __vector_12
227
C:\Users\gunterl\AppData\Local\Temp/cciFxVgq.s:219    .bss:00000002 AltICR.2035
228
                             .bss:00000000 index.2038
229
C:\Users\gunterl\AppData\Local\Temp/cciFxVgq.s:217    .data:00000000 NewPpmData
230
                            *COM*:00000016 PPM_in
231
                            *COM*:00000016 PPM_diff
232
 
233
UNDEFINED SYMBOLS
234
__do_copy_data
235
__do_clear_bss
236
AdNeutralGier
237
AdNeutralRoll
238
AdNeutralNick
239
SenderOkay
240
__divmodhi4