📄 main.lst
字号:
542 01a2 C093 0000 sts previous_delay,r28
267:main.c **** store_bit( 0, 1 );
543 .stabn 68,0,267,.LM60-__vector_5
544 .LM60:
545 01a6 61E0 ldi r22,lo8(1)
546 01a8 80E0 ldi r24,lo8(0)
547 01aa 99DF rcall store_bit
268:main.c **** store_bit( 1 , 1 );
548 .stabn 68,0,268,.LM61-__vector_5
549 .LM61:
550 01ac 61E0 ldi r22,lo8(1)
551 01ae 862F mov r24,r22
552 01b0 6CC0 rjmp .L45
553 .L26:
269:main.c **** } //pulsePerBit = 8 or 32;
270:main.c **** else if ( ( sof == 0 ) && ( z >= ( uint8_t )( pulsesPerBit3 - TOLERANCE ) ) && ( z <= (
554 .stabn 68,0,270,.LM62-__vector_5
555 .LM62:
556 01b2 8091 0000 lds r24,sof
557 01b6 8823 tst r24
558 01b8 59F4 brne .L28
559 01ba 9091 0000 lds r25,pulsesPerBit3
560 01be 892F mov r24,r25
561 01c0 8350 subi r24,lo8(-(-3))
562 01c2 2817 cp r18,r24
563 01c4 28F0 brlo .L28
564 01c6 9D5F subi r25,lo8(-(3))
565 01c8 9217 cp r25,r18
566 01ca 10F0 brlo .L28
271:main.c **** sof = 1; //SOF;
567 .stabn 68,0,271,.LM63-__vector_5
568 .LM63:
569 01cc 81E0 ldi r24,lo8(1)
570 01ce 4CC0 rjmp .L44
571 .L28:
272:main.c **** else if ( sof == 1 )
572 .stabn 68,0,272,.LM64-__vector_5
573 .LM64:
574 01d0 1091 0000 lds r17,sof
575 01d4 1130 cpi r17,lo8(1)
576 01d6 09F0 breq .+2
577 01d8 4AC0 rjmp .L30
273:main.c **** {
274:main.c **** if ( ( z >= ( uint8_t )( pulsesPerBit2 - TOLERANCE ) ) && ( z <= ( uint8_t )( pulse
578 .stabn 68,0,274,.LM65-__vector_5
579 .LM65:
580 01da 9091 0000 lds r25,pulsesPerBit2
581 01de 892F mov r24,r25
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s page 16
582 01e0 8350 subi r24,lo8(-(-3))
583 01e2 2817 cp r18,r24
584 01e4 C0F0 brlo .L31
585 01e6 8A5F subi r24,lo8(-(6))
586 01e8 8217 cp r24,r18
587 01ea A8F0 brlo .L31
275:main.c **** {
276:main.c **** store_bit( 1 , 0 );
588 .stabn 68,0,276,.LM66-__vector_5
589 .LM66:
590 01ec 60E0 ldi r22,lo8(0)
591 01ee 812F mov r24,r17
592 01f0 76DF rcall store_bit
277:main.c **** store_bit( 0 , 0 );
593 .stabn 68,0,277,.LM67-__vector_5
594 .LM67:
595 01f2 60E0 ldi r22,lo8(0)
596 01f4 862F mov r24,r22
597 01f6 73DF rcall store_bit
278:main.c **** if ( capt < ( 2 * halfDataRate ) )
598 .stabn 68,0,278,.LM68-__vector_5
599 .LM68:
600 01f8 8091 0000 lds r24,halfDataRate
601 01fc 9091 0000 lds r25,(halfDataRate)+1
602 0200 880F add r24,r24
603 0202 991F adc r25,r25
604 0204 C817 cp r28,r24
605 0206 D907 cpc r29,r25
606 0208 18F4 brsh .L32
279:main.c **** bit_pos = 0;
607 .stabn 68,0,279,.LM69-__vector_5
608 .LM69:
609 020a 1092 0000 sts bit_pos,__zero_reg__
610 020e 3EC0 rjmp .L43
611 .L32:
280:main.c **** else
281:main.c **** bit_pos = 1;
612 .stabn 68,0,281,.LM70-__vector_5
613 .LM70:
614 0210 1093 0000 sts bit_pos,r17
615 0214 3BC0 rjmp .L43
616 .L31:
282:main.c **** }
283:main.c **** else if ( ( z >= ( uint8_t )( pulsesPerBit - TOLERANCE ) ) && ( z <= ( uint8_t )( p
617 .stabn 68,0,283,.LM71-__vector_5
618 .LM71:
619 0216 832F mov r24,r19
620 0218 8350 subi r24,lo8(-(-3))
621 021a 2817 cp r18,r24
622 021c A0F0 brlo .L35
623 021e 3D5F subi r19,lo8(-(3))
624 0220 3217 cp r19,r18
625 0222 88F0 brlo .L35
284:main.c **** {
285:main.c **** store_bit( bit_pos , 0 ); //0!
626 .stabn 68,0,285,.LM72-__vector_5
627 .LM72:
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s page 17
628 0224 60E0 ldi r22,lo8(0)
629 0226 8091 0000 lds r24,bit_pos
630 022a 59DF rcall store_bit
286:main.c **** if ( capt >= ( 2 * halfDataRate ) )
631 .stabn 68,0,286,.LM73-__vector_5
632 .LM73:
633 022c 8091 0000 lds r24,halfDataRate
634 0230 9091 0000 lds r25,(halfDataRate)+1
635 0234 880F add r24,r24
636 0236 991F adc r25,r25
637 0238 C817 cp r28,r24
638 023a D907 cpc r29,r25
639 023c 38F1 brlo .L43
287:main.c **** bit_pos = 1;
640 .stabn 68,0,287,.LM74-__vector_5
641 .LM74:
642 023e 81E0 ldi r24,lo8(1)
643 0240 8093 0000 sts bit_pos,r24
644 0244 23C0 rjmp .L43
645 .L35:
288:main.c **** }
289:main.c **** else if ( ( z >= ( uint8_t )( pulsesPerBit3 - TOLERANCE ) ) && ( z <= ( uint8_t )(
646 .stabn 68,0,289,.LM75-__vector_5
647 .LM75:
648 0246 8091 0000 lds r24,pulsesPerBit3
649 024a 8350 subi r24,lo8(-(-3))
650 024c 2817 cp r18,r24
651 024e 78F0 brlo .L30
652 0250 9D5F subi r25,lo8(-(3))
653 0252 9217 cp r25,r18
654 0254 60F0 brlo .L30
655 0256 CA01 movw r24,r20
656 0258 880F lsl r24
657 025a 991F rol r25
658 025c 840F add r24,r20
659 025e 951F adc r25,r21
660 0260 8C17 cp r24,r28
661 0262 9D07 cpc r25,r29
662 0264 20F4 brsh .L30
290:main.c **** {
291:main.c **** sof = 2;
663 .stabn 68,0,291,.LM76-__vector_5
664 .LM76:
665 0266 82E0 ldi r24,lo8(2)
666 .L44:
667 0268 8093 0000 sts sof,r24
668 026c 0FC0 rjmp .L43
669 .L30:
292:main.c **** }
293:main.c **** else
294:main.c **** {
295:main.c **** if ( ( bit_pos == 1 ) && ( z >= ( uint8_t )( pulsesPerBit2 + TOLERANCE ) ) )
296:main.c **** store_bit( 1 , 0 );
297:main.c **** store_bit( 0 , 1 );
298:main.c **** }
299:main.c **** }
300:main.c **** else
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s page 18
301:main.c **** {
302:main.c **** if ( ( bit_pos == 1 ) && ( z >= ( uint8_t )( pulsesPerBit2 + TOLERANCE ) ) )
670 .stabn 68,0,302,.LM77-__vector_5
671 .LM77:
672 026e 9091 0000 lds r25,bit_pos
673 0272 9130 cpi r25,lo8(1)
674 0274 41F4 brne .L42
675 0276 8091 0000 lds r24,pulsesPerBit2
676 027a 8D5F subi r24,lo8(-(3))
677 027c 2817 cp r18,r24
678 027e 18F0 brlo .L42
303:main.c **** store_bit(1, 0);
679 .stabn 68,0,303,.LM78-__vector_5
680 .LM78:
681 0280 60E0 ldi r22,lo8(0)
682 0282 892F mov r24,r25
683 0284 2CDF rcall store_bit
684 .L42:
304:main.c **** store_bit(0, 1);
685 .stabn 68,0,304,.LM79-__vector_5
686 .LM79:
687 0286 61E0 ldi r22,lo8(1)
688 0288 80E0 ldi r24,lo8(0)
689 .L45:
690 028a 29DF rcall store_bit
691 .L43:
305:main.c **** }
306:main.c **** }
307:main.c **** else
308:main.c **** { //raw capture , used to debug;
309:main.c **** capt >>= 5;
310:main.c **** // store_pulse(capt); //x
311:main.c **** // store_pulse(z);
312:main.c **** }
313:main.c **** old_capture = icr;
692 .stabn 68,0,313,.LM80-__vector_5
693 .LM80:
694 028c F092 0000 sts (old_capture)+1,r15
695 0290 E092 0000 sts old_capture,r14
696 .L24:
314:main.c **** }
315:main.c **** last_capture = icr;
697 .stabn 68,0,315,.LM81-__vector_5
698 .LM81:
699 0294 F092 0000 sts (last_capture)+1,r15
700 0298 E092 0000 sts last_capture,r14
316:main.c **** }
701 .stabn 68,0,316,.LM82-__vector_5
702 .LM82:
703 .LBE2:
704 /* epilogue: frame size=0 */
705 029c FF91 pop r31
706 029e EF91 pop r30
707 02a0 DF91 pop r29
708 02a2 CF91 pop r28
709 02a4 BF91 pop r27
710 02a6 AF91 pop r26
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccARbaaa.s page 19
711 02a8 9F91 pop r25
712 02aa 8F91 pop r24
713 02ac 7F91 pop r23
714 02ae 6F91 pop r22
715 02b0 5F91 pop r21
716 02b2 4F91 pop r20
717 02b4 3F91 pop r19
718 02b6 2F91 pop r18
719 02b8 1F91 pop r17
720 02ba FF90 pop r15
721 02bc EF90 pop r14
722 02be 0F90 pop __tmp_reg__
723 02c0 0FBE out __SREG__,__tmp_reg__
724 02c2 0F90 pop __tmp_reg__
725 02c4 1F90 pop __zero_reg__
726 02c6 1895 reti
727 /* epilogue end (size=22) */
728 /* function __vector_5 size 211 (167) */
729 .size __vector_5, .-__vector_5
730 .stabs "z:r(4,2)",64,0,248,18
731 .stabs "capt:r(4,4)",64,0,249,28
732 .stabs "icr:r(4,4)",64,0,250,14
733 .stabn 192,0,0,.LBB2-__vector_5
734 .stabn 224,0,0,.LBE2-__vector_5
735 .Lscope2:
736 .stabs "",36,0,0,.Lscope2-__vector_5
737 .stabs "Capture:F(0,20)",36,0,334,Capture
738 .stabs "style:P(4,2)",64,0,333,17
739 .global Capture
740 .type Capture, @function
741 Capture:
317:main.c ****
318:main.c ****
319:main.c ****
320:main.c **** // ==================================================================
321:main.c ****
322:main.c **** //void dual_subcarrier_polling( void ) {
323:main.c ****
324:main.c ****
325:main.c **** //}
326:main.c ****
327:main.c ****
328:main.c **** // ==================================================================
329:main.c **** // Down Link setup function
330:main.c **** // Requires: maxCaptureTimeLow and maxCaptureTimeHi
331:main.c **** // (located here instead of level2 because of register variables)
332:main.c ****
333:main.c **** void Capture( uint8_t style )
334:main.c **** {
742 .stabn 68,0,334,.LM83-Capture
743 .LM83:
744 /* prologue: frame size=0 */
745 02c8 1F93 push r17
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -