📄 main.lst
字号:
488 05C2 08A0 movf _Init_Flag
489 05C3 1903 btfsc 3,2
490 05C4 2DC9 goto l52
491 ;sd.h: 93: delay(8);
492 05C5 3008 movlw 8
493 05C6 00E3 movwf ?_delay
494 05C7 01E4 clrf ?_delay+1
495 05C8 254B fcall _delay
496 05C9 l52
497 05C9 0AE2 incf ?a_Write_Byte_MMC+1
498 05CA 3008 movlw 8
499 05CB 0262 subwf ?a_Write_Byte_MMC+1,w
500 05CC 1803 btfsc 3,0
501 05CD 0008 return
502 05CE 2DA7 goto l46
503 05CF _Read_Byte_MMC
504 ; _i assigned to ?a_Read_Byte_MMC+0
505 0000 _Read_Byte_MMC$i set ?a_Read_Byte_MMC
506 ; _temp assigned to ?a_Read_Byte_MMC+1
507 0000 _Read_Byte_MMC$temp set ?a_Read_Byte_MMC+1
508 ;sd.h: 97: unsigned char Read_Byte_MMC()
509 05CF 0183 clrf 3 ;select bank 0
510 05D0 01E2 clrf ?a_Read_Byte_MMC+1
511 ;sd.h: 101: unsigned char i;
512 05D1 1187 bcf 7,3
513 ;sd.h: 105: for (i=0;i<8;i++)
514 05D2 01E1 clrf ?a_Read_Byte_MMC
515 05D3 l54
516 ;sd.h: 106: {
517 05D3 1507 bsf 7,2
518 ;sd.h: 108: RC6=0;
519 05D4 1307 bcf 7,6
520 ;sd.h: 109: if(Init_Flag)
521 05D5 08A0 movf _Init_Flag
522 05D6 1903 btfsc 3,2
523 05D7 2DDC goto l57
524 ;sd.h: 110: delay(8);
525 05D8 3008 movlw 8
526 05D9 00E3 movwf ?_delay
527 05DA 01E4 clrf ?_delay+1
528 05DB 254B fcall _delay
529 05DC l57
530 ;sd.h: 111: temp=(temp<<1)+(unsigned char)RC2;
531 05DC 0862 movf ?a_Read_Byte_MMC+1,w
532 05DD 0762 addwf ?a_Read_Byte_MMC+1,w
533 05DE 00F0 movwf btemp
534 05DF 3000 movlw 0
535 05E0 1907 btfsc 7,2
536 05E1 3001 movlw 1
537 05E2 0770 addwf btemp,w
538 05E3 00E2 movwf ?a_Read_Byte_MMC+1
539 ;sd.h: 112: RC6=1;
540 05E4 1707 bsf 7,6
541 ;sd.h: 113: if(Init_Flag)
542 05E5 08A0 movf _Init_Flag
543 05E6 1903 btfsc 3,2
544 05E7 2DEC goto l58
545 ;sd.h: 114: delay(8);
546 05E8 3008 movlw 8
547 05E9 00E3 movwf ?_delay
548 05EA 01E4 clrf ?_delay+1
549 05EB 254B fcall _delay
550 05EC l58
551 05EC 0AE1 incf ?a_Read_Byte_MMC
552 05ED 3008 movlw 8
553 05EE 0261 subwf ?a_Read_Byte_MMC,w
554 05EF 1C03 btfss 3,0
555 05F0 2DD3 goto l54
556 ;sd.h: 115: }
557 05F1 1587 bsf 7,3
558 ;sd.h: 117: return (temp);
559 05F2 0862 movf ?a_Read_Byte_MMC+1,w
560 ;sd.h: 118: }
561 05F3 0008 return ;uses W
562 05F4 _main
563 ; _string assigned to ?a_main+0
564 0000 _main$string set ?a_main
565 ;main.c: 4: void main(void)
566 05F4 3010 movlw 16
567 05F5 1283 bcf 3,5
568 05F6 1303 bcf 3,6 ;carry unused
569 05F7 00E3 movwf ?_delay
570 05F8 3027 movlw 39
571 05F9 00E4 movwf ?_delay+1
572 05FA 254B fcall _delay
573 ;main.c: 8: string="i love you";
574 05FB 303B movlw low u109
575 05FC 00B7 movwf ?a_main
576 05FD 3000 movlw high u109
577 05FE 00B8 movwf ?a_main+1
578 ;main.c: 9: init();
579 05FF 2538 fcall _init
580 ;main.c: 10: usart_initial();
581 0600 252A fcall _usart_initial
582 ;main.c: 11: MMC_Init();
583 0601 267F 118A fcall _MMC_Init
584 ;main.c: 12: delay(10000);
585 0603 3010 movlw 16
586 0604 00E3 movwf ?_delay
587 0605 3027 movlw 39
588 0606 00E4 movwf ?_delay+1
589 0607 254B fcall _delay
590 ;main.c: 13: delay(1000);
591 0608 30E8 movlw 232
592 0609 00E3 movwf ?_delay
593 060A 3003 movlw 3
594 060B 00E4 movwf ?_delay+1
595 060C 254B fcall _delay
596 ;main.c: 14: MMC_get_volume_info();
597 060D 26F2 118A fcall _MMC_get_volume_info
598 ;main.c: 15: send_s("my mp3 starting....");
599 060F 30B0 movlw low u119
600 0610 00CB movwf ?_send_s
601 0611 3000 movlw high u119
602 0612 00CC movwf ?_send_s+1
603 0613 257C fcall _send_s
604 ;main.c: 17: send_s("sin sound test.....");
605 0614 30C4 movlw low u129
606 0615 00CB movwf ?_send_s
607 0616 3000 movlw high u129
608 0617 00CC movwf ?_send_s+1
609 0618 257C fcall _send_s
610 ;main.c: 19: send_s("sin sound test is ok!!");
611 0619 30F1 movlw low u139
612 061A 00CB movwf ?_send_s
613 061B 3000 movlw high u139
614 061C 00CC movwf ?_send_s+1
615 061D 257C fcall _send_s
616 ;main.c: 20: send_s("Starting playing....");
617 061E 309B movlw low u149
618 061F 00CB movwf ?_send_s
619 0620 3000 movlw high u149
620 0621 00CC movwf ?_send_s+1
621 0622 257C fcall _send_s
622 ;main.c: 23: }
623 0623 0183 clrf 3
624 0624 118A 2813 ljmp start
625 0626 _Write_Command_MMC
626 ; _CMD assigned to ?a_Write_Command_MMC+0
627 0000 _Write_Command_MMC$CMD set ?a_Write_Command_MMC
628 ; _tmp assigned to ?a_Write_Command_MMC+1
629 0000 _Write_Command_MMC$tmp set ?a_Write_Command_MMC
+ +1
630 ; _i assigned to ?a_Write_Command_MMC+2
631 0000 _Write_Command_MMC$i set ?a_Write_Command_MMC+2
632 ; _retry assigned to ?a_Write_Command_MMC+3
633 0000 _Write_Command_MMC$retry set ?a_Write_Command_M
+ MC+3
634 ;_CMD stored from w
635 0626 0183 clrf 3 ;select bank 0
636 0627 00DD movwf ?a_Write_Command_MMC
637 ;sd.h: 119: unsigned char Write_Command_MMC(uns
+ igned char *CMD)
638 0628 01E0 clrf ?a_Write_Command_MMC+3
639 ;sd.h: 124: unsigned char i;
640 0629 1787 bsf 7,7
641 ;sd.h: 129: Write_Byte_MMC(0xFF);
642 062A 30FF movlw -1
643 062B 25A3 fcall _Write_Byte_MMC
644 ;sd.h: 131: RC7=0;
645 062C 1387 bcf 7,7
646 ;sd.h: 134: for (i=0;i<0x06;i++)
647 062D 01DF clrf ?a_Write_Command_MMC+2
648 062E l60
649 ;sd.h: 135: {
650 062E 0ADD incf ?a_Write_Command_MMC
651 062F 035D decf ?a_Write_Command_MMC,w
652 0630 0084 movwf 4
653 0631 1383 bcf 3,7
654 0632 0800 movf 0,w
655 0633 25A3 fcall _Write_Byte_MMC
656 0634 0ADF incf ?a_Write_Command_MMC+2
657 0635 3006 movlw 6
658 0636 025F subwf ?a_Write_Command_MMC+2,w
659 0637 1C03 btfss 3,0
660 0638 2E2E goto l60
661 ;sd.h: 137: }
662 0639 25CF fcall _Read_Byte_MMC
663 063A l65
664 ;sd.h: 141: do
665 ;sd.h: 142: {
666 063A 25CF fcall _Read_Byte_MMC
667 063B 00DE movwf ?a_Write_Command_MMC+1
668 ;sd.h: 144: retry++;
669 063C 0AE0 incf ?a_Write_Command_MMC+3
670 ;sd.h: 145: }
671 063D 0F5E incfsz ?a_Write_Command_MMC+1,w
672 063E 2E43 goto l64
673 063F 3064 movlw 100
674 0640 0260 subwf ?a_Write_Command_MMC+3,w
675 0641 1C03 btfss 3,0
676 0642 2E3A goto l65
677 0643 l64
678 ;sd.h: 147: return(tmp);
679 0643 085E movf ?a_Write_Command_MMC+1,w
680 ;sd.h: 148: }
681 0644 0008 return ;uses W
682 0645 _MMC_Read_Block
683 ; _CMD assigned to ?a_MMC_Read_Block+0
684 0000 _MMC_Read_Block$CMD set ?a_MMC_Read_Block
685 ; _temp assigned to ?a_MMC_Read_Block+1
686 0000 _MMC_Read_Block$temp set ?a_MMC_Read_Block+1
687 ; _i assigned to ?a_MMC_Read_Block+3
688 0000 _MMC_Read_Block$i set ?a_MMC_Read_Block+3
689 ; _retry assigned to ?a_MMC_Read_Block+5
690 0000 _MMC_Read_Block$retry set ?a_MMC_Read_Block+5
691 ;_CMD stored from w
692 0645 0183 clrf 3 ;select bank 0
693 0646 00D6 movwf ?a_MMC_Read_Block
694 ;sd.h: 203: unsigned char MMC_Read_Block(unsign
+ ed char *CMD,unsigned char *Buffer,unsigned int
+ Bytes)
695 0647 01DB clrf ?a_MMC_Read_Block+5
696 0648 01DC clrf ?a_MMC_Read_Block+6
697 0649 l81
698 ;sd.h: 211: do
699 ;sd.h: 212: {
700 0649 0856 movf ?a_MMC_Read_Block,w
701 064A 2626 fcall _Write_Command_MMC
702 064B 00D7 movwf ?a_MMC_Read_Block+1
703 064C 01D8 clrf ?a_MMC_Read_Block+2
704 ;sd.h: 214: retry++;
705 064D 0ADB incf ?a_MMC_Read_Block+5
706 064E 1903 btfsc 3,2
707 064F 0ADC incf ?a_MMC_Read_Block+6
708 ;sd.h: 215: if(retry==100)
709 0650 085B movf ?a_MMC_Read_Block+5,w
710 0651 3A64 xorlw 100
711 0652 045C iorwf ?a_MMC_Read_Block+6,w
712 0653 1903 btfsc 3,2
713 ;sd.h: 216: {
714 0654 3404 retlw 4
715 ;sd.h: 218: }
716 0655 0858 movf ?a_MMC_Read_Block+2,w
717 0656 0457 iorwf ?a_MMC_Read_Block+1,w
718 0657 1D03 btfss 3,2
719 0658 2E49 goto l81
720 ;sd.h: 223: while (Read_Byte_MMC()!=0xfe);
721 0659 l83
722 0659 25CF fcall _Read_Byte_MMC
723 065A 3AFE xorlw -2
724 065B 1D03 btfss 3,2
725 065C 2E59 goto l83
726 ;sd.h: 226: for (i=0;i<Bytes;i++)
727 065D 01D9 clrf ?a_MMC_Read_Block+3
728 065E 01DA clrf ?a_MMC_Read_Block+4
729 065F l89
730 065F 0855 movf ?_MMC_Read_Block+2,w
731 0660 025A subwf ?a_MMC_Read_Block+4,w
732 0661 1D03 btfss 3,2
733 0662 2E65 goto u325
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -