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

📄 fat16.lis

📁 AVR单片机做的MP3
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 03C8           L52:
 03C8                   .dbline 190
 03C8 C701              movw R24,R14
 03CA 0196              adiw R24,1
 03CC 7C01              movw R14,R24
 03CE           L54:
 03CE                   .dbline 190
 03CE C701              movw R24,R14
 03D0 8031              cpi R24,16
 03D2 E0E0              ldi R30,0
 03D4 9E07              cpc R25,R30
 03D6 B0F2              brlo L51
 03D8                   .dbline 198
 03D8           L48:
 03D8                   .dbline 187
 03D8 C501              movw R24,R10
 03DA 0196              adiw R24,1
 03DC 5C01              movw R10,R24
 03DE           L50:
 03DE                   .dbline 187
 03DE A616              cp R10,R22
 03E0 B706              cpc R11,R23
 03E2 08F4              brsh X1
 03E4 C4CF              rjmp L47
 03E6           X1:
 03E6                   .dbline 199
 03E6           ;                       }
 03E6           ;               }
 03E6           ;       }
 03E6           ;       return 0; //没有找到对应的目录项,返回0
 03E6 0027              clr R16
 03E8                   .dbline -2
 03E8           L46:
 03E8 2196              adiw R28,1
 03EA 00D0              rcall pop_gset5
 03EC 2496              adiw R28,4
 03EE                   .dbline 0 ; func end
 03EE 0895              ret
 03F0                   .dbsym r DirStart 20 i
 03F0                   .dbsym r DirSecCut 22 i
 03F0                   .dbsym r i 10 i
 03F0                   .dbsym r m 14 i
 03F0                   .dbsym r ID 12 pS[.3]
 03F0                   .dbsym l Name 11 pc
 03F0                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\ICCFIL~1\五键MP3ICC\fat16.c
 0000           L58:
 0000                   .blkb 2
 0002           L59:
 0002                   .blkb 2
 0004           L60:
 0004                   .blkb 2
                        .area data(ram, con, rel)
 002A                   .dbfile D:\ICCFIL~1\五键MP3ICC\fat16.c
 002A           L61:
 002A                   .blkb 2
                        .area idata
 002A 0000              .word 0
                        .area data(ram, con, rel)
 002C                   .dbfile D:\ICCFIL~1\五键MP3ICC\fat16.c
                        .area bss(ram, con, rel)
 0006                   .dbfile D:\ICCFIL~1\五键MP3ICC\fat16.c
 0006           L62:
 0006                   .blkb 2
 0008           L63:
 0008                   .blkb 11
 0013           L64:
 0013                   .blkb 1
                        .area data(ram, con, rel)
 002C                   .dbfile D:\ICCFIL~1\五键MP3ICC\fat16.c
 002C           L65:
 002C                   .blkb 1
                        .area idata
 002C 00                .byte 0
                        .area data(ram, con, rel)
 002D                   .dbfile D:\ICCFIL~1\五键MP3ICC\fat16.c
                        .area text(rom, con, rel)
 03F0                   .dbfile D:\ICCFIL~1\五键MP3ICC\fat16.c
 03F0                   .dbfunc e Readfile _Readfile fc
 03F0                   .dbsym s j L65 c
 03F0                   .dbsym s i L64 c
 03F0                   .dbsym s filename L63 A[11:11]c
 03F0                   .dbsym s m L62 i
 03F0                   .dbsym s pointer L61 i
 03F0                   .dbsym s p L60 i
 03F0                   .dbsym s t L59 i
 03F0                   .dbsym s r L58 i
 03F0           ;       DirStart -> <dead>
 03F0           ;          lenth -> y+21
 03F0           ;          count -> R10,R11
 03F0           ;    BytePerClus -> R10,R11
 03F0           ;        ClusNum -> R12,R13
 03F0           ;    unicodename -> y+5
 03F0           ;       NextClus -> R10,R11
 03F0           ;            LBA -> y+1
                        .even
 03F0           _Readfile::
 03F0 00D0              rcall push_gset4
 03F2 6997              sbiw R28,25
 03F4                   .dbline -1
 03F4                   .dbline 202
 03F4           ; }
 03F4           ; static uint8 Readfile()
 03F4           ; {
 03F4                   .dbline 206
 03F4           ;   static uint16 r,t,p,pointer=0,m;
 03F4           ;   static uint8 filename[11],i,j=0;
 03F4           ;   uint8 unicodename[16];
 03F4           ;   uint16 BytePerClus, ClusNum,NextClus,count=0,DirStart;
 03F4 AA24              clr R10
 03F6 BB24              clr R11
 03F8                   .dbline 208
 03F8           ;   uint32 LBA,lenth;
 03F8           ;   if(fileid.FileName[7]==0x31) 
 03F8 80913500          lds R24,_fileid+7
 03FC 8133              cpi R24,49
 03FE 09F0              breq X2
 0400 C6C0              rjmp L66
 0402           X2:
 0402                   .dbline 209
 0402           ;   {
 0402                   .dbline 210
 0402           ;    t=0;
 0402 2224              clr R2
 0404 3324              clr R3
 0406 30920300          sts L59+1,R3
 040A 20920200          sts L59,R2
 040E                   .dbline 211
 040E           ;    longfileflag=1;
 040E 81E0              ldi R24,1
 0410 80930600          sts _longfileflag,R24
 0414                   .dbline 212
 0414           ;    count=fileindex-1;
 0414 80910200          lds R24,_fileindex
 0418 90910300          lds R25,_fileindex+1
 041C 0197              sbiw R24,1
 041E 5C01              movw R10,R24
 0420                   .dbline 213
 0420           ;    m=count%16;
 0420 8F70              andi R24,15
 0422 9070              andi R25,0
 0424 90930700          sts L62+1,R25
 0428 80930600          sts L62,R24
 042C                   .dbline 214
 042C           ;    m<<=5;
 042C 25E0              ldi R18,5
 042E 30E0              ldi R19,0
 0430 8C01              movw R16,R24
 0432 00D0              rcall lsl16
 0434 10930700          sts L62+1,R17
 0438 00930600          sts L62,R16
 043C                   .dbline 215
 043C           ;    for(i=0;i<16;i++)
 043C 2224              clr R2
 043E 20921300          sts L64,R2
 0442 6BC0              rjmp L72
 0444           L69:
 0444                   .dbline 216
 0444           ;    {
 0444                   .dbline 217
 0444           ;     if(i<10)unicodename[i]=BUFFER[m+i+1];
 0444 80911300          lds R24,L64
 0448 8A30              cpi R24,10
 044A B8F4              brsh L73
 044C                   .dbline 217
 044C 282E              mov R2,R24
 044E 3324              clr R3
 0450 E0910600          lds R30,L62
 0454 F0910700          lds R31,L62+1
 0458 E20D              add R30,R2
 045A F31D              adc R31,R3
 045C 3196              adiw R30,1
 045E 80E0              ldi R24,<_BUFFER
 0460 90E0              ldi R25,>_BUFFER
 0462 E80F              add R30,R24
 0464 F91F              adc R31,R25
 0466 2080              ldd R2,z+0
 0468 CE01              movw R24,R28
 046A 0596              adiw R24,5
 046C E0911300          lds R30,L64
 0470 FF27              clr R31
 0472 E80F              add R30,R24
 0474 F91F              adc R31,R25
 0476 2082              std z+0,R2
 0478 17C0              rjmp L74
 047A           L73:
 047A                   .dbline 218
 047A           ;       else  unicodename[i]=BUFFER[m+i+4]; 
 047A 20901300          lds R2,L64
 047E 3324              clr R3
 0480 E0910600          lds R30,L62
 0484 F0910700          lds R31,L62+1
 0488 E20D              add R30,R2
 048A F31D              adc R31,R3
 048C 3496              adiw R30,4
 048E 80E0              ldi R24,<_BUFFER
 0490 90E0              ldi R25,>_BUFFER
 0492 E80F              add R30,R24
 0494 F91F              adc R31,R25
 0496 2080              ldd R2,z+0
 0498 CE01              movw R24,R28
 049A 0596              adiw R24,5
 049C E0911300          lds R30,L64
 04A0 FF27              clr R31
 04A2 E80F              add R30,R24
 04A4 F91F              adc R31,R25
 04A6 2082              std z+0,R2
 04A8           L74:
 04A8                   .dbline 219
 04A8           ;     if((BUFFER[m+1+i]==0x2E)&&(BUFFER[m+2+i]==0))
 04A8 20901300          lds R2,L64
 04AC 3324              clr R3
 04AE E0910600          lds R30,L62
 04B2 F0910700          lds R31,L62+1
 04B6 3196              adiw R30,1
 04B8 E20D              add R30,R2
 04BA F31D              adc R31,R3
 04BC 80E0              ldi R24,<_BUFFER
 04BE 90E0              ldi R25,>_BUFFER
 04C0 E80F              add R30,R24
 04C2 F91F              adc R31,R25
 04C4 8081              ldd R24,z+0
 04C6 8E32              cpi R24,46
 04C8 19F5              brne L75
 04CA E0910600          lds R30,L62
 04CE F0910700          lds R31,L62+1
 04D2 3296              adiw R30,2
 04D4 E20D              add R30,R2
 04D6 F31D              adc R31,R3
 04D8 80E0              ldi R24,<_BUFFER
 04DA 90E0              ldi R25,>_BUFFER
 04DC E80F              add R30,R24
 04DE F91F              adc R31,R25
 04E0 2080              ldd R2,z+0
 04E2 2220              tst R2
 04E4 A9F4              brne L75
 04E6                   .dbline 220
 04E6           ;       {
 04E6 0FC0              rjmp L78
 04E8           L77:
 04E8                   .dbline 222
 04E8                   .dbline 223
 04E8 20901300          lds R2,L64
 04EC 3324              clr R3
 04EE 822D              mov R24,R2
 04F0 8F5F              subi R24,255    ; addi 1
 04F2 80931300          sts L64,R24
 04F6 CE01              movw R24,R28
 04F8 0596              adiw R24,5
 04FA E22D              mov R30,R2
 04FC FF27              clr R31
 04FE E80F              add R30,R24
 0500 F91F              adc R31,R25
 0502 2224              clr R2
 0504 2082              std z+0,R2
 0506                   .dbline 224
 0506           L78:
 0506                   .dbline 221
 0506           ;        while(i<16)
 0506 80911300          lds R24,L64
 050A 8031              cpi R24,16
 050C 68F3              brlo L77
 050E                   .dbline 225
 050E           ;        {
 050E           ;        unicodename[i++]=0;
 050E           ;        }
 050E           ;        break;
 050E 0AC0              rjmp L71
 0510           L75:
 0510                   .dbline 227
 0510           L70:
 0510                   .dbline 215
 0510 80911300          lds R24,L64
 0514 8F5F              subi R24,255    ; addi 1
 0516 80931300          sts L64,R24
 051A           L72:
 051A                   .dbline 215
 051A 80911300          lds R24,L64
 051E 8031              cpi R24,16
 0520 08F4              brsh X3
 0522 90CF              rjmp L69
 0524           X3:
 0524           L71:
 0524                   .dbline 228
 0524           ;       }
 0524           ;    }
 0524           ;     for(i=0;i<16;i+=2)
 0524 2224              clr R2
 0526 20921300          sts L64,R2
 052A 2CC0              rjmp L83
 052C           L80:
 052C                   .dbline 229
 052C           ;    {
 052C                   .dbline 230
 052C           ;     if(i<8)
 052C 80911300          lds R24,L64
 0530 8830              cpi R24,8
 0532 68F4              brsh L84
 0534                   .dbline 231
 0534           ;       {
 0534                   .dbline 232
 0534           ;     show(unicodename+i,(uint8)t,0);
 0534 2224              clr R2
 0536 2882              std y+0,R2
 0538 20910200          lds R18,L59
 053C CE01              movw R24,R28
 053E 0596              adiw R24,5
 0540 00911300          lds R16,L64
 0544 1127              clr R17
 0546 080F              add R16,R24
 0548 191F              adc R17,R25
 054A 46D2              rcall _show
 054C                   .dbline 233
 054C           ;       }
 054C 0DC0              rjmp L85
 054E           L84:
 054E                   .dbline 235
 054E           ;       else
 054E           ;       {
 054E                   .dbline 236
 054E           ;       show(unicodename+i,(uint8)t-60,1);
 054E 81E0              ldi R24,1
 0550 8883              std y+0,R24
 0552 20910200          lds R18,L59
 0556 2C53              subi R18,60
 0558 CE01              movw R24,R28
 055A 0596              adiw R24,5
 055C 00911300          lds R16,L64
 0560 1127              clr R17
 0562 080F              add R16,R24
 0564 191F              adc R17,R25
 0566 38D2              rcall _show
 0568                   .dbline 237
 0568           ;       }
 0568           L85:

⌨️ 快捷键说明

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