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

📄 mp3player.lis

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