1 .file "wl_token_ring.c" 2 .arch atmega128 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 wl_token_ring_leave 13 wl_token_ring_leave: 14 /* prologue: frame size=0 */ 15 /* prologue end (size=0) */ 16 0000 84E0 ldi r24,lo8(4) 17 0002 90E0 ldi r25,hi8(4) 18 0004 9093 0000 sts (ringState)+1,r25 19 0008 8093 0000 sts ringState,r24 20 /* epilogue: frame size=0 */ 21 000c 0895 ret 22 /* epilogue end (size=1) */ 23 /* function wl_token_ring_leave size 7 (6) */ 25 .global wl_token_ring_set_bom_functions 27 wl_token_ring_set_bom_functions: 28 /* prologue: frame size=0 */ 29 /* prologue end (size=0) */ 30 000e 9093 0000 sts (bom_on_function)+1,r25 31 0012 8093 0000 sts bom_on_function,r24 32 0016 7093 0000 sts (bom_off_function)+1,r23 33 001a 6093 0000 sts bom_off_function,r22 34 001e 5093 0000 sts (get_max_bom_function)+1,r21 35 0022 4093 0000 sts get_max_bom_function,r20 36 /* epilogue: frame size=0 */ 37 0026 0895 ret 38 /* epilogue end (size=1) */ 39 /* function wl_token_ring_set_bom_functions size 13 (12) */ 42 wl_token_ring_cleanup: 43 /* prologue: frame size=0 */ 44 /* prologue end (size=0) */ 45 /* epilogue: frame size=0 */ 46 0028 0895 ret 47 /* epilogue end (size=1) */ 48 /* function wl_token_ring_cleanup size 1 (0) */ 51 wl_token_ring_response_handler: 52 /* prologue: frame size=0 */ 53 /* prologue end (size=0) */ 54 /* epilogue: frame size=0 */ 55 002a 0895 ret 56 /* epilogue end (size=1) */ 57 /* function wl_token_ring_response_handler size 1 (0) */ 59 .global wl_token_iterator_has_next 61 wl_token_iterator_has_next: 62 /* prologue: frame size=0 */ 63 /* prologue end (size=0) */ 64 002c 20E0 ldi r18,lo8(0) 65 002e 30E0 ldi r19,hi8(0) 66 0030 8091 0000 lds r24,iteratorCount 67 0034 9091 0000 lds r25,(iteratorCount)+1 68 0038 8F5F subi r24,lo8(-1) 69 003a 9F4F sbci r25,hi8(-1) 70 003c 01F0 breq .L10 71 003e 21E0 ldi r18,lo8(1) 72 0040 30E0 ldi r19,hi8(1) 73 .L10: 74 0042 C901 movw r24,r18 75 /* epilogue: frame size=0 */ 76 0044 0895 ret 77 /* epilogue end (size=1) */ 78 /* function wl_token_iterator_has_next size 14 (13) */ 80 .global wl_token_get_matrix_size 82 wl_token_get_matrix_size: 83 /* prologue: frame size=0 */ 84 /* prologue end (size=0) */ 85 0046 0E94 0000 call sensor_matrix_get_size 86 /* epilogue: frame size=0 */ 87 004a 0895 ret 88 /* epilogue end (size=1) */ 89 /* function wl_token_get_matrix_size size 3 (2) */ 91 .global wl_token_get_num_robots 93 wl_token_get_num_robots: 94 /* prologue: frame size=0 */ 95 /* prologue end (size=0) */ 96 004c 0E94 0000 call sensor_matrix_get_joined 97 /* epilogue: frame size=0 */ 98 0050 0895 ret 99 /* epilogue end (size=1) */ 100 /* function wl_token_get_num_robots size 3 (2) */ 102 .global wl_token_get_robots_in_ring 104 wl_token_get_robots_in_ring: 105 /* prologue: frame size=0 */ 106 /* prologue end (size=0) */ 107 0052 0E94 0000 call sensor_matrix_get_joined 108 /* epilogue: frame size=0 */ 109 0056 0895 ret 110 /* epilogue end (size=1) */ 111 /* function wl_token_get_robots_in_ring size 3 (2) */ 113 .global wl_token_iterator_next 115 wl_token_iterator_next: 116 /* prologue: frame size=0 */ 117 0058 0F93 push r16 118 005a 1F93 push r17 119 005c CF93 push r28 120 005e DF93 push r29 121 /* prologue end (size=4) */ 122 0060 C091 0000 lds r28,iteratorCount 123 0064 D091 0000 lds r29,(iteratorCount)+1 124 0068 D7FD sbrc r29,7 125 006a 00C0 rjmp .L19 126 006c 2196 adiw r28,1 127 006e D093 0000 sts (iteratorCount)+1,r29 128 0072 C093 0000 sts iteratorCount,r28 129 0076 2197 sbiw r28,1 130 0078 00C0 rjmp .L21 131 .L22: 132 007a 8091 0000 lds r24,iteratorCount 133 007e 9091 0000 lds r25,(iteratorCount)+1 134 0082 0196 adiw r24,1 135 0084 9093 0000 sts (iteratorCount)+1,r25 136 0088 8093 0000 sts iteratorCount,r24 137 .L21: 138 008c 8091 0000 lds r24,iteratorCount 139 0090 9091 0000 lds r25,(iteratorCount)+1 140 0094 0E94 0000 call sensor_matrix_get_in_ring 141 0098 892B or r24,r25 142 009a 01F4 brne .L23 143 009c 0091 0000 lds r16,iteratorCount 144 00a0 1091 0000 lds r17,(iteratorCount)+1 145 00a4 0E94 0000 call sensor_matrix_get_size 146 00a8 0817 cp r16,r24 147 00aa 1907 cpc r17,r25 148 00ac 04F0 brlt .L22 149 .L23: 150 00ae 0091 0000 lds r16,iteratorCount 151 00b2 1091 0000 lds r17,(iteratorCount)+1 152 00b6 0E94 0000 call sensor_matrix_get_size 153 00ba 0817 cp r16,r24 154 00bc 1907 cpc r17,r25 155 00be 01F4 brne .L19 156 00c0 8FEF ldi r24,lo8(-1) 157 00c2 9FEF ldi r25,hi8(-1) 158 00c4 9093 0000 sts (iteratorCount)+1,r25 159 00c8 8093 0000 sts iteratorCount,r24 160 .L19: 161 00cc CE01 movw r24,r28 162 /* epilogue: frame size=0 */ 163 00ce DF91 pop r29 164 00d0 CF91 pop r28 165 00d2 1F91 pop r17 166 00d4 0F91 pop r16 167 00d6 0895 ret 168 /* epilogue end (size=5) */ 169 /* function wl_token_iterator_next size 64 (55) */ 171 .global wl_token_iterator_begin 173 wl_token_iterator_begin: 174 /* prologue: frame size=0 */ 175 00d8 CF93 push r28 176 00da DF93 push r29 177 /* prologue end (size=2) */ 178 00dc C0E0 ldi r28,lo8(0) 179 00de D0E0 ldi r29,hi8(0) 180 00e0 00C0 rjmp .L28 181 .L29: 182 00e2 2196 adiw r28,1 183 .L28: 184 00e4 CE01 movw r24,r28 185 00e6 0E94 0000 call sensor_matrix_get_in_ring 186 00ea 892B or r24,r25 187 00ec 01F4 brne .L30 188 00ee 0E94 0000 call sensor_matrix_get_size 189 00f2 C817 cp r28,r24 190 00f4 D907 cpc r29,r25 191 00f6 04F0 brlt .L29 192 .L30: 193 00f8 0E94 0000 call sensor_matrix_get_size 194 00fc C817 cp r28,r24 195 00fe D907 cpc r29,r25 196 0100 01F4 brne .L32 197 0102 CFEF ldi r28,lo8(-1) 198 0104 DFEF ldi r29,hi8(-1) 199 .L32: 200 0106 D093 0000 sts (iteratorCount)+1,r29 201 010a C093 0000 sts iteratorCount,r28 202 /* epilogue: frame size=0 */ 203 010e DF91 pop r29 204 0110 CF91 pop r28 205 0112 0895 ret 206 /* epilogue end (size=3) */ 207 /* function wl_token_iterator_begin size 30 (25) */ 209 .global wl_token_is_robot_in_ring 211 wl_token_is_robot_in_ring: 212 /* prologue: frame size=0 */ 213 /* prologue end (size=0) */ 214 0114 0E94 0000 call sensor_matrix_get_in_ring 215 /* epilogue: frame size=0 */ 216 0118 0895 ret 217 /* epilogue end (size=1) */ 218 /* function wl_token_is_robot_in_ring size 3 (2) */ 220 .global wl_token_get_sensor_reading 222 wl_token_get_sensor_reading: 223 /* prologue: frame size=0 */ 224 011a 0F93 push r16 225 011c 1F93 push r17 226 011e CF93 push r28 227 0120 DF93 push r29 228 /* prologue end (size=4) */ 229 0122 EC01 movw r28,r24 230 0124 8B01 movw r16,r22 231 0126 CB01 movw r24,r22 232 0128 0E94 0000 call wl_token_is_robot_in_ring 233 012c 892B or r24,r25 234 012e 01F0 breq .L38 235 0130 0E94 0000 call wl_get_xbee_id 236 0134 C817 cp r28,r24 237 0136 D907 cpc r29,r25 238 0138 01F0 breq .L40 239 013a CE01 movw r24,r28 240 013c 0E94 0000 call wl_token_is_robot_in_ring 241 0140 892B or r24,r25 242 0142 01F0 breq .L38 243 .L40: 244 0144 B801 movw r22,r16 245 0146 CE01 movw r24,r28 246 0148 0E94 0000 call sensor_matrix_get_reading 247 014c 00C0 rjmp .L42 248 .L38: 249 014e 8FEF ldi r24,lo8(-1) 250 0150 9FEF ldi r25,hi8(-1) 251 .L42: 252 /* epilogue: frame size=0 */ 253 0152 DF91 pop r29 254 0154 CF91 pop r28 255 0156 1F91 pop r17 256 0158 0F91 pop r16 257 015a 0895 ret 258 /* epilogue end (size=5) */ 259 /* function wl_token_get_sensor_reading size 33 (24) */ 261 .global wl_token_get_my_sensor_reading 263 wl_token_get_my_sensor_reading: 264 /* prologue: frame size=0 */ 265 015c 0F93 push r16 266 015e 1F93 push r17 267 /* prologue end (size=2) */ 268 0160 8C01 movw r16,r24 269 0162 0E94 0000 call wl_get_xbee_id 270 0166 B801 movw r22,r16 271 0168 0E94 0000 call wl_token_get_sensor_reading 272 /* epilogue: frame size=0 */ 273 016c 1F91 pop r17 274 016e 0F91 pop r16 275 0170 0895 ret 276 /* epilogue end (size=3) */ 277 /* function wl_token_get_my_sensor_reading size 11 (6) */ 279 .global wl_token_ring_unregister 281 wl_token_ring_unregister: 282 /* prologue: frame size=0 */ 283 /* prologue end (size=0) */ 284 0172 80E0 ldi r24,lo8(wl_token_ring_handler) 285 0174 90E0 ldi r25,hi8(wl_token_ring_handler) 286 0176 0E94 0000 call wl_unregister_packet_group 287 /* epilogue: frame size=0 */ 288 017a 0895 ret 289 /* epilogue end (size=1) */ 290 /* function wl_token_ring_unregister size 5 (4) */ 292 .global wl_token_ring_join 294 wl_token_ring_join: 295 /* prologue: frame size=0 */ 296 017c 0F93 push r16 297 /* prologue end (size=1) */ 298 017e 82E0 ldi r24,lo8(2) 299 0180 90E0 ldi r25,hi8(2) 300 0182 9093 0000 sts (ringState)+1,r25 301 0186 8093 0000 sts ringState,r24 302 018a 88E0 ldi r24,lo8(8) 303 018c 90E0 ldi r25,hi8(8) 304 018e 9093 0000 sts (joinDelay)+1,r25 305 0192 8093 0000 sts joinDelay,r24 306 0196 00E0 ldi r16,lo8(0) 307 0198 20E0 ldi r18,lo8(0) 308 019a 30E0 ldi r19,hi8(0) 309 019c 40E0 ldi r20,lo8(0) 310 019e 50E0 ldi r21,hi8(0) 311 01a0 64E0 ldi r22,lo8(4) 312 01a2 82E0 ldi r24,lo8(2) 313 01a4 0E94 0000 call wl_send_global_packet 314 01a8 892B or r24,r25 315 01aa 01F0 breq .L49 316 01ac 8FEF ldi r24,lo8(-1) 317 01ae 9FEF ldi r25,hi8(-1) 318 01b0 00C0 rjmp .L51 319 .L49: 320 01b2 80E0 ldi r24,lo8(0) 321 01b4 90E0 ldi r25,hi8(0) 322 .L51: 323 /* epilogue: frame size=0 */ 324 01b6 0F91 pop r16 325 01b8 0895 ret 326 /* epilogue end (size=2) */ 327 /* function wl_token_ring_join size 31 (28) */ 330 wl_token_pass_token: 331 /* prologue: frame size=0 */ 332 01ba 6F92 push r6 333 01bc 7F92 push r7 334 01be 9F92 push r9 335 01c0 AF92 push r10 336 01c2 BF92 push r11 337 01c4 CF92 push r12 338 01c6 DF92 push r13 339 01c8 EF92 push r14 340 01ca FF92 push r15 341 01cc 0F93 push r16 342 01ce 1F93 push r17 343 01d0 CF93 push r28 344 01d2 DF93 push r29 345 01d4 CDB7 in r28,__SP_L__ 346 01d6 DEB7 in r29,__SP_H__ 347 /* prologue end (size=15) */ 348 01d8 6DB6 in r6,__SP_L__ 349 01da 7EB6 in r7,__SP_H__ 350 01dc 0E94 0000 call wl_get_xbee_id 351 01e0 8C01 movw r16,r24 352 01e2 0E94 0000 call sensor_matrix_get_size 353 01e6 880F lsl r24 354 01e8 991F rol r25 355 01ea 2DB7 in r18,__SP_L__ 356 01ec 3EB7 in r19,__SP_H__ 357 01ee 281B sub r18,r24 358 01f0 390B sbc r19,r25 359 01f2 0FB6 in __tmp_reg__,__SREG__ 360 01f4 F894 cli 361 01f6 3EBF out __SP_H__,r19 362 01f8 0FBE out __SREG__,__tmp_reg__ 363 01fa 2DBF out __SP_L__,r18 364 01fc ADB6 in r10,__SP_L__ 365 01fe BEB6 in r11,__SP_H__ 366 0200 0894 sec 367 0202 A11C adc r10,__zero_reg__ 368 0204 B11C adc r11,__zero_reg__ 369 0206 8091 0000 lds r24,accepted 370 020a 9091 0000 lds r25,(accepted)+1 371 020e 3FEF ldi r19,hi8(-1) 372 0210 8F3F cpi r24,lo8(-1) 373 0212 9307 cpc r25,r19 374 0214 01F4 brne .L54 375 .L74: 376 0216 0F5F subi r16,lo8(-(1)) 377 0218 1F4F sbci r17,hi8(-(1)) 378 021a 0E94 0000 call sensor_matrix_get_size 379 021e 0817 cp r16,r24 380 0220 1907 cpc r17,r25 381 0222 01F4 brne .L57 382 0224 00E0 ldi r16,lo8(0) 383 0226 10E0 ldi r17,hi8(0) 384 .L57: 385 0228 C801 movw r24,r16 386 022a 0E94 0000 call sensor_matrix_get_in_ring 387 022e 892B or r24,r25 388 0230 01F0 breq .+2 389 0232 00C0 rjmp .L73 390 0234 00C0 rjmp .L74 391 .L54: 392 0236 61E0 ldi r22,lo8(1) 393 0238 70E0 ldi r23,hi8(1) 394 023a 0E94 0000 call sensor_matrix_set_in_ring 395 023e 9090 0000 lds r9,accepted 396 0242 8FEF ldi r24,lo8(-1) 397 0244 9FEF ldi r25,hi8(-1) 398 0246 9093 0000 sts (accepted)+1,r25 399 024a 8093 0000 sts accepted,r24 400 .L61: 401 024e 00E0 ldi r16,lo8(0) 402 0250 10E0 ldi r17,hi8(0) 403 0252 CC24 clr r12 404 0254 DD24 clr r13 405 0256 7501 movw r14,r10 406 0258 00C0 rjmp .L62 407 .L63: 408 025a C801 movw r24,r16 409 025c 0E94 0000 call sensor_matrix_get_in_ring 410 0260 892B or r24,r25 411 0262 01F0 breq .L64 412 0264 0E94 0000 call wl_get_xbee_id 413 0268 0817 cp r16,r24 414 026a 1907 cpc r17,r25 415 026c 01F0 breq .L64 416 026e F701 movw r30,r14 417 0270 0083 st Z,r16 418 0272 0E94 0000 call wl_get_xbee_id 419 0276 B801 movw r22,r16 420 0278 0E94 0000 call sensor_matrix_get_reading 421 027c F701 movw r30,r14 422 027e 8183 std Z+1,r24 423 0280 0894 sec 424 0282 C11C adc r12,__zero_reg__ 425 0284 D11C adc r13,__zero_reg__ 426 0286 22E0 ldi r18,lo8(2) 427 0288 30E0 ldi r19,hi8(2) 428 028a E20E add r14,r18 429 028c F31E adc r15,r19 430 .L64: 431 028e 0F5F subi r16,lo8(-(1)) 432 0290 1F4F sbci r17,hi8(-(1)) 433 .L62: 434 0292 0E94 0000 call sensor_matrix_get_size 435 0296 0817 cp r16,r24 436 0298 1907 cpc r17,r25 437 029a 04F0 brlt .L63 438 029c CC0C lsl r12 439 029e DD1C rol r13 440 02a0 00E0 ldi r16,lo8(0) 441 02a2 9601 movw r18,r12 442 02a4 A501 movw r20,r10 443 02a6 62E0 ldi r22,lo8(2) 444 02a8 82E0 ldi r24,lo8(2) 445 02aa 0E94 0000 call wl_send_global_packet 446 02ae 892B or r24,r25 447 02b0 01F4 brne .L68 448 02b2 C92C mov r12,r9 449 02b4 DD24 clr r13 450 02b6 82E0 ldi r24,lo8(2) 451 02b8 E82E mov r14,r24 452 02ba 8601 movw r16,r12 453 02bc 20E0 ldi r18,lo8(0) 454 02be 30E0 ldi r19,hi8(0) 455 02c0 40E0 ldi r20,lo8(0) 456 02c2 50E0 ldi r21,hi8(0) 457 02c4 61E0 ldi r22,lo8(1) 458 02c6 82E0 ldi r24,lo8(2) 459 02c8 0E94 0000 call wl_send_robot_to_robot_global_packet 460 02cc 892B or r24,r25 461 02ce 01F4 brne .L68 462 02d0 D092 0000 sts (wl_token_next_robot)+1,r13 463 02d4 C092 0000 sts wl_token_next_robot,r12 464 02d8 84E0 ldi r24,lo8(4) 465 02da 90E0 ldi r25,hi8(4) 466 02dc 9093 0000 sts (deathDelay)+1,r25 467 02e0 8093 0000 sts deathDelay,r24 468 02e4 80E0 ldi r24,lo8(0) 469 02e6 90E0 ldi r25,hi8(0) 470 02e8 00C0 rjmp .L71 471 .L73: 472 02ea 902E mov r9,r16 473 02ec 00C0 rjmp .L61 474 .L68: 475 02ee 8FEF ldi r24,lo8(-1) 476 02f0 9FEF ldi r25,hi8(-1) 477 .L71: 478 02f2 0FB6 in __tmp_reg__,__SREG__ 479 02f4 F894 cli 480 02f6 7EBE out __SP_H__,r7 481 02f8 0FBE out __SREG__,__tmp_reg__ 482 02fa 6DBE out __SP_L__,r6 483 /* epilogue: frame size=0 */ 484 02fc DF91 pop r29 485 02fe CF91 pop r28 486 0300 1F91 pop r17 487 0302 0F91 pop r16 488 0304 FF90 pop r15 489 0306 EF90 pop r14 490 0308 DF90 pop r13 491 030a CF90 pop r12 492 030c BF90 pop r11 493 030e AF90 pop r10 494 0310 9F90 pop r9 495 0312 7F90 pop r7 496 0314 6F90 pop r6 497 0316 0895 ret 498 /* epilogue end (size=14) */ 499 /* function wl_token_pass_token size 175 (146) */ 502 wl_token_ring_receive_handler: 503 /* prologue: frame size=0 */ 504 0318 AF92 push r10 505 031a BF92 push r11 506 031c CF92 push r12 507 031e DF92 push r13 508 0320 EF92 push r14 509 0322 FF92 push r15 510 0324 0F93 push r16 511 0326 1F93 push r17 512 0328 CF93 push r28 513 032a DF93 push r29 514 /* prologue end (size=10) */ 515 032c 6B01 movw r12,r22 516 032e 8A01 movw r16,r20 517 0330 E901 movw r28,r18 518 0332 8330 cpi r24,lo8(3) 519 0334 01F4 brne .+2 520 0336 00C0 rjmp .L79 521 0338 8430 cpi r24,lo8(4) 522 033a 00F4 brsh .L82 523 033c 8130 cpi r24,lo8(1) 524 033e 01F0 breq .L77 525 0340 8230 cpi r24,lo8(2) 526 0342 01F0 breq .+2 527 0344 00C0 rjmp .L137 528 0346 00C0 rjmp .L78 529 .L82: 530 0348 8430 cpi r24,lo8(4) 531 034a 01F4 brne .+2 532 034c 00C0 rjmp .L80 533 034e 8530 cpi r24,lo8(5) 534 0350 01F0 breq .+2 535 0352 00C0 rjmp .L137 536 0354 00C0 rjmp .L81 537 .L77: 538 0356 8091 0000 lds r24,wl_token_next_robot 539 035a 9091 0000 lds r25,(wl_token_next_robot)+1 540 035e 6817 cp r22,r24 541 0360 7907 cpc r23,r25 542 0362 01F0 breq .L83 543 0364 0E94 0000 call wl_get_xbee_id 544 0368 2091 0000 lds r18,wl_token_next_robot 545 036c 3091 0000 lds r19,(wl_token_next_robot)+1 546 0370 8217 cp r24,r18 547 0372 9307 cpc r25,r19 548 0374 01F0 breq .L83 549 0376 8091 0000 lds r24,bom_on_count 550 037a 9091 0000 lds r25,(bom_on_count)+1 551 037e 0397 sbiw r24,3 552 0380 04F4 brge .L83 553 0382 8091 0000 lds r24,ringState 554 0386 9091 0000 lds r25,(ringState)+1 555 038a 0397 sbiw r24,3 556 038c 01F0 breq .+2 557 038e 00C0 rjmp .L137 558 .L83: 559 0390 CFEF ldi r28,lo8(-1) 560 0392 DFEF ldi r29,hi8(-1) 561 0394 D093 0000 sts (bom_on_count)+1,r29 562 0398 C093 0000 sts bom_on_count,r28 563 039c D093 0000 sts (deathDelay)+1,r29 564 03a0 C093 0000 sts deathDelay,r28 565 03a4 61E0 ldi r22,lo8(1) 566 03a6 70E0 ldi r23,hi8(1) 567 03a8 C601 movw r24,r12 568 03aa 0E94 0000 call sensor_matrix_set_in_ring 569 03ae 8091 0000 lds r24,ringState 570 03b2 9091 0000 lds r25,(ringState)+1 571 03b6 8330 cpi r24,3 572 03b8 9105 cpc r25,__zero_reg__ 573 03ba 01F4 brne .L87 574 03bc 0E94 0000 call wl_get_xbee_id 575 03c0 61E0 ldi r22,lo8(1) 576 03c2 70E0 ldi r23,hi8(1) 577 03c4 0E94 0000 call sensor_matrix_set_in_ring 578 03c8 81E0 ldi r24,lo8(1) 579 03ca 90E0 ldi r25,hi8(1) 580 03cc 9093 0000 sts (ringState)+1,r25 581 03d0 8093 0000 sts ringState,r24 582 03d4 D093 0000 sts (joinDelay)+1,r29 583 03d8 C093 0000 sts joinDelay,r28 584 03dc 00C0 rjmp .L89 585 .L87: 586 03de 8430 cpi r24,4 587 03e0 9105 cpc r25,__zero_reg__ 588 03e2 01F0 breq .L90 589 03e4 892B or r24,r25 590 03e6 01F4 brne .L89 591 .L90: 592 03e8 0E94 0000 call wl_get_xbee_id 593 03ec 60E0 ldi r22,lo8(0) 594 03ee 70E0 ldi r23,hi8(0) 595 03f0 00C0 rjmp .L140 596 .L89: 597 03f2 00E0 ldi r16,lo8(0) 598 03f4 20E0 ldi r18,lo8(0) 599 03f6 30E0 ldi r19,hi8(0) 600 03f8 40E0 ldi r20,lo8(0) 601 03fa 50E0 ldi r21,hi8(0) 602 03fc 63E0 ldi r22,lo8(3) 603 03fe 82E0 ldi r24,lo8(2) 604 0400 0E94 0000 call wl_send_global_packet 605 0404 E091 0000 lds r30,bom_on_function 606 0408 F091 0000 lds r31,(bom_on_function)+1 607 040c 0995 icall 608 040e 84E6 ldi r24,lo8(100) 609 0410 90E0 ldi r25,hi8(100) 610 0412 0E94 0000 call delay_ms 611 0416 E091 0000 lds r30,bom_off_function 612 041a F091 0000 lds r31,(bom_off_function)+1 613 041e 0995 icall 614 0420 0E94 0000 call wl_get_xbee_id 615 0424 0E94 0000 call sensor_matrix_get_in_ring 616 0428 892B or r24,r25 617 042a 01F4 brne .+2 618 042c 00C0 rjmp .L137 619 042e 00C0 rjmp .L141 620 .L78: 621 0430 8FEF ldi r24,lo8(-1) 622 0432 9FEF ldi r25,hi8(-1) 623 0434 9093 0000 sts (bom_on_count)+1,r25 624 0438 8093 0000 sts bom_on_count,r24 625 043c 9093 0000 sts (deathDelay)+1,r25 626 0440 8093 0000 sts deathDelay,r24 627 0444 61E0 ldi r22,lo8(1) 628 0446 70E0 ldi r23,hi8(1) 629 0448 C601 movw r24,r12 630 044a 0E94 0000 call sensor_matrix_set_in_ring 631 044e CE01 movw r24,r28 632 0450 62E0 ldi r22,lo8(2) 633 0452 70E0 ldi r23,hi8(2) 634 0454 0E94 0000 call __divmodhi4 635 0458 5B01 movw r10,r22 636 045a C0E0 ldi r28,lo8(0) 637 045c D0E0 ldi r29,hi8(0) 638 045e EE24 clr r14 639 0460 FF24 clr r15 640 0462 00C0 rjmp .L93 641 .L94: 642 0464 CC15 cp r28,r12 643 0466 DD05 cpc r29,r13 644 0468 01F4 brne .+2 645 046a 00C0 rjmp .L95 646 046c EA14 cp r14,r10 647 046e FB04 cpc r15,r11 648 0470 04F4 brge .L97 649 0472 F801 movw r30,r16 650 0474 8081 ld r24,Z 651 0476 9927 clr r25 652 0478 8C17 cp r24,r28 653 047a 9D07 cpc r25,r29 654 047c 01F4 brne .L97 655 047e 8091 0000 lds r24,accepted 656 0482 9091 0000 lds r25,(accepted)+1 657 0486 8C17 cp r24,r28 658 0488 9D07 cpc r25,r29 659 048a 01F4 brne .L100 660 048c 8FEF ldi r24,lo8(-1) 661 048e 9FEF ldi r25,hi8(-1) 662 0490 9093 0000 sts (accepted)+1,r25 663 0494 8093 0000 sts accepted,r24 664 .L100: 665 0498 F801 movw r30,r16 666 049a 4181 ldd r20,Z+1 667 049c 5527 clr r21 668 049e BE01 movw r22,r28 669 04a0 C601 movw r24,r12 670 04a2 0E94 0000 call sensor_matrix_set_reading 671 04a6 CE01 movw r24,r28 672 04a8 0E94 0000 call sensor_matrix_get_in_ring 673 04ac 61E0 ldi r22,lo8(1) 674 04ae 70E0 ldi r23,hi8(1) 675 04b0 CE01 movw r24,r28 676 04b2 0E94 0000 call sensor_matrix_set_in_ring 677 04b6 0894 sec 678 04b8 E11C adc r14,__zero_reg__ 679 04ba F11C adc r15,__zero_reg__ 680 04bc 0E5F subi r16,lo8(-(2)) 681 04be 1F4F sbci r17,hi8(-(2)) 682 04c0 00C0 rjmp .L95 683 .L97: 684 04c2 CE01 movw r24,r28 685 04c4 0E94 0000 call sensor_matrix_get_in_ring 686 04c8 892B or r24,r25 687 04ca 01F0 breq .L102 688 04cc 60E0 ldi r22,lo8(0) 689 04ce 70E0 ldi r23,hi8(0) 690 04d0 CE01 movw r24,r28 691 04d2 0E94 0000 call sensor_matrix_set_in_ring 692 .L102: 693 04d6 0E94 0000 call wl_get_xbee_id 694 04da C817 cp r28,r24 695 04dc D907 cpc r29,r25 696 04de 01F4 brne .L104 697 04e0 8091 0000 lds r24,ringState 698 04e4 9091 0000 lds r25,(ringState)+1 699 04e8 0197 sbiw r24,1 700 04ea 01F4 brne .L104 701 04ec 1092 0000 sts (ringState)+1,__zero_reg__ 702 04f0 1092 0000 sts ringState,__zero_reg__ 703 04f4 0E94 0000 call wl_token_ring_join 704 .L104: 705 04f8 8091 0000 lds r24,acceptor 706 04fc 9091 0000 lds r25,(acceptor)+1 707 0500 C817 cp r28,r24 708 0502 D907 cpc r29,r25 709 0504 01F4 brne .L95 710 0506 0E94 0000 call wl_get_xbee_id 711 050a 60E0 ldi r22,lo8(0) 712 050c 70E0 ldi r23,hi8(0) 713 050e 0E94 0000 call sensor_matrix_set_in_ring 714 0512 1092 0000 sts (ringState)+1,__zero_reg__ 715 0516 1092 0000 sts ringState,__zero_reg__ 716 051a 8FEF ldi r24,lo8(-1) 717 051c 9FEF ldi r25,hi8(-1) 718 051e 9093 0000 sts (acceptor)+1,r25 719 0522 8093 0000 sts acceptor,r24 720 0526 0E94 0000 call wl_token_ring_join 721 .L95: 722 052a 2196 adiw r28,1 723 .L93: 724 052c 0E94 0000 call sensor_matrix_get_size 725 0530 C817 cp r28,r24 726 0532 D907 cpc r29,r25 727 0534 04F4 brge .+2 728 0536 00C0 rjmp .L94 729 0538 8601 movw r16,r12 730 .L138: 731 053a 0F5F subi r16,lo8(-(1)) 732 053c 1F4F sbci r17,hi8(-(1)) 733 053e 0E94 0000 call sensor_matrix_get_size 734 0542 0817 cp r16,r24 735 0544 1907 cpc r17,r25 736 0546 01F4 brne .L110 737 0548 00E0 ldi r16,lo8(0) 738 054a 10E0 ldi r17,hi8(0) 739 .L110: 740 054c C801 movw r24,r16 741 054e 0E94 0000 call sensor_matrix_get_in_ring 742 0552 892B or r24,r25 743 0554 01F4 brne .L112 744 0556 0C15 cp r16,r12 745 0558 1D05 cpc r17,r13 746 055a 01F4 brne .L138 747 .L112: 748 055c C02E mov r12,r16 749 055e DD24 clr r13 750 0560 0E94 0000 call wl_get_xbee_id 751 0564 C816 cp r12,r24 752 0566 D906 cpc r13,r25 753 0568 01F0 breq .L116 754 056a D092 0000 sts (wl_token_next_robot)+1,r13 755 056e C092 0000 sts wl_token_next_robot,r12 756 .L116: 757 0572 0E94 0000 call wl_get_xbee_id 758 0576 EC01 movw r28,r24 759 0578 2196 adiw r28,1 760 057a 01E0 ldi r16,lo8(1) 761 057c 10E0 ldi r17,hi8(1) 762 .L117: 763 057e 0E94 0000 call sensor_matrix_get_size 764 0582 C817 cp r28,r24 765 0584 D907 cpc r29,r25 766 0586 01F4 brne .L118 767 0588 C0E0 ldi r28,lo8(0) 768 058a D0E0 ldi r29,hi8(0) 769 .L118: 770 058c CC15 cp r28,r12 771 058e DD05 cpc r29,r13 772 0590 01F0 breq .L120 773 0592 CE01 movw r24,r28 774 0594 0E94 0000 call sensor_matrix_get_in_ring 775 0598 892B or r24,r25 776 059a 01F0 breq .L122 777 059c 0F5F subi r16,lo8(-(1)) 778 059e 1F4F sbci r17,hi8(-(1)) 779 .L122: 780 05a0 2196 adiw r28,1 781 05a2 00C0 rjmp .L117 782 .L120: 783 05a4 000F lsl r16 784 05a6 111F rol r17 785 05a8 000F lsl r16 786 05aa 111F rol r17 787 05ac 1093 0000 sts (deathDelay)+1,r17 788 05b0 0093 0000 sts deathDelay,r16 789 05b4 0E94 0000 call sensor_matrix_get_joined 790 05b8 892B or r24,r25 791 05ba 01F0 breq .+2 792 05bc 00C0 rjmp .L137 793 05be 8091 0000 lds r24,ringState 794 05c2 9091 0000 lds r25,(ringState)+1 795 05c6 0297 sbiw r24,2 796 05c8 01F0 breq .+2 797 05ca 00C0 rjmp .L137 798 05cc 42E0 ldi r20,lo8(2) 799 05ce E42E mov r14,r20 800 05d0 8601 movw r16,r12 801 05d2 20E0 ldi r18,lo8(0) 802 05d4 30E0 ldi r19,hi8(0) 803 05d6 40E0 ldi r20,lo8(0) 804 05d8 50E0 ldi r21,hi8(0) 805 05da 61E0 ldi r22,lo8(1) 806 05dc 82E0 ldi r24,lo8(2) 807 05de 0E94 0000 call wl_send_robot_to_robot_global_packet 808 05e2 00C0 rjmp .L137 809 .L79: 810 05e4 1092 0000 sts (bom_on_count)+1,__zero_reg__ 811 05e8 1092 0000 sts bom_on_count,__zero_reg__ 812 05ec E091 0000 lds r30,get_max_bom_function 813 05f0 F091 0000 lds r31,(get_max_bom_function)+1 814 05f4 0995 icall 815 05f6 8C01 movw r16,r24 816 05f8 0E94 0000 call wl_get_xbee_id 817 05fc A801 movw r20,r16 818 05fe B601 movw r22,r12 819 0600 0E94 0000 call sensor_matrix_set_reading 820 0604 00C0 rjmp .L137 821 .L80: 822 0606 8091 0000 lds r24,ringState 823 060a 9091 0000 lds r25,(ringState)+1 824 060e 0197 sbiw r24,1 825 0610 01F0 breq .+2 826 0612 00C0 rjmp .L137 827 0614 8091 0000 lds r24,accepted 828 0618 9091 0000 lds r25,(accepted)+1 829 061c 8617 cp r24,r22 830 061e 9707 cpc r25,r23 831 0620 01F4 brne .L127 832 0622 8FEF ldi r24,lo8(-1) 833 0624 9FEF ldi r25,hi8(-1) 834 0626 9093 0000 sts (accepted)+1,r25 835 062a 8093 0000 sts accepted,r24 836 062e 00C0 rjmp .L129 837 .L127: 838 0630 8F5F subi r24,lo8(-1) 839 0632 9F4F sbci r25,hi8(-1) 840 0634 01F0 breq .+2 841 0636 00C0 rjmp .L137 842 .L129: 843 0638 8601 movw r16,r12 844 .L139: 845 063a 0150 subi r16,lo8(-(-1)) 846 063c 1040 sbci r17,hi8(-(-1)) 847 063e 17FF sbrs r17,7 848 0640 00C0 rjmp .L131 849 0642 0E94 0000 call sensor_matrix_get_size 850 0646 8C01 movw r16,r24 851 0648 0150 subi r16,lo8(-(-1)) 852 064a 1040 sbci r17,hi8(-(-1)) 853 .L131: 854 064c 0E94 0000 call wl_get_xbee_id 855 0650 0817 cp r16,r24 856 0652 1907 cpc r17,r25 857 0654 01F0 breq .L133 858 0656 C801 movw r24,r16 859 0658 0E94 0000 call sensor_matrix_get_in_ring 860 065c 892B or r24,r25 861 065e 01F4 brne .L137 862 0660 00C0 rjmp .L139 863 .L133: 864 0662 D092 0000 sts (accepted)+1,r13 865 0666 C092 0000 sts accepted,r12 866 066a 31E0 ldi r19,lo8(1) 867 066c E32E mov r14,r19 868 066e 8601 movw r16,r12 869 0670 20E0 ldi r18,lo8(0) 870 0672 30E0 ldi r19,hi8(0) 871 0674 40E0 ldi r20,lo8(0) 872 0676 50E0 ldi r21,hi8(0) 873 0678 65E0 ldi r22,lo8(5) 874 067a 82E0 ldi r24,lo8(2) 875 067c 0E94 0000 call wl_send_robot_to_robot_global_packet 876 0680 0E94 0000 call sensor_matrix_get_joined 877 0684 0197 sbiw r24,1 878 0686 01F4 brne .L137 879 .L141: 880 0688 0E94 0000 call wl_token_pass_token 881 068c 00C0 rjmp .L137 882 .L81: 883 068e 88E0 ldi r24,lo8(8) 884 0690 90E0 ldi r25,hi8(8) 885 0692 9093 0000 sts (joinDelay)+1,r25 886 0696 8093 0000 sts joinDelay,r24 887 069a 83E0 ldi r24,lo8(3) 888 069c 90E0 ldi r25,hi8(3) 889 069e 9093 0000 sts (ringState)+1,r25 890 06a2 8093 0000 sts ringState,r24 891 06a6 7093 0000 sts (acceptor)+1,r23 892 06aa 6093 0000 sts acceptor,r22 893 06ae 0E94 0000 call wl_get_xbee_id 894 06b2 61E0 ldi r22,lo8(1) 895 06b4 70E0 ldi r23,hi8(1) 896 .L140: 897 06b6 0E94 0000 call sensor_matrix_set_in_ring 898 .L137: 899 /* epilogue: frame size=0 */ 900 06ba DF91 pop r29 901 06bc CF91 pop r28 902 06be 1F91 pop r17 903 06c0 0F91 pop r16 904 06c2 FF90 pop r15 905 06c4 EF90 pop r14 906 06c6 DF90 pop r13 907 06c8 CF90 pop r12 908 06ca BF90 pop r11 909 06cc AF90 pop r10 910 06ce 0895 ret 911 /* epilogue end (size=11) */ 912 /* function wl_token_ring_receive_handler size 483 (462) */ 915 wl_token_ring_timeout_handler: 916 /* prologue: frame size=0 */ 917 06d0 0F93 push r16 918 06d2 1F93 push r17 919 /* prologue end (size=2) */ 920 06d4 8091 0000 lds r24,deathDelay 921 06d8 9091 0000 lds r25,(deathDelay)+1 922 06dc 892B or r24,r25 923 06de 01F4 brne .L143 924 06e0 0091 0000 lds r16,wl_token_next_robot 925 06e4 1091 0000 lds r17,(wl_token_next_robot)+1 926 06e8 0E94 0000 call wl_get_xbee_id 927 06ec 0817 cp r16,r24 928 06ee 1907 cpc r17,r25 929 06f0 01F0 breq .L145 930 06f2 60E0 ldi r22,lo8(0) 931 06f4 70E0 ldi r23,hi8(0) 932 06f6 8091 0000 lds r24,wl_token_next_robot 933 06fa 9091 0000 lds r25,(wl_token_next_robot)+1 934 06fe 0E94 0000 call sensor_matrix_set_in_ring 935 0702 8FEF ldi r24,lo8(-1) 936 0704 9FEF ldi r25,hi8(-1) 937 0706 9093 0000 sts (wl_token_next_robot)+1,r25 938 070a 8093 0000 sts wl_token_next_robot,r24 939 070e 84E0 ldi r24,lo8(4) 940 0710 90E0 ldi r25,hi8(4) 941 0712 9093 0000 sts (deathDelay)+1,r25 942 0716 8093 0000 sts deathDelay,r24 943 .L145: 944 071a 8091 0000 lds r24,ringState 945 071e 9091 0000 lds r25,(ringState)+1 946 0722 0197 sbiw r24,1 947 0724 01F4 brne .L143 948 0726 0E94 0000 call wl_token_pass_token 949 .L143: 950 072a 8091 0000 lds r24,joinDelay 951 072e 9091 0000 lds r25,(joinDelay)+1 952 0732 892B or r24,r25 953 0734 01F4 brne .L148 954 0736 0E94 0000 call sensor_matrix_get_joined 955 073a 892B or r24,r25 956 073c 01F4 brne .L150 957 073e 0E94 0000 call wl_get_xbee_id 958 0742 61E0 ldi r22,lo8(1) 959 0744 70E0 ldi r23,hi8(1) 960 0746 0E94 0000 call sensor_matrix_set_in_ring 961 074a 81E0 ldi r24,lo8(1) 962 074c 90E0 ldi r25,hi8(1) 963 074e 9093 0000 sts (ringState)+1,r25 964 0752 8093 0000 sts ringState,r24 965 0756 84E0 ldi r24,lo8(4) 966 0758 90E0 ldi r25,hi8(4) 967 075a 9093 0000 sts (deathDelay)+1,r25 968 075e 8093 0000 sts deathDelay,r24 969 0762 0E94 0000 call wl_get_xbee_id 970 0766 9093 0000 sts (wl_token_next_robot)+1,r25 971 076a 8093 0000 sts wl_token_next_robot,r24 972 076e 00C0 rjmp .L148 973 .L150: 974 0770 0E94 0000 call wl_token_ring_join 975 0774 0E94 0000 call rand 976 0778 6FEF ldi r22,lo8(4095) 977 077a 7FE0 ldi r23,hi8(4095) 978 077c 0E94 0000 call __divmodhi4 979 0780 6F5F subi r22,lo8(-(1)) 980 0782 7F4F sbci r23,hi8(-(1)) 981 0784 7093 0000 sts (joinDelay)+1,r23 982 0788 6093 0000 sts joinDelay,r22 983 .L148: 984 078c 8091 0000 lds r24,deathDelay 985 0790 9091 0000 lds r25,(deathDelay)+1 986 0794 97FD sbrc r25,7 987 0796 00C0 rjmp .L152 988 0798 0197 sbiw r24,1 989 079a 9093 0000 sts (deathDelay)+1,r25 990 079e 8093 0000 sts deathDelay,r24 991 .L152: 992 07a2 8091 0000 lds r24,joinDelay 993 07a6 9091 0000 lds r25,(joinDelay)+1 994 07aa 97FD sbrc r25,7 995 07ac 00C0 rjmp .L154 996 07ae 0197 sbiw r24,1 997 07b0 9093 0000 sts (joinDelay)+1,r25 998 07b4 8093 0000 sts joinDelay,r24 999 .L154: 1000 07b8 8091 0000 lds r24,bom_on_count 1001 07bc 9091 0000 lds r25,(bom_on_count)+1 1002 07c0 97FD sbrc r25,7 1003 07c2 00C0 rjmp .L158 1004 07c4 0196 adiw r24,1 1005 07c6 9093 0000 sts (bom_on_count)+1,r25 1006 07ca 8093 0000 sts bom_on_count,r24 1007 .L158: 1008 /* epilogue: frame size=0 */ 1009 07ce 1F91 pop r17 1010 07d0 0F91 pop r16 1011 07d2 0895 ret 1012 /* epilogue end (size=3) */ 1013 /* function wl_token_ring_timeout_handler size 131 (126) */ 1015 .global wl_token_ring_register 1017 wl_token_ring_register: 1018 /* prologue: frame size=0 */ 1019 /* prologue end (size=0) */ 1020 07d4 0E94 0000 call wl_get_xbee_id 1021 07d8 8F3F cpi r24,255 1022 07da 9105 cpc r25,__zero_reg__ 1023 07dc 01F0 breq .L160 1024 07de 04F0 brlt .L160 1025 07e0 8FEF ldi r24,lo8(-1) 1026 07e2 9FEF ldi r25,hi8(-1) 1027 07e4 0895 ret 1028 .L160: 1029 07e6 0E94 0000 call sensor_matrix_create 1030 07ea 0E94 0000 call wl_get_xbee_id 1031 07ee 60E0 ldi r22,lo8(0) 1032 07f0 70E0 ldi r23,hi8(0) 1033 07f2 0E94 0000 call sensor_matrix_set_in_ring 1034 07f6 80E0 ldi r24,lo8(wl_token_ring_handler) 1035 07f8 90E0 ldi r25,hi8(wl_token_ring_handler) 1036 07fa 0E94 0000 call wl_register_packet_group 1037 07fe 80E0 ldi r24,lo8(0) 1038 0800 90E0 ldi r25,hi8(0) 1039 0802 0895 ret 1040 /* epilogue: frame size=0 */ 1041 /* epilogue: noreturn */ 1042 /* epilogue end (size=0) */ 1043 /* function wl_token_ring_register size 24 (24) */ 1045 .lcomm iteratorCount,2 1046 .data 1049 bom_on_function: 1050 0000 0000 .word gs(bom_on) 1053 bom_off_function: 1054 0002 0000 .word gs(bom_off) 1057 get_max_bom_function: 1058 0004 0000 .word gs(get_max_bom) 1061 wl_token_ring_handler: 1062 0006 0200 .word 2 1063 0008 0000 .word gs(wl_token_ring_timeout_handler) 1064 000a 0000 .word gs(wl_token_ring_response_handler) 1065 000c 0000 .word gs(wl_token_ring_receive_handler) 1066 000e 0000 .word gs(wl_token_ring_cleanup) 1069 wl_token_next_robot: 1070 0010 FFFF .word -1 1071 .lcomm bom_on_count,2 1072 .lcomm ringState,2 1075 deathDelay: 1076 0012 FFFF .word -1 1079 joinDelay: 1080 0014 FFFF .word -1 1083 accepted: 1084 0016 FFFF .word -1 1087 acceptor: 1088 0018 FFFF .word -1 1089 /* File "wl_token_ring.c": code 1035 = 0x040b ( 939), prologues 40, epilogues 56 */ DEFINED SYMBOLS *ABS*:00000000 wl_token_ring.c F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:3 *ABS*:0000003f __SREG__ F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:4 *ABS*:0000003e __SP_H__ F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:5 *ABS*:0000003d __SP_L__ F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:6 *ABS*:00000000 __tmp_reg__ F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:7 *ABS*:00000001 __zero_reg__ F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:13 .text:00000000 wl_token_ring_leave F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:1071 .bss:00000004 ringState F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:27 .text:0000000e wl_token_ring_set_bom_functions F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:1049 .data:00000000 bom_on_function F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:1053 .data:00000002 bom_off_function F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:1057 .data:00000004 get_max_bom_function F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:42 .text:00000028 wl_token_ring_cleanup F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:51 .text:0000002a wl_token_ring_response_handler F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:61 .text:0000002c wl_token_iterator_has_next .bss:00000000 iteratorCount F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:82 .text:00000046 wl_token_get_matrix_size F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:93 .text:0000004c wl_token_get_num_robots F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:104 .text:00000052 wl_token_get_robots_in_ring F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:115 .text:00000058 wl_token_iterator_next F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:173 .text:000000d8 wl_token_iterator_begin F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:211 .text:00000114 wl_token_is_robot_in_ring F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:222 .text:0000011a wl_token_get_sensor_reading F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:263 .text:0000015c wl_token_get_my_sensor_reading F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:281 .text:00000172 wl_token_ring_unregister F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:1061 .data:00000006 wl_token_ring_handler F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:294 .text:0000017c wl_token_ring_join F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:1079 .data:00000014 joinDelay F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:330 .text:000001ba wl_token_pass_token F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:1083 .data:00000016 accepted F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:1069 .data:00000010 wl_token_next_robot F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:1075 .data:00000012 deathDelay F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:502 .text:00000318 wl_token_ring_receive_handler F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:1045 .bss:00000002 bom_on_count F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:1087 .data:00000018 acceptor F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:915 .text:000006d0 wl_token_ring_timeout_handler F:\DOCUME~1\Evan\LOCALS~1\Temp/ccv7YxBR.s:1017 .text:000007d4 wl_token_ring_register UNDEFINED SYMBOLS __do_copy_data __do_clear_bss sensor_matrix_get_size sensor_matrix_get_joined sensor_matrix_get_in_ring wl_get_xbee_id sensor_matrix_get_reading wl_unregister_packet_group wl_send_global_packet sensor_matrix_set_in_ring wl_send_robot_to_robot_global_packet delay_ms __divmodhi4 sensor_matrix_set_reading rand sensor_matrix_create wl_register_packet_group bom_on bom_off get_max_bom