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

📄 mp3player.lis

📁 使用硬盘制作mp3的源程序
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 014A           L9:
 014A                   .dbline 91
 014A           ;                               
 014A           ;               // Up
 014A           ;               
 014A           ;               if ((Key == 0x02) || (Key == 0x82))
 014A 80910000          lds R24,_Key
 014E 8230              cpi R24,2
 0150 29F0              breq L23
 0152 80910000          lds R24,_Key
 0156 8238              cpi R24,130
 0158 09F0              breq X3
 015A 4CC0              xjmp L21
 015C           X3:
 015C           L23:
 015C                   .dbline 92
 015C           ;                  {
 015C                   .dbline 93
 015C           ;                  if (Key == 0x02) FilePtr--;
 015C 80910000          lds R24,_Key
 0160 8230              cpi R24,2
 0162 19F4              brne L24
 0164                   .dbline 93
 0164 C501              movw R24,R10
 0166 0197              sbiw R24,1
 0168 5C01              movw R10,R24
 016A           L24:
 016A                   .dbline 94
 016A           ;            if (Key == 0x82) FilePtr -= SONGPAGE;
 016A 80910000          lds R24,_Key
 016E 8238              cpi R24,130
 0170 19F4              brne L26
 0172                   .dbline 94
 0172 C501              movw R24,R10
 0174 0597              sbiw R24,5
 0176 5C01              movw R10,R24
 0178           L26:
 0178                   .dbline 95
 0178           ;                  if (FilePtr < 0) FilePtr = 0;
 0178 C501              movw R24,R10
 017A 8030              cpi R24,0
 017C E0E0              ldi R30,0
 017E 9E07              cpc R25,R30
 0180 14F4              brge L28
 0182                   .dbline 95
 0182 AA24              clr R10
 0184 BB24              clr R11
 0186           L28:
 0186                   .dbline 96
 0186           ;                  if ((FilePtr / SONGPAGE) != Page)
 0186 25E0              ldi R18,5
 0188 30E0              ldi R19,0
 018A 8501              movw R16,R10
 018C 0E940000          xcall div16s
 0190 0E15              cp R16,R14
 0192 1F05              cpc R17,R15
 0194 29F1              breq L30
 0196                   .dbline 97
 0196           ;                 {
 0196                   .dbline 98
 0196           ;                               Page = FilePtr / SONGPAGE;
 0196 25E0              ldi R18,5
 0198 30E0              ldi R19,0
 019A 8501              movw R16,R10
 019C 0E940000          xcall div16s
 01A0 7801              movw R14,R16
 01A2                   .dbline 99
 01A2           ;                 GetDir(Cluster,Page*SONGPAGE,SONGPAGE,TRUE); 
 01A2 81E0              ldi R24,1
 01A4 90E0              ldi R25,0
 01A6 9D83              std y+5,R25
 01A8 8C83              std y+4,R24
 01AA 85E0              ldi R24,5
 01AC 9B83              std y+3,R25
 01AE 8A83              std y+2,R24
 01B0 05E0              ldi R16,5
 01B2 10E0              ldi R17,0
 01B4 9701              movw R18,R14
 01B6 0E940000          xcall empy16s
 01BA 1983              std y+1,R17
 01BC 0883              std y+0,R16
 01BE FE01              movw R30,R28
 01C0 0489              ldd R16,z+20
 01C2 1589              ldd R17,z+21
 01C4 2689              ldd R18,z+22
 01C6 3789              ldd R19,z+23
 01C8 0E940000          xcall _GetDir
 01CC                   .dbline 100
 01CC           ;                               RemoteSendScreen(DIR,(FilePtr%SONGPAGE));
 01CC 25E0              ldi R18,5
 01CE 30E0              ldi R19,0
 01D0 8501              movw R16,R10
 01D2 0E940000          xcall mod16s
 01D6 202F              mov R18,R16
 01D8 01E0              ldi R16,1
 01DA 0E940000          xcall _RemoteSendScreen
 01DE                   .dbline 101
 01DE           ;                               }
 01DE 07C0              xjmp L31
 01E0           L30:
 01E0                   .dbline 103
 01E0           ;                  else
 01E0           ;                 {
 01E0                   .dbline 104
 01E0           ;                               RemoteSendLine((FilePtr%SONGPAGE));
 01E0 25E0              ldi R18,5
 01E2 30E0              ldi R19,0
 01E4 8501              movw R16,R10
 01E6 0E940000          xcall mod16s
 01EA 0E940000          xcall _RemoteSendLine
 01EE                   .dbline 105
 01EE           ;                 }     
 01EE           L31:
 01EE                   .dbline 106
 01EE           ;                       Key = 0;
 01EE 2224              clr R2
 01F0 20920000          sts _Key,R2
 01F4                   .dbline 107
 01F4           ;                       }       
 01F4           L21:
 01F4                   .dbline 111
 01F4           ;                       
 01F4           ;               // Left         
 01F4           ;       
 01F4           ;               if (Key == 0x04) 
 01F4 80910000          lds R24,_Key
 01F8 8430              cpi R24,4
 01FA 19F5              brne L32
 01FC                   .dbline 112
 01FC           ;                  {
 01FC                   .dbline 113
 01FC           ;                  Cluster = 2;  // Root Dir
 01FC 42E0              ldi R20,2
 01FE 50E0              ldi R21,0
 0200 60E0              ldi R22,0
 0202 70E0              ldi R23,0
 0204 FE01              movw R30,R28
 0206 448B              std z+20,R20
 0208 558B              std z+21,R21
 020A 668B              std z+22,R22
 020C 778B              std z+23,R23
 020E                   .dbline 115
 020E           ;                  
 020E           ;                  Key = 0xff;
 020E 8FEF              ldi R24,255
 0210 80930000          sts _Key,R24
 0214                   .dbline 116
 0214           ;                  FilePtr = 0;
 0214 AA24              clr R10
 0216 BB24              clr R11
 0218                   .dbline 117
 0218           ;                  Page = 99;
 0218 83E6              ldi R24,99
 021A 90E0              ldi R25,0
 021C 7C01              movw R14,R24
 021E                   .dbline 118
 021E           ;                  MaxFile = GetDir(Cluster,FilePtr,999,FALSE);
 021E 2224              clr R2
 0220 3324              clr R3
 0222 3D82              std y+5,R3
 0224 2C82              std y+4,R2
 0226 87EE              ldi R24,999
 0228 93E0              ldi R25,3
 022A 9B83              std y+3,R25
 022C 8A83              std y+2,R24
 022E B982              std y+1,R11
 0230 A882              std y+0,R10
 0232 FE01              movw R30,R28
 0234 0489              ldd R16,z+20
 0236 1589              ldd R17,z+21
 0238 2689              ldd R18,z+22
 023A 3789              ldd R19,z+23
 023C 0E940000          xcall _GetDir
 0240 6801              movw R12,R16
 0242                   .dbline 119
 0242           ;                  }                            
 0242           L32:
 0242                   .dbline 123
 0242           ;                       
 0242           ;               // Right                
 0242           ; 
 0242           ;               if (Key == 0x08) 
 0242 80910000          lds R24,_Key
 0246 8830              cpi R24,8
 0248 09F0              breq X4
 024A CCC0              xjmp L34
 024C           X4:
 024C                   .dbline 124
 024C           ;                  {
 024C                   .dbline 125
 024C           ;                  GetDir(Cluster,FilePtr,1,FALSE);
 024C 2224              clr R2
 024E 3324              clr R3
 0250 3D82              std y+5,R3
 0252 2C82              std y+4,R2
 0254 81E0              ldi R24,1
 0256 90E0              ldi R25,0
 0258 9B83              std y+3,R25
 025A 8A83              std y+2,R24
 025C B982              std y+1,R11
 025E A882              std y+0,R10
 0260 FE01              movw R30,R28
 0262 0489              ldd R16,z+20
 0264 1589              ldd R17,z+21
 0266 2689              ldd R18,z+22
 0268 3789              ldd R19,z+23
 026A 0E940000          xcall _GetDir
 026E                   .dbline 127
 026E           ;          
 026E           ;                  if ((File.Attr & ATTR_DIRECTORY) == ATTR_DIRECTORY)
 026E 80910301          lds R24,_File+259
 0272 8071              andi R24,16
 0274 8031              cpi R24,16
 0276 41F5              brne L36
 0278                   .dbline 128
 0278           ;                         {
 0278                   .dbline 129
 0278           ;                         Key = 0xff;
 0278 8FEF              ldi R24,255
 027A 80930000          sts _Key,R24
 027E                   .dbline 130
 027E           ;                         FilePtr = 0;
 027E AA24              clr R10
 0280 BB24              clr R11
 0282                   .dbline 131
 0282           ;                         Page = 99;
 0282 83E6              ldi R24,99
 0284 90E0              ldi R25,0
 0286 7C01              movw R14,R24
 0288                   .dbline 132
 0288           ;                         Cluster = File.FirstClust;
 0288 40900601          lds R4,_File+260+2
 028C 50900701          lds R5,_File+260+2+1
 0290 20900401          lds R2,_File+260
 0294 30900501          lds R3,_File+260+1
 0298 FE01              movw R30,R28
 029A 248A              std z+20,R2
 029C 358A              std z+21,R3
 029E 468A              std z+22,R4
 02A0 578A              std z+23,R5
 02A2                   .dbline 133
 02A2           ;                         MaxFile = GetDir(Cluster,FilePtr,999,FALSE);
 02A2 2224              clr R2
 02A4 3324              clr R3
 02A6 3D82              std y+5,R3
 02A8 2C82              std y+4,R2
 02AA 87EE              ldi R24,999
 02AC 93E0              ldi R25,3
 02AE 9B83              std y+3,R25
 02B0 8A83              std y+2,R24
 02B2 B982              std y+1,R11
 02B4 A882              std y+0,R10
 02B6 FE01              movw R30,R28
 02B8 0489              ldd R16,z+20
 02BA 1589              ldd R17,z+21
 02BC 2689              ldd R18,z+22
 02BE 3789              ldd R19,z+23
 02C0 0E940000          xcall _GetDir
 02C4 6801              movw R12,R16
 02C6                   .dbline 134
 02C6           ;                         }
 02C6 8EC0              xjmp L37
 02C8           L36:
 02C8                   .dbline 136
 02C8           ;                  else 
 02C8           ;                         {
 02C8                   .dbline 137
 02C8           ;                         Page = 99;
 02C8 83E6              ldi R24,99
 02CA 90E0              ldi R25,0
 02CC 7C01              movw R14,R24
 02CE                   .dbline 138
 02CE           ;                         FilePtr--;
 02CE C501              movw R24,R10
 02D0 0197              sbiw R24,1
 02D2 5C01              movw R10,R24
 02D4 65C0              xjmp L41
 02D6           L40:
 02D6                   .dbline 140
 02D6           ;                               while(1)
 02D6           ;                                       {
 02D6                   .dbline 141
 02D6           ;                                       Key = 0;
 02D6 2224              clr R2
 02D8 20920000          sts _Key,R2
 02DC                   .dbline 142
 02DC           ;                                       FilePtr++;
 02DC C501              movw R24,R10
 02DE 0196              adiw R24,1
 02E0 5C01              movw R10,R24
 02E2                   .dbline 143
 02E2           ;                                       if (FilePtr >= MaxFile) FilePtr--;
 02E2 8C15              cp R24,R12
 02E4 9D05              cpc R25,R13
 02E6 10F0              brlo L43
 02E8                   .dbline 143
 02E8 0197              sbiw R24,1
 02EA 5C01              movw R10,R24
 02EC           L43:
 02EC                   .dbline 144
 02EC           ;                                       if ((FilePtr / SONGPAGE) != Page)
 02EC 25E0              ldi R18,5
 02EE 30E0              ldi R19,0
 02F0 8501              movw R16,R10
 02F2 0E940000          xcall div16s
 02F6 0E15              cp R16,R14
 02F8 1F05              cpc R17,R15
 02FA 21F1              breq L45
 02FC                   .dbline 145
 02FC           ;                                          {
 02FC                   .dbline 146
 02FC           ;                                          Page = FilePtr / SONGPAGE;
 02FC 25E0              ldi R18,5
 02FE 30E0              ldi R19,0
 0300 8501              movw R16,R10

⌨️ 快捷键说明

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