📄 onewire.lst
字号:
307 0176 E223 and r30,r18
308 0178 09F4 brne .L14
309 017a 3E2F mov r19,r30
310 .L14:
311 .LBB12:
312 .LM35:
313 017c 89E5 ldi r24,lo8(89)
314 017e 90E0 ldi r25,hi8(89)
315 .LBB13:
316 /* #APP */
317 0180 8115 cp r24,__zero_reg__
318 0182 9105 cpc r25,__zero_reg__
319 0184 11F0 breq L_Exit_194
320 L_LOOP_194:
321 0186 0197 sbiw r24,1
322 0188 F1F7 brne L_LOOP_194
323 L_Exit_194:
324
325 /* #NOAPP */
326 .LBE13:
327 .LBE12:
328 .LM36:
329 018a E091 0000 lds r30,OW_DDR
330 018e F091 0000 lds r31,(OW_DDR)+1
331 0192 2095 com r18
332 0194 8081 ld r24,Z
333 0196 8223 and r24,r18
334 0198 8083 st Z,r24
335 .LM37:
336 019a 4FBF out 95-0x20,r20
337 .LM38:
338 019c 832F mov r24,r19
339 019e 9927 clr r25
340 /* epilogue: frame size=0 */
341 01a0 0895 ret
342 /* epilogue end (size=1) */
343 /* function ow_bit_io size 102 (101) */
344 .LFE9:
346 .global ow_byte_wr
348 ow_byte_wr:
349 .LFB10:
350 .LM39:
351 /* prologue: frame size=0 */
352 01a2 1F93 push r17
353 01a4 CF93 push r28
354 /* prologue end (size=2) */
355 01a6 C82F mov r28,r24
356 01a8 18E0 ldi r17,lo8(8)
357 .L17:
358 .LM40:
359 01aa 8C2F mov r24,r28
360 01ac 8170 andi r24,lo8(1)
361 01ae 0E94 0000 call ow_bit_io
362 .LM41:
363 01b2 C695 lsr r28
364 .LM42:
365 01b4 8111 cpse r24,__zero_reg__
366 01b6 C068 ori r28,lo8(-128)
367 .L19:
368 .LM43:
369 01b8 1150 subi r17,lo8(-(-1))
370 01ba B9F7 brne .L17
371 .LM44:
372 01bc 8C2F mov r24,r28
373 01be 9927 clr r25
374 /* epilogue: frame size=0 */
375 01c0 CF91 pop r28
376 01c2 1F91 pop r17
377 01c4 0895 ret
378 /* epilogue end (size=3) */
379 /* function ow_byte_wr size 20 (15) */
380 .LFE10:
382 .global ow_byte_rd
384 ow_byte_rd:
385 .LFB11:
386 .LM45:
387 /* prologue: frame size=0 */
388 /* prologue end (size=0) */
389 .LM46:
390 01c6 8FEF ldi r24,lo8(-1)
391 01c8 0E94 0000 call ow_byte_wr
392 .LM47:
393 01cc 9927 clr r25
394 /* epilogue: frame size=0 */
395 01ce 0895 ret
396 /* epilogue end (size=1) */
397 /* function ow_byte_rd size 5 (4) */
398 .LFE11:
400 .global ow_rom_search
402 ow_rom_search:
403 .LFB12:
404 .LM48:
405 /* prologue: frame size=0 */
406 01d0 DF92 push r13
407 01d2 EF92 push r14
408 01d4 FF92 push r15
409 01d6 0F93 push r16
410 01d8 1F93 push r17
411 01da CF93 push r28
412 01dc DF93 push r29
413 /* prologue end (size=7) */
414 01de E82E mov r14,r24
415 01e0 EB01 movw r28,r22
416 .LM49:
417 01e2 0E94 0000 call ow_reset
418 01e6 182F mov r17,r24
419 01e8 8823 tst r24
420 01ea 19F0 breq .L23
421 .LM50:
422 01ec 8FEF ldi r24,lo8(255)
423 01ee 90E0 ldi r25,hi8(255)
424 01f0 32C0 rjmp .L22
425 .L23:
426 .LM51:
427 01f2 80EF ldi r24,lo8(-16)
428 01f4 0E94 0000 call ow_byte_wr
429 .LM52:
430 01f8 D12E mov r13,r17
431 .LM53:
432 01fa 00E4 ldi r16,lo8(64)
433 .L24:
434 .LM54:
435 01fc 88E0 ldi r24,lo8(8)
436 01fe F82E mov r15,r24
437 .L27:
438 .LM55:
439 0200 81E0 ldi r24,lo8(1)
440 0202 0E94 0000 call ow_bit_io
441 0206 182F mov r17,r24
442 .LM56:
443 0208 81E0 ldi r24,lo8(1)
444 020a 0E94 0000 call ow_bit_io
445 020e 8823 tst r24
446 0210 29F0 breq .L30
447 .LM57:
448 0212 1123 tst r17
449 0214 71F0 breq .L32
450 .LM58:
451 0216 8EEF ldi r24,lo8(254)
452 0218 90E0 ldi r25,hi8(254)
453 021a 1DC0 rjmp .L22
454 .L30:
455 .LM59:
456 021c 1123 tst r17
457 021e 49F4 brne .L32
458 .LM60:
459 0220 0E15 cp r16,r14
460 0222 28F0 brlo .L35
461 0224 8881 ld r24,Y
462 0226 80FF sbrs r24,0
463 0228 04C0 rjmp .L32
464 022a E016 cp r14,r16
465 022c 11F0 breq .L32
466 .L35:
467 .LM61:
468 022e 11E0 ldi r17,lo8(1)
469 .LM62:
470 0230 D02E mov r13,r16
471 .L32:
472 .LM63:
473 0232 812F mov r24,r17
474 0234 0E94 0000 call ow_bit_io
475 .LM64:
476 0238 8881 ld r24,Y
477 023a 8695 lsr r24
478 023c 8883 st Y,r24
479 .LM65:
480 023e 1123 tst r17
481 0240 11F0 breq .L36
482 0242 8068 ori r24,lo8(-128)
483 0244 8883 st Y,r24
484 .L36:
485 .LM66:
486 0246 0150 subi r16,lo8(-(-1))
487 .LM67:
488 0248 FA94 dec r15
489 024a D1F6 brne .L27
490 .LM68:
491 024c 2196 adiw r28,1
492 .LM69:
493 024e 0023 tst r16
494 0250 A9F6 brne .L24
495 .LM70:
496 0252 8D2D mov r24,r13
497 0254 9927 clr r25
498 .L22:
499 /* epilogue: frame size=0 */
500 0256 DF91 pop r29
501 0258 CF91 pop r28
502 025a 1F91 pop r17
503 025c 0F91 pop r16
504 025e FF90 pop r15
505 0260 EF90 pop r14
506 0262 DF90 pop r13
507 0264 0895 ret
508 /* epilogue end (size=8) */
509 /* function ow_rom_search size 76 (61) */
510 .LFE12:
512 .global ow_command
514 ow_command:
515 .LFB13:
516 .LM71:
517 /* prologue: frame size=0 */
518 0266 0F93 push r16
519 0268 1F93 push r17
520 026a CF93 push r28
521 026c DF93 push r29
522 /* prologue end (size=4) */
523 026e 082F mov r16,r24
524 0270 EB01 movw r28,r22
525 .LM72:
526 0272 0E94 0000 call ow_reset
527 .LM73:
528 0276 2097 sbiw r28,0
529 0278 51F0 breq .L38
530 .LM74:
531 027a 85E5 ldi r24,lo8(85)
532 027c 0E94 0000 call ow_byte_wr
533 .LM75:
534 0280 18E0 ldi r17,lo8(8)
535 .L39:
536 .LM76:
537 0282 8991 ld r24,Y+
538 0284 0E94 0000 call ow_byte_wr
539 .LM77:
540 0288 1150 subi r17,lo8(-(-1))
541 028a D9F7 brne .L39
542 028c 03C0 rjmp .L42
543 .L38:
544 .LM78:
545 028e 8CEC ldi r24,lo8(-52)
546 0290 0E94 0000 call ow_byte_wr
547 .L42:
548 .LM79:
549 0294 802F mov r24,r16
550 0296 0E94 0000 call ow_byte_wr
551 /* epilogue: frame size=0 */
552 029a DF91 pop r29
553 029c CF91 pop r28
554 029e 1F91 pop r17
555 02a0 0F91 pop r16
556 02a2 0895 ret
557 /* epilogue end (size=5) */
558 /* function ow_command size 32 (23) */
559 .LFE13:
561 .comm OW_PIN_MASK,1,1
562 .comm OW_IN,2,1
563 .comm OW_OUT,2,1
564 .comm OW_DDR,2,1
565 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 onewire.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:20 .text:00000000 ow_reset
*COM*:00000002 OW_OUT
*COM*:00000001 OW_PIN_MASK
*COM*:00000002 OW_DDR
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:52 .text:00000034 L_Exit_23
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:49 .text:00000030 L_LOOP_23
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:83 .text:0000005a L_Exit_42
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:80 .text:00000056 L_LOOP_42
*COM*:00000002 OW_IN
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:108 .text:0000007a L_Exit_57
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:105 .text:00000076 L_LOOP_57
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:131 .text:00000088 ow_set_bus
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:163 .text:000000b8 ow_input_pin_state
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:183 .text:000000cc ow_parasite_enable
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:209 .text:000000f2 ow_parasite_disable
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:237 .text:0000011c ow_bit_io
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:268 .text:00000142 L_Exit_155
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:265 .text:0000013e L_LOOP_155
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:297 .text:00000168 L_Exit_175
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:294 .text:00000164 L_LOOP_175
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:323 .text:0000018a L_Exit_194
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:320 .text:00000186 L_LOOP_194
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:348 .text:000001a2 ow_byte_wr
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:384 .text:000001c6 ow_byte_rd
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:402 .text:000001d0 ow_rom_search
C:\DOCUME~1\liyuan\LOCALS~1\Temp/cce6aaaa.s:514 .text:00000266 ow_command
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -