root / trunk / code / behaviors / hunter_prey / james / main.lst @ 1847
History | View | Annotate | Download (18.5 KB)
1 |
1 .file "main.c" |
---|---|
2 |
2 __SREG__ = 0x3f |
3 |
3 __SP_H__ = 0x3e |
4 |
4 __SP_L__ = 0x3d |
5 |
5 __CCP__ = 0x34 |
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 main |
12 |
13 main: |
13 |
14 0000 4F92 push r4 |
14 |
15 0002 5F92 push r5 |
15 |
16 0004 6F92 push r6 |
16 |
17 0006 7F92 push r7 |
17 |
18 0008 8F92 push r8 |
18 |
19 000a 9F92 push r9 |
19 |
20 000c AF92 push r10 |
20 |
21 000e BF92 push r11 |
21 |
22 0010 CF92 push r12 |
22 |
23 0012 DF92 push r13 |
23 |
24 0014 EF92 push r14 |
24 |
25 0016 FF92 push r15 |
25 |
26 0018 0F93 push r16 |
26 |
27 001a 1F93 push r17 |
27 |
28 001c CF93 push r28 |
28 |
29 001e DF93 push r29 |
29 |
30 /* prologue: function */ |
30 |
31 /* frame size = 0 */ |
31 |
32 0020 8FEF ldi r24,lo8(2047) |
32 |
33 0022 97E0 ldi r25,hi8(2047) |
33 |
34 0024 0E94 0000 call dragonfly_init |
34 |
35 0028 0E94 0000 call xbee_init |
35 |
36 002c 0E94 0000 call wl_basic_init_default |
36 |
37 0030 8FE0 ldi r24,lo8(15) |
37 |
38 0032 90E0 ldi r25,hi8(15) |
38 |
39 0034 0E94 0000 call wl_set_channel |
39 |
40 0038 0E94 0000 call orb_init |
40 |
41 003c 81E0 ldi r24,lo8(1) |
41 |
42 003e 90E0 ldi r25,hi8(1) |
42 |
43 0040 60E0 ldi r22,lo8(0) |
43 |
44 0042 70E0 ldi r23,hi8(0) |
44 |
45 0044 0E94 0000 call rtc_init |
45 |
46 0048 0E94 0000 call motors_init |
46 |
47 004c 0E94 0000 call get_robotid |
47 |
48 0050 582E mov r5,r24 |
48 |
49 0052 0E94 0000 call wheel |
49 |
50 0056 8436 cpi r24,100 |
50 |
51 0058 9105 cpc r25,__zero_reg__ |
51 |
52 005a 04F4 brge .L2 |
52 |
53 005c C3E0 ldi r28,lo8(3) |
53 |
54 005e D0E0 ldi r29,hi8(3) |
54 |
55 0060 00C0 rjmp .L38 |
55 |
56 .L2: |
56 |
57 0062 C0E0 ldi r28,lo8(0) |
57 |
58 0064 D0E0 ldi r29,hi8(0) |
58 |
59 .L38: |
59 |
60 0066 24E5 ldi r18,lo8(84) |
60 |
61 0068 422E mov r4,r18 |
61 |
62 .L37: |
62 |
63 006a C230 cpi r28,2 |
63 |
64 006c D105 cpc r29,__zero_reg__ |
64 |
65 006e 01F4 brne .+2 |
65 |
66 0070 00C0 rjmp .L6 |
66 |
67 0072 C330 cpi r28,3 |
67 |
68 0074 D105 cpc r29,__zero_reg__ |
68 |
69 0076 04F4 brge .L9 |
69 |
70 0078 2097 sbiw r28,0 |
70 |
71 007a 01F0 breq .L4 |
71 |
72 007c C130 cpi r28,1 |
72 |
73 007e D105 cpc r29,__zero_reg__ |
73 |
74 0080 01F4 brne .L37 |
74 |
75 0082 00C0 rjmp .L41 |
75 |
76 .L9: |
76 |
77 0084 C330 cpi r28,3 |
77 |
78 0086 D105 cpc r29,__zero_reg__ |
78 |
79 0088 01F4 brne .+2 |
79 |
80 008a 00C0 rjmp .L7 |
80 |
81 008c C430 cpi r28,4 |
81 |
82 008e D105 cpc r29,__zero_reg__ |
82 |
83 0090 01F4 brne .L37 |
83 |
84 0092 00C0 rjmp .L42 |
84 |
85 .L4: |
85 |
86 0094 88EE ldi r24,lo8(-24) |
86 |
87 0096 0E94 0000 call orb1_set_color |
87 |
88 009a 0E94 0000 call bom_on |
88 |
89 009e 80E0 ldi r24,lo8(0) |
89 |
90 00a0 90E0 ldi r25,hi8(0) |
90 |
91 00a2 68EC ldi r22,lo8(200) |
91 |
92 00a4 70E0 ldi r23,hi8(200) |
92 |
93 00a6 0E94 0000 call motor_r_set |
93 |
94 00aa 80E0 ldi r24,lo8(0) |
94 |
95 00ac 90E0 ldi r25,hi8(0) |
95 |
96 00ae 68EC ldi r22,lo8(200) |
96 |
97 00b0 70E0 ldi r23,hi8(200) |
97 |
98 00b2 0E94 0000 call motor_l_set |
98 |
99 00b6 80ED ldi r24,lo8(2000) |
99 |
100 00b8 97E0 ldi r25,hi8(2000) |
100 |
101 00ba 0E94 0000 call delay_ms |
101 |
102 .L10: |
102 |
103 00be 80E0 ldi r24,lo8(data_length) |
103 |
104 00c0 90E0 ldi r25,hi8(data_length) |
104 |
105 00c2 0E94 0000 call wl_basic_do_default |
105 |
106 00c6 892B or r24,r25 |
106 |
107 00c8 01F4 brne .L10 |
107 |
108 00ca 8CE1 ldi r24,lo8(28) |
108 |
109 00cc 0E94 0000 call orb1_set_color |
109 |
110 00d0 0E94 0000 call rtc_reset |
110 |
111 00d4 C1E0 ldi r28,lo8(1) |
111 |
112 00d6 D0E0 ldi r29,hi8(1) |
112 |
113 00d8 00C0 rjmp .L37 |
113 |
114 .L41: |
114 |
115 00da 8CE1 ldi r24,lo8(28) |
115 |
116 00dc 0E94 0000 call orb1_set_color |
116 |
117 00e0 8CE1 ldi r24,lo8(28) |
117 |
118 00e2 0E94 0000 call orb2_set_color |
118 |
119 00e6 6624 clr r6 |
119 |
120 00e8 7724 clr r7 |
120 |
121 00ea CC24 clr r12 |
121 |
122 00ec DD24 clr r13 |
122 |
123 00ee 91E0 ldi r25,lo8(1) |
123 |
124 00f0 A92E mov r10,r25 |
124 |
125 00f2 B12C mov r11,__zero_reg__ |
125 |
126 00f4 00C0 rjmp .L39 |
126 |
127 .L17: |
127 |
128 00f6 AA24 clr r10 |
128 |
129 00f8 BB24 clr r11 |
129 |
130 .L39: |
130 |
131 00fa 85E0 ldi r24,lo8(5) |
131 |
132 00fc 90E0 ldi r25,hi8(5) |
132 |
133 00fe 0E94 0000 call range_read_distance |
133 |
134 0102 7C01 movw r14,r24 |
134 |
135 0104 80E0 ldi r24,lo8(data_length) |
135 |
136 0106 90E0 ldi r25,hi8(data_length) |
136 |
137 0108 0E94 0000 call wl_basic_do_default |
137 |
138 010c FC01 movw r30,r24 |
138 |
139 010e 9093 0000 sts (packet_data)+1,r25 |
139 |
140 0112 8093 0000 sts packet_data,r24 |
140 |
141 0116 0097 sbiw r24,0 |
141 |
142 0118 01F0 breq .L12 |
142 |
143 011a 8091 0000 lds r24,data_length |
143 |
144 011e 9091 0000 lds r25,(data_length)+1 |
144 |
145 0122 0297 sbiw r24,2 |
145 |
146 0124 01F4 brne .L12 |
146 |
147 0126 8081 ld r24,Z |
147 |
148 0128 8435 cpi r24,lo8(84) |
148 |
149 012a 01F4 brne .L12 |
149 |
150 012c 81E4 ldi r24,lo8(65) |
150 |
151 012e 8093 0000 sts send_buffer,r24 |
151 |
152 0132 8181 ldd r24,Z+1 |
152 |
153 0134 8093 0000 sts send_buffer+1,r24 |
153 |
154 0138 8AE2 ldi r24,lo8(42) |
154 |
155 013a 60E0 ldi r22,lo8(send_buffer) |
155 |
156 013c 70E0 ldi r23,hi8(send_buffer) |
156 |
157 013e 42E0 ldi r20,lo8(2) |
157 |
158 0140 50E0 ldi r21,hi8(2) |
158 |
159 0142 0E94 0000 call wl_basic_send_global_packet |
159 |
160 0146 80E0 ldi r24,lo8(0) |
160 |
161 0148 90E0 ldi r25,hi8(0) |
161 |
162 014a 60E0 ldi r22,lo8(0) |
162 |
163 014c 70E0 ldi r23,hi8(0) |
163 |
164 014e 0E94 0000 call motor_r_set |
164 |
165 0152 80E0 ldi r24,lo8(0) |
165 |
166 0154 90E0 ldi r25,hi8(0) |
166 |
167 0156 60E0 ldi r22,lo8(0) |
167 |
168 0158 70E0 ldi r23,hi8(0) |
168 |
169 015a 0E94 0000 call motor_l_set |
169 |
170 015e C2E0 ldi r28,lo8(2) |
170 |
171 0160 D0E0 ldi r29,hi8(2) |
171 |
172 0162 00C0 rjmp .L37 |
172 |
173 .L12: |
173 |
174 0164 86E0 ldi r24,lo8(6) |
174 |
175 0166 90E0 ldi r25,hi8(6) |
175 |
176 0168 0E94 0000 call range_read_distance |
176 |
177 016c EC01 movw r28,r24 |
177 |
178 016e 84E0 ldi r24,lo8(4) |
178 |
179 0170 90E0 ldi r25,hi8(4) |
179 |
180 0172 0E94 0000 call range_read_distance |
180 |
181 0176 8C01 movw r16,r24 |
181 |
182 0178 0E94 0000 call rtc_get |
182 |
183 017c 2DEC ldi r18,lo8(-51) |
183 |
184 017e 3FEF ldi r19,hi8(-51) |
184 |
185 0180 E20E add r14,r18 |
185 |
186 0182 F31E adc r15,r19 |
186 |
187 0184 35E9 ldi r19,lo8(149) |
187 |
188 0186 E316 cp r14,r19 |
188 |
189 0188 F104 cpc r15,__zero_reg__ |
189 |
190 018a 00F4 brsh .L13 |
190 |
191 018c 21E0 ldi r18,lo8(1) |
191 |
192 018e C216 cp r12,r18 |
192 |
193 0190 D104 cpc r13,__zero_reg__ |
193 |
194 0192 01F0 breq .L13 |
194 |
195 0194 80EE ldi r24,lo8(-32) |
195 |
196 0196 0E94 0000 call orb2_set_color |
196 |
197 019a 0E94 0000 call rtc_get |
197 |
198 019e 3C01 movw r6,r24 |
198 |
199 01a0 81E0 ldi r24,lo8(1) |
199 |
200 01a2 90E0 ldi r25,hi8(1) |
200 |
201 01a4 6FEF ldi r22,lo8(255) |
201 |
202 01a6 70E0 ldi r23,hi8(255) |
202 |
203 01a8 0E94 0000 call motor_l_set |
203 |
204 01ac 80E0 ldi r24,lo8(0) |
204 |
205 01ae 90E0 ldi r25,hi8(0) |
205 |
206 01b0 60E0 ldi r22,lo8(0) |
206 |
207 01b2 70E0 ldi r23,hi8(0) |
207 |
208 01b4 0E94 0000 call motor_r_set |
208 |
209 01b8 81E0 ldi r24,lo8(1) |
209 |
210 01ba C82E mov r12,r24 |
210 |
211 01bc D12C mov r13,__zero_reg__ |
211 |
212 01be 00C0 rjmp .L39 |
212 |
213 .L13: |
213 |
214 01c0 2197 sbiw r28,1 |
214 |
215 01c2 CB52 subi r28,lo8(299) |
215 |
216 01c4 D140 sbci r29,hi8(299) |
216 |
217 01c6 00F4 brsh .L14 |
217 |
218 01c8 21E0 ldi r18,lo8(1) |
218 |
219 01ca C216 cp r12,r18 |
219 |
220 01cc D104 cpc r13,__zero_reg__ |
220 |
221 01ce 01F0 breq .L14 |
221 |
222 01d0 80E0 ldi r24,lo8(0) |
222 |
223 01d2 90E0 ldi r25,hi8(0) |
223 |
224 01d4 60E0 ldi r22,lo8(0) |
224 |
225 01d6 70E0 ldi r23,hi8(0) |
225 |
226 01d8 0E94 0000 call motor_r_set |
226 |
227 01dc 00C0 rjmp .L39 |
227 |
228 .L14: |
228 |
229 01de 0150 subi r16,lo8(-(-1)) |
229 |
230 01e0 1040 sbci r17,hi8(-(-1)) |
230 |
231 01e2 0B52 subi r16,lo8(299) |
231 |
232 01e4 1140 sbci r17,hi8(299) |
232 |
233 01e6 00F4 brsh .L15 |
233 |
234 01e8 21E0 ldi r18,lo8(1) |
234 |
235 01ea C216 cp r12,r18 |
235 |
236 01ec D104 cpc r13,__zero_reg__ |
236 |
237 01ee 01F0 breq .L15 |
237 |
238 01f0 80E0 ldi r24,lo8(0) |
238 |
239 01f2 90E0 ldi r25,hi8(0) |
239 |
240 01f4 60E0 ldi r22,lo8(0) |
240 |
241 01f6 70E0 ldi r23,hi8(0) |
241 |
242 01f8 0E94 0000 call motor_l_set |
242 |
243 01fc 00C0 rjmp .L39 |
243 |
244 .L15: |
244 |
245 01fe 8619 sub r24,r6 |
245 |
246 0200 9709 sbc r25,r7 |
246 |
247 0202 0397 sbiw r24,3 |
247 |
248 0204 04F4 brge .L16 |
248 |
249 0206 31E0 ldi r19,lo8(1) |
249 |
250 0208 A316 cp r10,r19 |
250 |
251 020a B104 cpc r11,__zero_reg__ |
251 |
252 020c 01F0 breq .+2 |
252 |
253 020e 00C0 rjmp .L17 |
253 |
254 .L16: |
254 |
255 0210 83E0 ldi r24,lo8(3) |
255 |
256 0212 0E94 0000 call orb2_set_color |
256 |
257 0216 81E0 ldi r24,lo8(1) |
257 |
258 0218 90E0 ldi r25,hi8(1) |
258 |
259 021a 6FEF ldi r22,lo8(255) |
259 |
260 021c 70E0 ldi r23,hi8(255) |
260 |
261 021e 0E94 0000 call motor_l_set |
261 |
262 0222 81E0 ldi r24,lo8(1) |
262 |
263 0224 90E0 ldi r25,hi8(1) |
263 |
264 0226 6FEF ldi r22,lo8(255) |
264 |
265 0228 70E0 ldi r23,hi8(255) |
265 |
266 022a 0E94 0000 call motor_r_set |
266 |
267 022e CC24 clr r12 |
267 |
268 0230 DD24 clr r13 |
268 |
269 0232 00C0 rjmp .L17 |
269 |
270 .L6: |
270 |
271 0234 83E0 ldi r24,lo8(3) |
271 |
272 0236 0E94 0000 call orb1_set_color |
272 |
273 023a 83E0 ldi r24,lo8(3) |
273 |
274 023c 0E94 0000 call orb2_set_color |
274 |
275 0240 0E94 0000 call motors_off |
275 |
276 0244 0E94 0000 call rtc_reset |
276 |
277 0248 0E94 0000 call bom_off |
277 |
278 024c 88EB ldi r24,lo8(3000) |
278 |
279 024e 9BE0 ldi r25,hi8(3000) |
279 |
280 0250 0E94 0000 call delay_ms |
280 |
281 .L18: |
281 |
282 0254 80E0 ldi r24,lo8(data_length) |
282 |
283 0256 90E0 ldi r25,hi8(data_length) |
283 |
284 0258 0E94 0000 call wl_basic_do_default |
284 |
285 025c 892B or r24,r25 |
285 |
286 025e 01F4 brne .L18 |
286 |
287 0260 00C0 rjmp .L40 |
287 |
288 .L7: |
288 |
289 0262 80EE ldi r24,lo8(-32) |
289 |
290 0264 0E94 0000 call orb1_set_color |
290 |
291 0268 80EE ldi r24,lo8(-32) |
291 |
292 026a 0E94 0000 call orb2_set_color |
292 |
293 026e 84E0 ldi r24,lo8(4) |
293 |
294 0270 8816 cp r8,r24 |
294 |
295 0272 9104 cpc r9,__zero_reg__ |
295 |
296 0274 01F4 brne .L19 |
296 |
297 0276 81E0 ldi r24,lo8(1) |
297 |
298 0278 90E0 ldi r25,hi8(1) |
298 |
299 027a 6FEF ldi r22,lo8(255) |
299 |
300 027c 70E0 ldi r23,hi8(255) |
300 |
301 027e 0E94 0000 call motor_l_set |
301 |
302 0282 81E0 ldi r24,lo8(1) |
302 |
303 0284 90E0 ldi r25,hi8(1) |
303 |
304 0286 6FEF ldi r22,lo8(255) |
304 |
305 0288 70E0 ldi r23,hi8(255) |
305 |
306 028a 0E94 0000 call motor_r_set |
306 |
307 .L19: |
307 |
308 028e C401 movw r24,r8 |
308 |
309 0290 0197 sbiw r24,1 |
309 |
310 0292 0397 sbiw r24,3 |
310 |
311 0294 00F4 brsh .L20 |
311 |
312 0296 81E0 ldi r24,lo8(1) |
312 |
313 0298 90E0 ldi r25,hi8(1) |
313 |
314 029a 6FEF ldi r22,lo8(255) |
314 |
315 029c 70E0 ldi r23,hi8(255) |
315 |
316 029e 0E94 0000 call motor_l_set |
316 |
317 02a2 81E0 ldi r24,lo8(1) |
317 |
318 02a4 90E0 ldi r25,hi8(1) |
318 |
319 02a6 6EEB ldi r22,lo8(190) |
319 |
320 02a8 70E0 ldi r23,hi8(190) |
320 |
321 02aa 0E94 0000 call motor_r_set |
321 |
322 .L20: |
322 |
323 02ae C401 movw r24,r8 |
323 |
324 02b0 0597 sbiw r24,5 |
324 |
325 02b2 0397 sbiw r24,3 |
325 |
326 02b4 00F4 brsh .L21 |
326 |
327 02b6 81E0 ldi r24,lo8(1) |
327 |
328 02b8 90E0 ldi r25,hi8(1) |
328 |
329 02ba 6EEB ldi r22,lo8(190) |
329 |
330 02bc 70E0 ldi r23,hi8(190) |
330 |
331 02be 0E94 0000 call motor_l_set |
331 |
332 02c2 81E0 ldi r24,lo8(1) |
332 |
333 02c4 90E0 ldi r25,hi8(1) |
333 |
334 02c6 6FEF ldi r22,lo8(255) |
334 |
335 02c8 70E0 ldi r23,hi8(255) |
335 |
336 02ca 0E94 0000 call motor_r_set |
336 |
337 .L21: |
337 |
338 02ce C401 movw r24,r8 |
338 |
339 02d0 0897 sbiw r24,8 |
339 |
340 02d2 0497 sbiw r24,4 |
340 |
341 02d4 00F0 brlo .L22 |
341 |
342 02d6 97FE sbrs r9,7 |
342 |
343 02d8 00C0 rjmp .L23 |
343 |
344 .L22: |
344 |
345 02da 80E0 ldi r24,lo8(0) |
345 |
346 02dc 90E0 ldi r25,hi8(0) |
346 |
347 02de 6AEA ldi r22,lo8(170) |
347 |
348 02e0 70E0 ldi r23,hi8(170) |
348 |
349 02e2 0E94 0000 call motor_l_set |
349 |
350 02e6 81E0 ldi r24,lo8(1) |
350 |
351 02e8 90E0 ldi r25,hi8(1) |
351 |
352 02ea 6FEF ldi r22,lo8(255) |
352 |
353 02ec 70E0 ldi r23,hi8(255) |
353 |
354 02ee 0E94 0000 call motor_r_set |
354 |
355 02f2 80EE ldi r24,lo8(-32) |
355 |
356 02f4 0E94 0000 call orb2_set_color |
356 |
357 .L23: |
357 |
358 02f8 C401 movw r24,r8 |
358 |
359 02fa 0C97 sbiw r24,12 |
359 |
360 02fc 0497 sbiw r24,4 |
360 |
361 02fe 00F0 brlo .L24 |
361 |
362 0300 8928 or r8,r9 |
362 |
363 0302 01F4 brne .L25 |
363 |
364 .L24: |
364 |
365 0304 81E0 ldi r24,lo8(1) |
365 |
366 0306 90E0 ldi r25,hi8(1) |
366 |
367 0308 6FEF ldi r22,lo8(255) |
367 |
368 030a 70E0 ldi r23,hi8(255) |
368 |
369 030c 0E94 0000 call motor_l_set |
369 |
370 0310 80E0 ldi r24,lo8(0) |
370 |
371 0312 90E0 ldi r25,hi8(0) |
371 |
372 0314 6AEA ldi r22,lo8(170) |
372 |
373 0316 70E0 ldi r23,hi8(170) |
373 |
374 0318 0E94 0000 call motor_r_set |
374 |
375 .L25: |
375 |
376 031c 80E0 ldi r24,lo8(data_length) |
376 |
377 031e 90E0 ldi r25,hi8(data_length) |
377 |
378 0320 0E94 0000 call wl_basic_do_default |
378 |
379 0324 FC01 movw r30,r24 |
379 |
380 0326 9093 0000 sts (packet_data)+1,r25 |
380 |
381 032a 8093 0000 sts packet_data,r24 |
381 |
382 032e 0097 sbiw r24,0 |
382 |
383 0330 01F0 breq .L26 |
383 |
384 0332 8081 ld r24,Z |
384 |
385 0334 8134 cpi r24,lo8(65) |
385 |
386 0336 01F4 brne .L26 |
386 |
387 0338 8181 ldd r24,Z+1 |
387 |
388 033a 8515 cp r24,r5 |
388 |
389 033c 01F0 breq .L26 |
389 |
390 033e C2E0 ldi r28,lo8(2) |
390 |
391 0340 D0E0 ldi r29,hi8(2) |
391 |
392 .L26: |
392 |
393 0342 8FEF ldi r24,lo8(-1) |
393 |
394 0344 9FEF ldi r25,hi8(-1) |
394 |
395 0346 0E94 0000 call bom_refresh |
395 |
396 .L27: |
396 |
397 034a 85E0 ldi r24,lo8(5) |
397 |
398 034c 90E0 ldi r25,hi8(5) |
398 |
399 034e 0E94 0000 call range_read_distance |
399 |
400 0352 8C01 movw r16,r24 |
400 |
401 0354 2FEF ldi r18,hi8(-1) |
401 |
402 0356 8F3F cpi r24,lo8(-1) |
402 |
403 0358 9207 cpc r25,r18 |
403 |
404 035a 01F0 breq .L27 |
404 |
405 035c 8AE0 ldi r24,lo8(10) |
405 |
406 035e 90E0 ldi r25,hi8(10) |
406 |
407 0360 0E94 0000 call delay_ms |
407 |
408 0364 0E94 0000 call bom_get_max |
408 |
409 0368 4C01 movw r8,r24 |
409 |
410 036a B801 movw r22,r16 |
410 |
411 036c 0E94 0000 call hunter_prey_tagged |
411 |
412 0370 F82E mov r15,r24 |
412 |
413 0372 0E94 0000 call rtc_get |
413 |
414 0376 8C01 movw r16,r24 |
414 |
415 0378 0E94 0000 call button2_read |
415 |
416 037c 0197 sbiw r24,1 |
416 |
417 037e 01F0 breq .L28 |
417 |
418 0380 FF20 tst r15 |
418 |
419 0382 01F4 brne .+2 |
419 |
420 0384 00C0 rjmp .L37 |
420 |
421 0386 0131 cpi r16,17 |
421 |
422 0388 1105 cpc r17,__zero_reg__ |
422 |
423 038a 04F4 brge .+2 |
423 |
424 038c 00C0 rjmp .L37 |
424 |
425 .L28: |
425 |
426 038e 4092 0000 sts send_buffer,r4 |
426 |
427 0392 5092 0000 sts send_buffer+1,r5 |
427 |
428 0396 8AE2 ldi r24,lo8(42) |
428 |
429 0398 60E0 ldi r22,lo8(send_buffer) |
429 |
430 039a 70E0 ldi r23,hi8(send_buffer) |
430 |
431 039c 42E0 ldi r20,lo8(2) |
431 |
432 039e 50E0 ldi r21,hi8(2) |
432 |
433 03a0 0E94 0000 call wl_basic_send_global_packet |
433 |
434 03a4 0E94 0000 call rtc_reset |
434 |
435 03a8 81E4 ldi r24,lo8(65) |
435 |
436 03aa 0E94 0000 call orb1_set_color |
436 |
437 03ae C4E0 ldi r28,lo8(4) |
437 |
438 03b0 D0E0 ldi r29,hi8(4) |
438 |
439 03b2 00C0 rjmp .L37 |
439 |
440 .L42: |
440 |
441 03b4 0E94 0000 call rtc_get |
441 |
442 03b8 8C01 movw r16,r24 |
442 |
443 03ba 80E0 ldi r24,lo8(data_length) |
443 |
444 03bc 90E0 ldi r25,hi8(data_length) |
444 |
445 03be 0E94 0000 call wl_basic_do_default |
445 |
446 03c2 FC01 movw r30,r24 |
446 |
447 03c4 9093 0000 sts (packet_data)+1,r25 |
447 |
448 03c8 8093 0000 sts packet_data,r24 |
448 |
449 03cc 0097 sbiw r24,0 |
449 |
450 03ce 01F0 breq .L29 |
450 |
451 03d0 8081 ld r24,Z |
451 |
452 03d2 8134 cpi r24,lo8(65) |
452 |
453 03d4 01F4 brne .L29 |
453 |
454 03d6 8181 ldd r24,Z+1 |
454 |
455 03d8 8515 cp r24,r5 |
455 |
456 03da 01F4 brne .L29 |
456 |
457 03dc 0E94 0000 call rtc_reset |
457 |
458 03e0 C0E0 ldi r28,lo8(0) |
458 |
459 03e2 D0E0 ldi r29,hi8(0) |
459 |
460 .L29: |
460 |
461 03e4 E091 0000 lds r30,packet_data |
461 |
462 03e8 F091 0000 lds r31,(packet_data)+1 |
462 |
463 03ec 3097 sbiw r30,0 |
463 |
464 03ee 01F0 breq .L30 |
464 |
465 03f0 8081 ld r24,Z |
465 |
466 03f2 8134 cpi r24,lo8(65) |
466 |
467 03f4 01F4 brne .L30 |
467 |
468 03f6 8181 ldd r24,Z+1 |
468 |
469 03f8 8515 cp r24,r5 |
469 |
470 03fa 01F0 breq .L30 |
470 |
471 03fc C2E0 ldi r28,lo8(2) |
471 |
472 03fe D0E0 ldi r29,hi8(2) |
472 |
473 .L30: |
473 |
474 0400 0131 cpi r16,17 |
474 |
475 0402 1105 cpc r17,__zero_reg__ |
475 |
476 0404 04F4 brge .+2 |
476 |
477 0406 00C0 rjmp .L37 |
477 |
478 .L40: |
478 |
479 0408 80EE ldi r24,lo8(-32) |
479 |
480 040a 0E94 0000 call orb1_set_color |
480 |
481 040e C3E0 ldi r28,lo8(3) |
481 |
482 0410 D0E0 ldi r29,hi8(3) |
482 |
483 0412 00C0 rjmp .L37 |
483 |
485 .comm wl_basic_group_handler,10,1 |
484 |
486 .comm current_packet,8,1 |
485 |
487 .comm packet_data,2,1 |
486 |
488 .comm data_length,2,1 |
487 |
489 .comm send_buffer,2,1 |
488 |
DEFINED SYMBOLS |
489 |
*ABS*:0000000000000000 main.c |
490 |
/tmp/ccEOMtyq.s:2 *ABS*:000000000000003f __SREG__ |
491 |
/tmp/ccEOMtyq.s:3 *ABS*:000000000000003e __SP_H__ |
492 |
/tmp/ccEOMtyq.s:4 *ABS*:000000000000003d __SP_L__ |
493 |
/tmp/ccEOMtyq.s:5 *ABS*:0000000000000034 __CCP__ |
494 |
/tmp/ccEOMtyq.s:6 *ABS*:0000000000000000 __tmp_reg__ |
495 |
/tmp/ccEOMtyq.s:7 *ABS*:0000000000000001 __zero_reg__ |
496 |
/tmp/ccEOMtyq.s:13 .text:0000000000000000 main |
497 |
*COM*:0000000000000002 data_length |
498 |
*COM*:0000000000000002 packet_data |
499 |
*COM*:0000000000000002 send_buffer |
500 |
*COM*:000000000000000a wl_basic_group_handler |
501 |
*COM*:0000000000000008 current_packet |
502 |
|
503 |
UNDEFINED SYMBOLS |
504 |
__do_copy_data |
505 |
__do_clear_bss |
506 |
dragonfly_init |
507 |
xbee_init |
508 |
wl_basic_init_default |
509 |
wl_set_channel |
510 |
orb_init |
511 |
rtc_init |
512 |
motors_init |
513 |
get_robotid |
514 |
wheel |
515 |
orb1_set_color |
516 |
bom_on |
517 |
motor_r_set |
518 |
motor_l_set |
519 |
delay_ms |
520 |
wl_basic_do_default |
521 |
rtc_reset |
522 |
orb2_set_color |
523 |
range_read_distance |
524 |
wl_basic_send_global_packet |
525 |
rtc_get |
526 |
motors_off |
527 |
bom_off |
528 |
bom_refresh |
529 |
bom_get_max |
530 |
hunter_prey_tagged |
531 |
button2_read |