Blame | Last modification | View Log | RSS feed
1 .file "jennic.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .text
9 .global jen_new_signal
11 jen_new_signal:
12 0000 1F93 push r17
13 0002 CF93 push r28
14 0004 DF93 push r29
15 /* prologue: function */
16 /* frame size = 0 */
17 0006 182F mov r17,r24
18 0008 1F5F subi r17,lo8(-(1))
19 000a CB01 movw r24,r22
20 000c 8353 subi r24,lo8(-(-11059))
21 000e 9B42 sbci r25,hi8(-(-11059))
22 0010 68E1 ldi r22,lo8(24)
23 0012 70E0 ldi r23,hi8(24)
24 0014 0E94 0000 call __divmodhi4
25 0018 AB01 movw r20,r22
26 001a C12F mov r28,r17
27 001c D0E0 ldi r29,lo8(0)
28 001e CC0F lsl r28
29 0020 DD1F rol r29
30 0022 FE01 movw r30,r28
31 0024 E050 subi r30,lo8(-(PPM_in))
32 0026 F040 sbci r31,hi8(-(PPM_in))
33 0028 8081 ld r24,Z
34 002a 9181 ldd r25,Z+1
35 002c 9C01 movw r18,r24
36 002e 220F lsl r18
37 0030 331F rol r19
38 0032 280F add r18,r24
39 0034 391F adc r19,r25
40 0036 240F add r18,r20
41 0038 351F adc r19,r21
42 003a 37FD sbrc r19,7
43 003c 00C0 rjmp .L10
44 .L2:
45 003e 3595 asr r19
46 0040 2795 ror r18
47 0042 3595 asr r19
48 0044 2795 ror r18
49 0046 CA01 movw r24,r20
50 0048 0196 adiw r24,1
51 004a 8217 cp r24,r18
52 004c 9307 cpc r25,r19
53 004e 04F4 brge .L3
54 0050 2150 subi r18,lo8(-(-1))
55 0052 3040 sbci r19,hi8(-(-1))
56 .L4:
57 0054 8091 0000 lds r24,RC_Quality
58 0058 883C cpi r24,lo8(-56)
59 005a 01F0 breq .L11
60 .L5:
61 005c FE01 movw r30,r28
62 005e E050 subi r30,lo8(-(PPM_diff))
63 0060 F040 sbci r31,hi8(-(PPM_diff))
64 0062 1182 std Z+1,__zero_reg__
65 0064 1082 st Z,__zero_reg__
66 .L6:
67 0066 FE01 movw r30,r28
68 0068 E050 subi r30,lo8(-(PPM_in))
69 006a F040 sbci r31,hi8(-(PPM_in))
70 006c 3183 std Z+1,r19
71 006e 2083 st Z,r18
72 0070 1530 cpi r17,lo8(5)
73 0072 00F4 brsh .L8
74 0074 8081 ld r24,Z
75 0076 9181 ldd r25,Z+1
76 0078 C050 subi r28,lo8(-(DebugOut))
77 007a D040 sbci r29,hi8(-(DebugOut))
78 007c 9BA7 std Y+43,r25
79 007e 8AA7 std Y+42,r24
80 0080 1430 cpi r17,lo8(4)
81 0082 01F4 brne .L8
82 0084 1092 0000 sts NewPpmData,__zero_reg__
83 .L8:
84 /* epilogue start */
85 0088 DF91 pop r29
86 008a CF91 pop r28
87 008c 1F91 pop r17
88 008e 0895 ret
89 .L3:
90 0090 4150 subi r20,lo8(-(-1))
91 0092 5040 sbci r21,hi8(-(-1))
92 0094 2417 cp r18,r20
93 0096 3507 cpc r19,r21
94 0098 04F4 brge .L4
95 009a 2F5F subi r18,lo8(-(1))
96 009c 3F4F sbci r19,hi8(-(1))
97 009e 8091 0000 lds r24,RC_Quality
98 00a2 883C cpi r24,lo8(-56)
99 00a4 01F4 brne .L5
100 .L11:
101 00a6 FE01 movw r30,r28
102 00a8 E050 subi r30,lo8(-(PPM_in))
103 00aa F040 sbci r31,hi8(-(PPM_in))
104 00ac 8081 ld r24,Z
105 00ae 9181 ldd r25,Z+1
106 00b0 A901 movw r20,r18
107 00b2 481B sub r20,r24
108 00b4 590B sbc r21,r25
109 00b6 CA01 movw r24,r20
110 00b8 63E0 ldi r22,lo8(3)
111 00ba 70E0 ldi r23,hi8(3)
112 00bc 0E94 0000 call __divmodhi4
113 00c0 CB01 movw r24,r22
114 00c2 880F lsl r24
115 00c4 991F rol r25
116 00c6 860F add r24,r22
117 00c8 971F adc r25,r23
118 00ca FE01 movw r30,r28
119 00cc E050 subi r30,lo8(-(PPM_diff))
120 00ce F040 sbci r31,hi8(-(PPM_diff))
121 00d0 9183 std Z+1,r25
122 00d2 8083 st Z,r24
123 00d4 00C0 rjmp .L6
124 .L10:
125 00d6 2D5F subi r18,lo8(-(3))
126 00d8 3F4F sbci r19,hi8(-(3))
127 00da 00C0 rjmp .L2
129 .global jen_decode_packet
131 jen_decode_packet:
132 00dc 1F93 push r17
133 /* prologue: function */
134 /* frame size = 0 */
135 00de 9091 0000 lds r25,PacketBuffer
136 00e2 9093 0000 sts jen_status,r25
137 00e6 2091 0000 lds r18,PacketBuffer+1
138 00ea 822F mov r24,r18
139 00ec 807F andi r24,lo8(-16)
140 00ee 01F4 brne .L17
141 00f0 9923 tst r25
142 00f2 01F4 brne .L14
143 00f4 88EC ldi r24,lo8(-56)
144 00f6 8093 0000 sts RC_Quality,r24
145 00fa 122F mov r17,r18
146 00fc 1F70 andi r17,lo8(15)
147 00fe 1A30 cpi r17,lo8(10)
148 0100 00F0 brlo .L19
149 .L17:
150 /* epilogue start */
151 0102 1F91 pop r17
152 0104 0895 ret
153 .L14:
154 0106 1092 0000 sts RC_Quality,__zero_reg__
155 010a 80E0 ldi r24,lo8(0)
156 010c 90E0 ldi r25,hi8(0)
157 .L16:
158 010e FC01 movw r30,r24
159 0110 EE0F lsl r30
160 0112 FF1F rol r31
161 0114 DF01 movw r26,r30
162 0116 A050 subi r26,lo8(-(PPM_diff))
163 0118 B040 sbci r27,hi8(-(PPM_diff))
164 011a 1196 adiw r26,1
165 011c 1C92 st X,__zero_reg__
166 011e 1E92 st -X,__zero_reg__
167 0120 E050 subi r30,lo8(-(PPM_in))
168 0122 F040 sbci r31,hi8(-(PPM_in))
169 0124 1182 std Z+1,__zero_reg__
170 0126 1082 st Z,__zero_reg__
171 0128 0196 adiw r24,1
172 012a 8530 cpi r24,5
173 012c 9105 cpc r25,__zero_reg__
174 012e 01F4 brne .L16
175 0130 122F mov r17,r18
176 0132 1F70 andi r17,lo8(15)
177 0134 1A30 cpi r17,lo8(10)
178 0136 00F4 brsh .L17
179 .L19:
180 0138 8091 0000 lds r24,PacketBuffer+2
181 013c 8093 0000 sts ChannelPair+1,r24
182 0140 8091 0000 lds r24,PacketBuffer+3
183 0144 8093 0000 sts ChannelPair,r24
184 0148 8091 0000 lds r24,PacketBuffer+4
185 014c 8093 0000 sts ChannelPair+3,r24
186 0150 8091 0000 lds r24,PacketBuffer+5
187 0154 8093 0000 sts ChannelPair+2,r24
188 0158 6091 0000 lds r22,ChannelPair
189 015c 7091 0000 lds r23,(ChannelPair)+1
190 0160 812F mov r24,r17
191 0162 0E94 0000 call jen_new_signal
192 0166 6091 0000 lds r22,ChannelPair+2
193 016a 7091 0000 lds r23,(ChannelPair+2)+1
194 016e 812F mov r24,r17
195 0170 8F5F subi r24,lo8(-(1))
196 0172 0E94 0000 call jen_new_signal
197 0176 1F91 pop r17
198 0178 0895 ret
200 .global jen_parser
202 jen_parser:
203 017a 1F93 push r17
204 /* prologue: function */
205 /* frame size = 0 */
206 017c 182F mov r17,r24
207 017e 8F3F cpi r24,lo8(-1)
208 0180 01F0 breq .L28
209 .L21:
210 0182 8091 0000 lds r24,cnt.1392
211 0186 8630 cpi r24,lo8(6)
212 0188 00F0 brlo .L23
213 018a 8091 0000 lds r24,crc.1391
214 018e 8095 com r24
215 0190 8093 0000 sts crc.1391,r24
216 0194 8F3F cpi r24,lo8(-1)
217 0196 01F0 breq .L29
218 .L24:
219 0198 1817 cp r17,r24
220 019a 01F0 breq .L30
221 .L25:
222 019c 1092 0000 sts cnt.1392,__zero_reg__
223 01a0 1092 0000 sts crc.1391,__zero_reg__
224 01a4 00C0 rjmp .L26
225 .L23:
226 01a6 E82F mov r30,r24
227 01a8 F0E0 ldi r31,lo8(0)
228 01aa E050 subi r30,lo8(-(PacketBuffer))
229 01ac F040 sbci r31,hi8(-(PacketBuffer))
230 01ae 1083 st Z,r17
231 01b0 8F5F subi r24,lo8(-(1))
232 01b2 8093 0000 sts cnt.1392,r24
233 01b6 8091 0000 lds r24,crc.1391
234 01ba 810F add r24,r17
235 01bc 8093 0000 sts crc.1391,r24
236 .L26:
237 01c0 1093 0000 sts last_c.1390,r17
238 .L27:
239 /* epilogue start */
240 01c4 1F91 pop r17
241 01c6 0895 ret
242 .L28:
243 01c8 8091 0000 lds r24,last_c.1390
244 01cc 8F3F cpi r24,lo8(-1)
245 01ce 01F4 brne .L21
246 01d0 1092 0000 sts cnt.1392,__zero_reg__
247 01d4 1092 0000 sts crc.1391,__zero_reg__
248 01d8 00C0 rjmp .L27
249 .L29:
250 01da 8EEF ldi r24,lo8(-2)
251 01dc 8093 0000 sts crc.1391,r24
252 01e0 00C0 rjmp .L24
253 .L30:
254 01e2 0E94 0000 call jen_decode_packet
255 01e6 00C0 rjmp .L25
257 .global jen_status
258 .global jen_status
259 .section .bss
262 jen_status:
263 0000 00 .skip 1,0
264 .lcomm cnt.1392,1
265 .lcomm crc.1391,1
266 .lcomm last_c.1390,1
267 .comm PacketBuffer,9,1
268 .comm ChannelPair,4,1
269 .global __do_clear_bss
DEFINED SYMBOLS
*ABS*:00000000 jennic.c
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:2 *ABS*:0000003f __SREG__
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:3 *ABS*:0000003e __SP_H__
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:4 *ABS*:0000003d __SP_L__
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:5 *ABS*:00000034 __CCP__
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:6 *ABS*:00000000 __tmp_reg__
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:7 *ABS*:00000001 __zero_reg__
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:11 .text:00000000 jen_new_signal
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:131 .text:000000dc jen_decode_packet
*COM*:00000009 PacketBuffer
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:262 .bss:00000000 jen_status
*COM*:00000004 ChannelPair
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:202 .text:0000017a jen_parser
.bss:00000001 cnt.1392
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:264 .bss:00000002 crc.1391
C:\DOKUME~1\LUKEPA~1\LOKALE~1\Temp/ccxkbGnW.s:265 .bss:00000003 last_c.1390
UNDEFINED SYMBOLS
__divmodhi4
PPM_in
RC_Quality
PPM_diff
DebugOut
NewPpmData
__do_clear_bss