⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fat.lis

📁 LED条屏显示程序,但是对初学者
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0610           ;                          for(j=0;j<10;j++)
 0610 0024              clr R0
 0612 0A86              std y+10,R0
 0614 21C0              xjmp L114
 0616           L111:
 0616                   .dbline 152
 0616 2884              ldd R2,y+8
 0618 3984              ldd R3,y+9
 061A C101              movw R24,R2
 061C 0196              adiw R24,1
 061E 9987              std y+9,R25
 0620 8887              std y+8,R24
 0622 25E0              ldi R18,5
 0624 30E0              ldi R19,0
 0626 0B85              ldd R16,y+11
 0628 1127              clr R17
 062A 0E940000          xcall lsl16
 062E F801              movw R30,R16
 0630 4A84              ldd R4,y+10
 0632 5524              clr R5
 0634 E40D              add R30,R4
 0636 F51D              adc R31,R5
 0638 80E0              ldi R24,<_buffer+1
 063A 90E0              ldi R25,>_buffer+1
 063C E80F              add R30,R24
 063E F91F              adc R31,R25
 0640 4080              ldd R4,z+0
 0642 80E0              ldi R24,<_buffer
 0644 90E0              ldi R25,>_buffer
 0646 F101              movw R30,R2
 0648 E45D              subi R30,212  ; offset = 300
 064A FE4F              sbci R31,254
 064C E80F              add R30,R24
 064E F91F              adc R31,R25
 0650 4082              std z+0,R4
 0652           L112:
 0652                   .dbline 151
 0652 0A84              ldd R0,y+10
 0654 0394              inc R0
 0656 0A86              std y+10,R0
 0658           L114:
 0658                   .dbline 151
 0658 8A85              ldd R24,y+10
 065A 8A30              cpi R24,10
 065C E0F2              brlo L111
 065E                   .dbline 153
 065E           ;                          buffer[300+Read_number++]=buffer[((int)i<<5)+j+1];
 065E           ;                      for(j=0;j<12;j++)
 065E 0024              clr R0
 0660 0A86              std y+10,R0
 0662 21C0              xjmp L119
 0664           L116:
 0664                   .dbline 154
 0664 2884              ldd R2,y+8
 0666 3984              ldd R3,y+9
 0668 C101              movw R24,R2
 066A 0196              adiw R24,1
 066C 9987              std y+9,R25
 066E 8887              std y+8,R24
 0670 25E0              ldi R18,5
 0672 30E0              ldi R19,0
 0674 0B85              ldd R16,y+11
 0676 1127              clr R17
 0678 0E940000          xcall lsl16
 067C F801              movw R30,R16
 067E 4A84              ldd R4,y+10
 0680 5524              clr R5
 0682 E40D              add R30,R4
 0684 F51D              adc R31,R5
 0686 80E0              ldi R24,<_buffer+14
 0688 90E0              ldi R25,>_buffer+14
 068A E80F              add R30,R24
 068C F91F              adc R31,R25
 068E 4080              ldd R4,z+0
 0690 80E0              ldi R24,<_buffer
 0692 90E0              ldi R25,>_buffer
 0694 F101              movw R30,R2
 0696 E45D              subi R30,212  ; offset = 300
 0698 FE4F              sbci R31,254
 069A E80F              add R30,R24
 069C F91F              adc R31,R25
 069E 4082              std z+0,R4
 06A0           L117:
 06A0                   .dbline 153
 06A0 0A84              ldd R0,y+10
 06A2 0394              inc R0
 06A4 0A86              std y+10,R0
 06A6           L119:
 06A6                   .dbline 153
 06A6 8A85              ldd R24,y+10
 06A8 8C30              cpi R24,12
 06AA E0F2              brlo L116
 06AC                   .dbline 155
 06AC           ;                          buffer[300+Read_number++]=buffer[((int)i<<5)+j+14];
 06AC           ;                          for(j=0;j<4;j++)
 06AC 0024              clr R0
 06AE 0A86              std y+10,R0
 06B0 21C0              xjmp L124
 06B2           L121:
 06B2                   .dbline 156
 06B2 2884              ldd R2,y+8
 06B4 3984              ldd R3,y+9
 06B6 C101              movw R24,R2
 06B8 0196              adiw R24,1
 06BA 9987              std y+9,R25
 06BC 8887              std y+8,R24
 06BE 25E0              ldi R18,5
 06C0 30E0              ldi R19,0
 06C2 0B85              ldd R16,y+11
 06C4 1127              clr R17
 06C6 0E940000          xcall lsl16
 06CA F801              movw R30,R16
 06CC 4A84              ldd R4,y+10
 06CE 5524              clr R5
 06D0 E40D              add R30,R4
 06D2 F51D              adc R31,R5
 06D4 80E0              ldi R24,<_buffer+28
 06D6 90E0              ldi R25,>_buffer+28
 06D8 E80F              add R30,R24
 06DA F91F              adc R31,R25
 06DC 4080              ldd R4,z+0
 06DE 80E0              ldi R24,<_buffer
 06E0 90E0              ldi R25,>_buffer
 06E2 F101              movw R30,R2
 06E4 E45D              subi R30,212  ; offset = 300
 06E6 FE4F              sbci R31,254
 06E8 E80F              add R30,R24
 06EA F91F              adc R31,R25
 06EC 4082              std z+0,R4
 06EE           L122:
 06EE                   .dbline 155
 06EE 0A84              ldd R0,y+10
 06F0 0394              inc R0
 06F2 0A86              std y+10,R0
 06F4           L124:
 06F4                   .dbline 155
 06F4 8A85              ldd R24,y+10
 06F6 8430              cpi R24,4
 06F8 E0F2              brlo L121
 06FA                   .dbline 157
 06FA           L109:
 06FA                   .dbline 149
 06FA 2B84              ldd R2,y+11
 06FC 3324              clr R3
 06FE 822D              mov R24,R2
 0700 8150              subi R24,1
 0702 8B87              std y+11,R24
 0704 2220              tst R2
 0706 09F0              breq X16
 0708 83CF              xjmp L108
 070A           X16:
 070A                   .dbline 158
 070A           ;                          buffer[300+Read_number++]=buffer[((int)i<<5)+j+28];
 070A           ;                          }
 070A           ;                         mp3_info.Name_number=MAX_NAME_LENGTH;
 070A 8AE1              ldi R24,26
 070C 80933400          sts _mp3_info+52,R24
 0710                   .dbline 160
 0710           ;                         
 0710           ;                         for(j=0;j<mp3_info.Name_number;j++)
 0710 0024              clr R0
 0712 0A86              std y+10,R0
 0714 CDC0              xjmp L130
 0716           L127:
 0716                   .dbline 161
 0716           ;                            {
 0716                   .dbline 162
 0716           ;                                 if((buffer[300+j*2]==0x2E)&(buffer[300+j*2+6]==0x33))     
 0716 82E0              ldi R24,2
 0718 0A84              ldd R0,y+10
 071A 809D              mul R24,R0
 071C F001              movw R30,R0
 071E 80E0              ldi R24,<_buffer+300
 0720 90E0              ldi R25,>_buffer+300
 0722 E80F              add R30,R24
 0724 F91F              adc R31,R25
 0726 8081              ldd R24,z+0
 0728 8E32              cpi R24,46
 072A 21F4              brne L136
 072C 81E0              ldi R24,1
 072E 90E0              ldi R25,0
 0730 6C01              movw R12,R24
 0732 02C0              xjmp L137
 0734           L136:
 0734 CC24              clr R12
 0736 DD24              clr R13
 0738           L137:
 0738 82E0              ldi R24,2
 073A 0A84              ldd R0,y+10
 073C 809D              mul R24,R0
 073E F001              movw R30,R0
 0740 80E0              ldi R24,<_buffer+306
 0742 90E0              ldi R25,>_buffer+306
 0744 E80F              add R30,R24
 0746 F91F              adc R31,R25
 0748 8081              ldd R24,z+0
 074A 8333              cpi R24,51
 074C 21F4              brne L138
 074E 81E0              ldi R24,1
 0750 90E0              ldi R25,0
 0752 5C01              movw R10,R24
 0754 02C0              xjmp L139
 0756           L138:
 0756 AA24              clr R10
 0758 BB24              clr R11
 075A           L139:
 075A 1601              movw R2,R12
 075C 2A20              and R2,R10
 075E 3B20              and R3,R11
 0760 2220              tst R2
 0762 11F4              brne X7
 0764 3320              tst R3
 0766 19F0              breq L132
 0768           X7:
 0768                   .dbline 163
 0768           ;                       mp3_info.Name_number=j;
 0768 0A84              ldd R0,y+10
 076A 00923400          sts _mp3_info+52,R0
 076E           L132:
 076E                   .dbline 164
 076E           ;                                 for(i=0;i<31;i++)
 076E 0024              clr R0
 0770 0B86              std y+11,R0
 0772 89C0              xjmp L144
 0774           L141:
 0774                   .dbline 165
 0774           ;                                  {
 0774                   .dbline 166
 0774           ;                                   SD_read_sector2(UNICODE_point+((int)i<<8),buffer,256);
 0774 80E0              ldi R24,256
 0776 91E0              ldi R25,1
 0778 9B83              std y+3,R25
 077A 8A83              std y+2,R24
 077C 80E0              ldi R24,<_buffer
 077E 90E0              ldi R25,>_buffer
 0780 9983              std y+1,R25
 0782 8883              std y+0,R24
 0784 2B84              ldd R2,y+11
 0786 3324              clr R3
 0788 322C              mov R3,R2
 078A 2224              clr R2
 078C 4424              clr R4
 078E 37FC              sbrc R3,7
 0790 4094              com R4
 0792 5524              clr R5
 0794 47FC              sbrc R4,7
 0796 5094              com R5
 0798 80900600          lds R8,_UNICODE_point+2
 079C 90900700          lds R9,_UNICODE_point+2+1
 07A0 60900400          lds R6,_UNICODE_point
 07A4 70900500          lds R7,_UNICODE_point+1
 07A8 620C              add R6,R2
 07AA 731C              adc R7,R3
 07AC 841C              adc R8,R4
 07AE 951C              adc R9,R5
 07B0 8301              movw R16,R6
 07B2 9401              movw R18,R8
 07B4 0E940000          xcall _SD_read_sector2
 07B8                   .dbline 167
 07B8           ;                                       for(Read_number=0;Read_number<128;Read_number++)
 07B8 0024              clr R0
 07BA 1124              clr R1
 07BC 1986              std y+9,R1
 07BE 0886              std y+8,R0
 07C0 58C0              xjmp L148
 07C2           L145:
 07C2                   .dbline 168
 07C2           ;                                          {
 07C2                   .dbline 169
 07C2           ;                                           if((buffer[Read_number<<1]==buffer[300+j*2])&(buffer[(Read_number<<1)+1]==buffer[300+j*2+1]))
 07C2 82E0              ldi R24,2
 07C4 0A84              ldd R0,y+10
 07C6 809D              mul R24,R0
 07C8 F001              movw R30,R0
 07CA 80E0              ldi R24,<_buffer+300
 07CC 90E0              ldi R25,>_buffer+300
 07CE E80F              add R30,R24
 07D0 F91F              adc R31,R25
 07D2 2080              ldd R2,z+0
 07D4 80E0              ldi R24,<_buffer
 07D6 90E0              ldi R25,>_buffer
 07D8 E885              ldd R30,y+8
 07DA F985              ldd R31,y+9
 07DC EE0F              lsl R30
 07DE FF1F              rol R31
 07E0 E80F              add R30,R24
 07E2 F91F              adc R31,R25
 07E4 3080              ldd R3,z+0
 07E6 3214              cp R3,R2
 07E8 21F4              brne L153
 07EA 81E0              ldi R24,1
 07EC 90E0              ldi R25,0
 07EE 6C01              movw R12,R24
 07F0 02C0              xjmp L154
 07F2           L153:
 07F2 CC24              clr R12
 07F4 DD24              clr R13
 07F6           L154:
 07F6 82E0              ldi R24,2
 07F8 0A84              ldd R0,y+10
 07FA 809D              mul R24,R0
 07FC F001              movw R30,R0
 07FE 80E0              ldi R24,<_buffer+301
 0800 90E0              ldi R25,>_buffer+301
 0802 E80F              add R30,R24
 0804 F91F              adc R31,R25
 0806 2080              ldd R2,z+0
 0808 80E0              ldi R24,<_buffer
 080A 90E0              ldi R25,>_buffer
 080C E885              ldd R30,y+8
 080E F985              ldd R31,y+9
 0810 EE0F              lsl R30
 0812 FF1F              rol R31
 0814 3196              adiw R30,1
 0816 E80F              add R30,R24
 0818 F91F              adc R31,R25
 081A 3080              ldd R3,z+0
 081C 3214              cp R3,R2
 081E 21F4              brne L155
 0820 81E0              ldi R24,1
 0822 90E0              ldi R25,0
 0824 5C01              movw R10,R24
 0826 02C0              xjmp L156
 0828           L155:
 0828 AA24              clr R10
 082A BB24              clr R11
 082C           L156:
 082C 1601              movw R2,R12
 082E 2A20              and R2,R10
 0830 3B20              and R3,R11
 0832 2220              tst R2
 0834 11F4              brne X8
 0836 3320              tst R3
 0838 B9F0              breq L149
 083A           X8:
 083A                   .dbline 170
 083A           ;                                             {
 083A                   .dbline 171
 083A           ;                                                  mp3_info.NAME[j]=Read_number+((int)i<<7);
 083A 27E0              ldi R18,7
 083C 30E0              ldi R19,0
 083E 0B85              ldd R16,y+11
 0840 1127              clr R17
 0842 0E940000          xcall lsl16
 0846 4884              ldd R4,y+8
 0848 5984              ldd R5,y+9
 084A 400E              add R4,R16

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -