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

📄 fat.lis

📁 LED条屏显示程序,但是对初学者
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 084C 511E              adc R5,R17
 084E 82E0              ldi R24,2
 0850 0A84              ldd R0,y+10
 0852 809D              mul R24,R0
 0854 F001              movw R30,R0
 0856 80E0              ldi R24,<_mp3_info
 0858 90E0              ldi R25,>_mp3_info
 085A E80F              add R30,R24
 085C F91F              adc R31,R25
 085E 5182              std z+1,R5
 0860 4082              std z+0,R4
 0862                   .dbline 172
 0862           ;                                                  i=40;
 0862 88E2              ldi R24,40
 0864 8B87              std y+11,R24
 0866                   .dbline 173
 0866           ;                                                  break;
 0866 0CC0              xjmp L147
 0868           L149:
 0868                   .dbline 175
 0868           L146:
 0868                   .dbline 167
 0868 8885              ldd R24,y+8
 086A 9985              ldd R25,y+9
 086C 0196              adiw R24,1
 086E 9987              std y+9,R25
 0870 8887              std y+8,R24
 0872           L148:
 0872                   .dbline 167
 0872 8885              ldd R24,y+8
 0874 9985              ldd R25,y+9
 0876 8038              cpi R24,128
 0878 E0E0              ldi R30,0
 087A 9E07              cpc R25,R30
 087C 08F4              brsh X17
 087E A1CF              xjmp L145
 0880           X17:
 0880           L147:
 0880                   .dbline 176
 0880           L142:
 0880                   .dbline 164
 0880 0B84              ldd R0,y+11
 0882 0394              inc R0
 0884 0B86              std y+11,R0
 0886           L144:
 0886                   .dbline 164
 0886 8B85              ldd R24,y+11
 0888 8F31              cpi R24,31
 088A 08F4              brsh X18
 088C 73CF              xjmp L141
 088E           X18:
 088E                   .dbline 177
 088E           ;                                                 }
 088E           ;                                               }
 088E           ;                                   }
 088E           ;                                  if(i!=41)
 088E 8932              cpi R24,41
 0890 61F0              breq L157
 0892                   .dbline 178
 0892           ;                                 mp3_info.NAME[j]=0x000A;     //OFFSET.0x3e是*
 0892 82E0              ldi R24,2
 0894 0A84              ldd R0,y+10
 0896 809D              mul R24,R0
 0898 F001              movw R30,R0
 089A 80E0              ldi R24,<_mp3_info
 089C 90E0              ldi R25,>_mp3_info
 089E E80F              add R30,R24
 08A0 F91F              adc R31,R25
 08A2 8AE0              ldi R24,10
 08A4 90E0              ldi R25,0
 08A6 9183              std z+1,R25
 08A8 8083              std z+0,R24
 08AA           L157:
 08AA                   .dbline 179
 08AA           L128:
 08AA                   .dbline 160
 08AA 0A84              ldd R0,y+10
 08AC 0394              inc R0
 08AE 0A86              std y+10,R0
 08B0           L130:
 08B0                   .dbline 160
 08B0 20903400          lds R2,_mp3_info+52
 08B4 0A84              ldd R0,y+10
 08B6 0214              cp R0,R2
 08B8 08F4              brsh X19
 08BA 2DCF              xjmp L127
 08BC           X19:
 08BC                   .dbline 180
 08BC           ;                             }
 08BC           ;                       }
 08BC           L102:
 08BC                   .dbline 181
 08BC           ;                 counter--;
 08BC 0C84              ldd R0,y+12
 08BE 0A94              dec R0
 08C0 0C86              std y+12,R0
 08C2                   .dbline 182
 08C2           ;                }
 08C2                   .dbline 183
 08C2           ;        }
 08C2 4AC0              xjmp L68
 08C4           L67:
 08C4                   .dbline 184
 08C4           ;   else if((buffer[0]!=0XE5)&(buffer[8]==0x4D)&(buffer[9]==0x50)&(buffer[10]==0x33))
 08C4 80910000          lds R24,_buffer
 08C8 853E              cpi R24,229
 08CA 29F0              breq L164
 08CC 81E0              ldi R24,1
 08CE 90E0              ldi R25,0
 08D0 988B              std y+16,R25
 08D2 8F87              std y+15,R24
 08D4 04C0              xjmp L165
 08D6           L164:
 08D6 0024              clr R0
 08D8 1124              clr R1
 08DA 188A              std y+16,R1
 08DC 0F86              std y+15,R0
 08DE           L165:
 08DE 80910800          lds R24,_buffer+8
 08E2 8D34              cpi R24,77
 08E4 21F4              brne L166
 08E6 81E0              ldi R24,1
 08E8 90E0              ldi R25,0
 08EA 7C01              movw R14,R24
 08EC 02C0              xjmp L167
 08EE           L166:
 08EE EE24              clr R14
 08F0 FF24              clr R15
 08F2           L167:
 08F2 80910900          lds R24,_buffer+9
 08F6 8035              cpi R24,80
 08F8 21F4              brne L168
 08FA 81E0              ldi R24,1
 08FC 90E0              ldi R25,0
 08FE 5C01              movw R10,R24
 0900 02C0              xjmp L169
 0902           L168:
 0902 AA24              clr R10
 0904 BB24              clr R11
 0906           L169:
 0906 80910A00          lds R24,_buffer+10
 090A 8333              cpi R24,51
 090C 21F4              brne L170
 090E 81E0              ldi R24,1
 0910 90E0              ldi R25,0
 0912 6C01              movw R12,R24
 0914 02C0              xjmp L171
 0916           L170:
 0916 CC24              clr R12
 0918 DD24              clr R13
 091A           L171:
 091A 2F84              ldd R2,y+15
 091C 3888              ldd R3,y+16
 091E 2E20              and R2,R14
 0920 3F20              and R3,R15
 0922 2A20              and R2,R10
 0924 3B20              and R3,R11
 0926 2C20              and R2,R12
 0928 3D20              and R3,R13
 092A 2220              tst R2
 092C 11F4              brne X9
 092E 3320              tst R3
 0930 99F0              breq L159
 0932           X9:
 0932                   .dbline 185
 0932           ;        {//处理数据了。
 0932                   .dbline 188
 0932           ;               //mp3_info.Name_number=0;
 0932           ;                         
 0932           ;                         mp3_info.DIR_FstClusL[0]=buffer[26];
 0932 20901A00          lds R2,_buffer+26
 0936 20923500          sts _mp3_info+53,R2
 093A                   .dbline 189
 093A           ;                 mp3_info.DIR_FstClusL[1]=buffer[27];
 093A 20901B00          lds R2,_buffer+27
 093E 20923600          sts _mp3_info+53+1,R2
 0942                   .dbline 192
 0942           ;          
 0942           ;                 //mp3_info.DIR_Filesize[0]=buffer[28];
 0942           ;                 mp3_info.DIR_Filesize[0]=buffer[29];
 0942 20901D00          lds R2,_buffer+29
 0946 20923700          sts _mp3_info+55,R2
 094A                   .dbline 193
 094A           ;                 mp3_info.DIR_Filesize[1]=buffer[30];
 094A 20901E00          lds R2,_buffer+30
 094E 20923800          sts _mp3_info+55+1,R2
 0952                   .dbline 196
 0952           ;                 //mp3_info.DIR_Filesize[3]=buffer[31];
 0952           ;                         
 0952           ;         counter--;
 0952 0C84              ldd R0,y+12
 0954 0A94              dec R0
 0956 0C86              std y+12,R0
 0958                   .dbline 197
 0958           ;        }  
 0958           L159:
 0958           L68:
 0958           L53:
 0958                   .dbline 199
 0958           L50:
 0958                   .dbline 121
 0958 0C84              ldd R0,y+12
 095A 0020              tst R0
 095C 09F0              breq X20
 095E D5CC              xjmp L49
 0960           X20:
 0960                   .dbline -2
 0960           L46:
 0960 6196              adiw R28,17
 0962 0E940000          xcall pop_gset5
 0966                   .dbline 0 ; func end
 0966 0895              ret
 0968                   .dbsym l counter 12 c
 0968                   .dbsym l mulu_Clus_number 4 l
 0968                   .dbsym l i 11 c
 0968                   .dbsym l j 10 c
 0968                   .dbsym l Read_number 8 i
 0968                   .dbsym r number 10 c
 0968                   .dbend
 0968                   .dbfunc e DAT_Directory _DAT_Directory fV
 0968           ;    Read_number -> y+8
 0968           ; mulu_Clus_number -> y+4
                        .even
 0968           _DAT_Directory::
 0968 0E940000          xcall push_gset5
 096C 2C97              sbiw R28,12
 096E                   .dbline -1
 096E                   .dbline 205
 096E           ;       
 096E           ;  }
 096E           ; 
 096E           ; }
 096E           ; 
 096E           ; //=======================================================================
 096E           ; void DAT_Directory(void)
 096E           ; {
 096E                   .dbline 210
 096E           ; 
 096E           ;  uint16 Read_number;
 096E           ;  uint32 mulu_Clus_number;
 096E           ;  
 096E           ;  Read_number=0;
 096E 0024              clr R0
 0970 1124              clr R1
 0972 1986              std y+9,R1
 0974 0886              std y+8,R0
 0976                   .dbline 211
 0976           ;  mulu_Clus_number=fat_info.Firstgengmulu;
 0976 20900300          lds R2,_fat_info+3
 097A 30900400          lds R3,_fat_info+3+1
 097E 4424              clr R4
 0980 5524              clr R5
 0982 FE01              movw R30,R28
 0984 2482              std z+4,R2
 0986 3582              std z+5,R3
 0988 4682              std z+6,R4
 098A 5782              std z+7,R5
 098C                   .dbline 212
 098C           ;  mulu_Clus_number<<=9;
 098C 89E0              ldi R24,9
 098E 90E0              ldi R25,0
 0990 FE01              movw R30,R28
 0992 2480              ldd R2,z+4
 0994 3580              ldd R3,z+5
 0996 4680              ldd R4,z+6
 0998 5780              ldd R5,z+7
 099A 8A93              st -y,R24
 099C 8101              movw R16,R2
 099E 9201              movw R18,R4
 09A0 0E940000          xcall lsl32
 09A4 FE01              movw R30,R28
 09A6 0483              std z+4,R16
 09A8 1583              std z+5,R17
 09AA 2683              std z+6,R18
 09AC 3783              std z+7,R19
 09AE 50C1              xjmp L185
 09B0           L184:
 09B0                   .dbline 215
 09B0           ;  
 09B0           ;  while(1)
 09B0           ;  {
 09B0                   .dbline 216
 09B0           ;   SD_read_sector2(mulu_Clus_number+((long)(Read_number++)<<5),buffer,32);
 09B0 80E2              ldi R24,32
 09B2 90E0              ldi R25,0
 09B4 9B83              std y+3,R25
 09B6 8A83              std y+2,R24
 09B8 80E0              ldi R24,<_buffer
 09BA 90E0              ldi R25,>_buffer
 09BC 9983              std y+1,R25
 09BE 8883              std y+0,R24
 09C0 2884              ldd R2,y+8
 09C2 3984              ldd R3,y+9
 09C4 C101              movw R24,R2
 09C6 0196              adiw R24,1
 09C8 9987              std y+9,R25
 09CA 8887              std y+8,R24
 09CC 85E0              ldi R24,5
 09CE 90E0              ldi R25,0
 09D0 4424              clr R4
 09D2 5524              clr R5
 09D4 8A93              st -y,R24
 09D6 8101              movw R16,R2
 09D8 9201              movw R18,R4
 09DA 0E940000          xcall lsl32
 09DE FE01              movw R30,R28
 09E0 2480              ldd R2,z+4
 09E2 3580              ldd R3,z+5
 09E4 4680              ldd R4,z+6
 09E6 5780              ldd R5,z+7
 09E8 200E              add R2,R16
 09EA 311E              adc R3,R17
 09EC 421E              adc R4,R18
 09EE 531E              adc R5,R19
 09F0 8101              movw R16,R2
 09F2 9201              movw R18,R4
 09F4 0E940000          xcall _SD_read_sector2
 09F8                   .dbline 217
 09F8           ;   if((buffer[0]!=0XE5)&(buffer[8]==0x44)&(buffer[9]==0x41)&(buffer[10]==0x54))
 09F8 80910000          lds R24,_buffer
 09FC 853E              cpi R24,229
 09FE 29F0              breq L192
 0A00 81E0              ldi R24,1
 0A02 90E0              ldi R25,0
 0A04 9B87              std y+11,R25
 0A06 8A87              std y+10,R24
 0A08 04C0              xjmp L193
 0A0A           L192:
 0A0A 0024              clr R0
 0A0C 1124              clr R1
 0A0E 1B86              std y+11,R1
 0A10 0A86              std y+10,R0
 0A12           L193:
 0A12 80910800          lds R24,_buffer+8
 0A16 8434              cpi R24,68
 0A18 21F4              brne L194
 0A1A 81E0              ldi R24,1
 0A1C 90E0              ldi R25,0
 0A1E 7C01              movw R14,R24
 0A20 02C0              xjmp L195
 0A22           L194:
 0A22 EE24              clr R14
 0A24 FF24              clr R15
 0A26           L195:
 0A26

⌨️ 快捷键说明

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