root / trunk / code / behaviors / hunter_prey / james / main.lst @ 1847
History | View | Annotate | Download (18.5 KB)
1 | 1847 | azirbel | 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 |