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

📄 mp3player.lis

📁 diy硬盘mp3的程序
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0486 841C              adc R8,R4
 0488 951C              adc R9,R5
 048A 8882              std y+0,R8
 048C 9982              std y+1,R9
 048E 9301              movw R18,R6
 0490 0027              clr R16
 0492 0E940000          xcall _ata_read_sector_byte
 0496                   .dbline 198
 0496           ;                 for (j=0;j<Boot.BytesPerSec;j=j+32)
 0496 40E0              ldi R20,0
 0498 50E0              ldi R21,0
 049A 60E0              ldi R22,0
 049C 70E0              ldi R23,0
 049E FE01              movw R30,R28
 04A0 4487              std z+12,R20
 04A2 5587              std z+13,R21
 04A4 6687              std z+14,R22
 04A6 7787              std z+15,R23
 04A8 50C0              xjmp L72
 04AA           L69:
 04AA                   .dbline 199
 04AA           ;                         {
 04AA                   .dbline 200
 04AA           ;                         TimeOut = 0;
 04AA 40E0              ldi R20,0
 04AC 50E0              ldi R21,0
 04AE 60E0              ldi R22,0
 04B0 70E0              ldi R23,0
 04B2 FE01              movw R30,R28
 04B4 4087              std z+8,R20
 04B6 5187              std z+9,R21
 04B8 6287              std z+10,R22
 04BA 7387              std z+11,R23
 04BC 29C0              xjmp L75
 04BE           L74:
 04BE                   .dbline 202
 04BE           ;                         while (!(PORT_MP3_IN & DREQ))
 04BE           ;                                       {
 04BE                   .dbline 203
 04BE           ;                                       WDR();
 04BE A895              wdr
 04C0                   .dbline 204
 04C0           ;                                       if (Key != 0) return Key;
 04C0 20900000          lds R2,_Key
 04C4 2220              tst R2
 04C6 21F0              breq L77
 04C8                   .dbline 204
 04C8 00910000          lds R16,_Key
 04CC 1127              clr R17
 04CE C9C0              xjmp L59
 04D0           L77:
 04D0                   .dbline 205
 04D0           ;                                       TimeOut++;
 04D0 41E0              ldi R20,1
 04D2 50E0              ldi R21,0
 04D4 60E0              ldi R22,0
 04D6 70E0              ldi R23,0
 04D8 FE01              movw R30,R28
 04DA 2084              ldd R2,z+8
 04DC 3184              ldd R3,z+9
 04DE 4284              ldd R4,z+10
 04E0 5384              ldd R5,z+11
 04E2 240E              add R2,R20
 04E4 351E              adc R3,R21
 04E6 461E              adc R4,R22
 04E8 571E              adc R5,R23
 04EA 2086              std z+8,R2
 04EC 3186              std z+9,R3
 04EE 4286              std z+10,R4
 04F0 5386              std z+11,R5
 04F2                   .dbline 206
 04F2           ;                                       if (TimeOut > 100000) 
 04F2 40EA              ldi R20,160
 04F4 56E8              ldi R21,134
 04F6 61E0              ldi R22,1
 04F8 70E0              ldi R23,0
 04FA 4215              cp R20,R2
 04FC 5305              cpc R21,R3
 04FE 6405              cpc R22,R4
 0500 7505              cpc R23,R5
 0502 30F4              brsh L79
 0504                   .dbline 207
 0504           ;                                          {
 0504                   .dbline 208
 0504           ;                                          VS1001Init(HARD); // VS1001 is jam
 0504 01E0              ldi R16,1
 0506 0E940000          xcall _VS1001Init
 050A                   .dbline 209
 050A           ;                                          return 0x01; // Next Song
 050A 01E0              ldi R16,1
 050C 10E0              ldi R17,0
 050E A9C0              xjmp L59
 0510           L79:
 0510                   .dbline 211
 0510           L75:
 0510                   .dbline 201
 0510 B79B              sbis 0x16,7
 0512 D5CF              rjmp L74
 0514                   .dbline 212
 0514 20E2              ldi R18,32
 0516 80E0              ldi R24,<_SectorBuffer
 0518 90E0              ldi R25,>_SectorBuffer
 051A FE01              movw R30,R28
 051C 0485              ldd R16,z+12
 051E 1585              ldd R17,z+13
 0520 080F              add R16,R24
 0522 191F              adc R17,R25
 0524 0E940000          xcall _VS1001_Stream
 0528                   .dbline 213
 0528           L70:
 0528                   .dbline 198
 0528 40E2              ldi R20,32
 052A 50E0              ldi R21,0
 052C 60E0              ldi R22,0
 052E 70E0              ldi R23,0
 0530 FE01              movw R30,R28
 0532 2484              ldd R2,z+12
 0534 3584              ldd R3,z+13
 0536 4684              ldd R4,z+14
 0538 5784              ldd R5,z+15
 053A 240E              add R2,R20
 053C 351E              adc R3,R21
 053E 461E              adc R4,R22
 0540 571E              adc R5,R23
 0542 2486              std z+12,R2
 0544 3586              std z+13,R3
 0546 4686              std z+14,R4
 0548 5786              std z+15,R5
 054A           L72:
 054A                   .dbline 198
 054A 20900B00          lds R2,_Boot+11
 054E 30900C00          lds R3,_Boot+11+1
 0552 4424              clr R4
 0554 5524              clr R5
 0556 FE01              movw R30,R28
 0558 6484              ldd R6,z+12
 055A 7584              ldd R7,z+13
 055C 8684              ldd R8,z+14
 055E 9784              ldd R9,z+15
 0560 6214              cp R6,R2
 0562 7304              cpc R7,R3
 0564 8404              cpc R8,R4
 0566 9504              cpc R9,R5
 0568 08F4              brsh X6
 056A 9FCF              xjmp L69
 056C           X6:
 056C                   .dbline 214
 056C           L65:
 056C                   .dbline 195
 056C 41E0              ldi R20,1
 056E 50E0              ldi R21,0
 0570 60E0              ldi R22,0
 0572 70E0              ldi R23,0
 0574 FE01              movw R30,R28
 0576 2088              ldd R2,z+16
 0578 3188              ldd R3,z+17
 057A 4288              ldd R4,z+18
 057C 5388              ldd R5,z+19
 057E 240E              add R2,R20
 0580 351E              adc R3,R21
 0582 461E              adc R4,R22
 0584 571E              adc R5,R23
 0586 208A              std z+16,R2
 0588 318A              std z+17,R3
 058A 428A              std z+18,R4
 058C 538A              std z+19,R5
 058E           L67:
 058E                   .dbline 195
 058E 20900D00          lds R2,_Boot+13
 0592 3324              clr R3
 0594 4424              clr R4
 0596 5524              clr R5
 0598 FE01              movw R30,R28
 059A 6088              ldd R6,z+16
 059C 7188              ldd R7,z+17
 059E 8288              ldd R8,z+18
 05A0 9388              ldd R9,z+19
 05A2 6214              cp R6,R2
 05A4 7304              cpc R7,R3
 05A6 8404              cpc R8,R4
 05A8 9504              cpc R9,R5
 05AA 08F4              brsh X7
 05AC 55CF              xjmp L64
 05AE           X7:
 05AE                   .dbline 215
 05AE           ;                                          }
 05AE           ;                                       }       
 05AE           ;                         VS1001_Stream(&SectorBuffer[j],32);
 05AE           ;                         }
 05AE           ;                 }
 05AE           ;         ByteSend += (Boot.BytesPerSec * Boot.SecPerClust);
 05AE 222D              mov R18,R2
 05B0 3327              clr R19
 05B2 00910B00          lds R16,_Boot+11
 05B6 10910C00          lds R17,_Boot+11+1
 05BA 0E940000          xcall empy16s
 05BE 1801              movw R2,R16
 05C0 4424              clr R4
 05C2 5524              clr R5
 05C4 FE01              movw R30,R28
 05C6 648C              ldd R6,z+28
 05C8 758C              ldd R7,z+29
 05CA 868C              ldd R8,z+30
 05CC 978C              ldd R9,z+31
 05CE 620C              add R6,R2
 05D0 731C              adc R7,R3
 05D2 841C              adc R8,R4
 05D4 951C              adc R9,R5
 05D6 648E              std z+28,R6
 05D8 758E              std z+29,R7
 05DA 868E              std z+30,R8
 05DC 978E              std z+31,R9
 05DE                   .dbline 216
 05DE           ;         Percent = (ByteSend / (File.FileSize / 100));
 05DE 44E6              ldi R20,100
 05E0 50E0              ldi R21,0
 05E2 60E0              ldi R22,0
 05E4 70E0              ldi R23,0
 05E6 40900A01          lds R4,_File+264+2
 05EA 50900B01          lds R5,_File+264+2+1
 05EE 20900801          lds R2,_File+264
 05F2 30900901          lds R3,_File+264+1
 05F6 7A93              st -y,R23
 05F8 6A93              st -y,R22
 05FA 5A93              st -y,R21
 05FC 4A93              st -y,R20
 05FE 8101              movw R16,R2
 0600 9201              movw R18,R4
 0602 0E940000          xcall div32u
 0606 FE01              movw R30,R28
 0608 248C              ldd R2,z+28
 060A 358C              ldd R3,z+29
 060C 468C              ldd R4,z+30
 060E 578C              ldd R5,z+31
 0610 3A93              st -y,R19
 0612 2A93              st -y,R18
 0614 1A93              st -y,R17
 0616 0A93              st -y,R16
 0618 8101              movw R16,R2
 061A 9201              movw R18,R4
 061C 0E940000          xcall div32u
 0620 FE01              movw R30,R28
 0622 00A3              std z+32,R16
 0624 11A3              std z+33,R17
 0626 22A3              std z+34,R18
 0628 33A3              std z+35,R19
 062A                   .dbline 217
 062A           ;         NextCluster = GetNextCluster(NextCluster);
 062A 008D              ldd R16,z+24
 062C 118D              ldd R17,z+25
 062E 228D              ldd R18,z+26
 0630 338D              ldd R19,z+27
 0632 0E940000          xcall _GetNextCluster
 0636 FE01              movw R30,R28
 0638 008F              std z+24,R16
 063A 118F              std z+25,R17
 063C 228F              std z+26,R18
 063E 338F              std z+27,R19
 0640                   .dbline 218
 0640           ;         if (NextCluster > CLUST_RSRVD) break;
 0640 46EF              ldi R20,246
 0642 5FEF              ldi R21,255
 0644 6FEF              ldi R22,255
 0646 7FE0              ldi R23,15
 0648 208C              ldd R2,z+24
 064A 318C              ldd R3,z+25
 064C 428C              ldd R4,z+26
 064E 538C              ldd R5,z+27
 0650 4215              cp R20,R2
 0652 5305              cpc R21,R3
 0654 6405              cpc R22,R4
 0656 7505              cpc R23,R5
 0658 08F4              brsh L84
 065A                   .dbline 218
 065A 01C0              xjmp L63
 065C           L84:
 065C                   .dbline 219
 065C           L62:
 065C                   .dbline 192
 065C E8CE              xjmp L61
 065E           L63:
 065E                   .dbline 220
 065E           ;         }
 065E           ; return 0x01; // Next Song
 065E 01E0              ldi R16,1
 0660 10E0              ldi R17,0
 0662                   .dbline -2
 0662           L59:
 0662 A496              adiw R28,36
 0664 0E940000          xcall pop_gset2
 0668                   .dbline 0 ; func end
 0668 0895              ret
 066A                   .dbsym l Percent 32 l
 066A                   .dbsym l ByteSend 28 l
 066A                   .dbsym l NextCluster 24 l
 066A                   .dbsym l LBA 20 l
 066A                   .dbsym l i 16 l
 066A                   .dbsym l j 12 l
 066A                   .dbsym l TimeOut 8 l
 066A                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile C:\DATA\MP3\Player\Code2\MP3Player.c
 0000           _RemoteTextLine::
 0000                   .blkb 200
 00C8                   .dbsym e RemoteTextLine _RemoteTextLine A[200:5:40]c
 00C8           _SectorBuffer::
 00C8                   .blkb 512
 02C8                   .dbsym e SectorBuffer _SectorBuffer A[512:512]c

⌨️ 快捷键说明

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