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

📄 main.lis

📁 使用硬盘制作mp3的源程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 03F0                   .dbline 138
 03F0           ;                  {
 03F0                   .dbline 139
 03F0           ;                  FilePtrSave = FilePtr;
 03F0 20900000          lds R2,L29
 03F4 30900100          lds R3,L29+1
 03F8 30920100          sts L31+1,R3
 03FC 20920000          sts L31,R2
 0400                   .dbline 140
 0400           ;                  GetDir(Cluster,FilePtr,1,DIR,TRUE);
 0400 81E0              ldi R24,1
 0402 90E0              ldi R25,0
 0404 9F83              std y+7,R25
 0406 8E83              std y+6,R24
 0408 9D83              std y+5,R25
 040A 8C83              std y+4,R24
 040C 9B83              std y+3,R25
 040E 8A83              std y+2,R24
 0410 3982              std y+1,R3
 0412 2882              std y+0,R2
 0414 FE01              movw R30,R28
 0416 0089              ldd R16,z+16
 0418 1189              ldd R17,z+17
 041A 2289              ldd R18,z+18
 041C 3389              ldd R19,z+19
 041E 0E940000          xcall _GetDir
 0422                   .dbline 141
 0422           ;                  FileBrowser(File.FirstClust);
 0422 20910601          lds R18,_File+260+2
 0426 30910701          lds R19,_File+260+2+1
 042A 00910401          lds R16,_File+260
 042E 10910501          lds R17,_File+260+1
 0432 06D0              xcall _FileBrowser
 0434                   .dbline 142
 0434           ;                  }
 0434           L51:
 0434                   .dbline 143
 0434           L34:
 0434                   .dbline 99
 0434 FACE              xjmp L37
 0436           X2:
 0436                   .dbline -2
 0436                   .dbline 144
 0436           ;               }
 0436           ; }
 0436           L28:
 0436 2896              adiw R28,8
 0438 0E940000          xcall pop_gset4
 043C 2496              adiw R28,4
 043E                   .dbline 0 ; func end
 043E 0895              ret
 0440                   .dbsym r MaxFile 10 i
 0440                   .dbsym r ch 12 c
 0440                   .dbsym l Cluster 16 l
 0440                   .dbend
 0440                   .dbfunc e FileBrowser _FileBrowser fV
 0440           ;           Page -> R12,R13
 0440           ;             ch -> R10
 0440           ;        MaxFile -> R14,R15
 0440           ;        FilePtr -> y+8
 0440           ;        Cluster -> y+20
                        .even
 0440           _FileBrowser::
 0440 0E940000          xcall push_arg4
 0444 0E940000          xcall push_gset5
 0448 2A97              sbiw R28,10
 044A                   .dbline -1
 044A                   .dbline 150
 044A           ; 
 044A           ; //*************************************
 044A           ; // void FileBrowser(unsigned long Cluster)
 044A           ; //*************************************
 044A           ; void FileBrowser(unsigned long Cluster)
 044A           ; {
 044A                   .dbline 157
 044A           ; extern unsigned char text[255];
 044A           ; extern struct FileInfo File;
 044A           ; unsigned char ch;
 044A           ; unsigned int MaxFile;
 044A           ; int FilePtr,Page;
 044A           ; 
 044A           ; ClrScr();
 044A 0E940000          xcall _ClrScr
 044E                   .dbline 158
 044E           ; GotoXY(1,1);
 044E 21E0              ldi R18,1
 0450 01E0              ldi R16,1
 0452 0E940000          xcall _GotoXY
 0456                   .dbline 159
 0456           ; tx_string(debugport,"--Song List --\0");
 0456 20E0              ldi R18,<L55
 0458 30E0              ldi R19,>L55
 045A 01E0              ldi R16,1
 045C 0E940000          xcall _tx_string
 0460                   .dbline 160
 0460           ; FilePtr = 0;
 0460 0024              clr R0
 0462 1124              clr R1
 0464 1986              std y+9,R1
 0466 0886              std y+8,R0
 0468                   .dbline 161
 0468           ; Page = 0;
 0468 CC24              clr R12
 046A DD24              clr R13
 046C                   .dbline 162
 046C           ; MaxFile = GetDir(Cluster,FilePtr,999,FILE,FALSE);
 046C 2224              clr R2
 046E 3324              clr R3
 0470 3F82              std y+7,R3
 0472 2E82              std y+6,R2
 0474 3D82              std y+5,R3
 0476 2C82              std y+4,R2
 0478 87EE              ldi R24,999
 047A 93E0              ldi R25,3
 047C 9B83              std y+3,R25
 047E 8A83              std y+2,R24
 0480 1982              std y+1,R1
 0482 0882              std y+0,R0
 0484 FE01              movw R30,R28
 0486 0489              ldd R16,z+20
 0488 1589              ldd R17,z+21
 048A 2689              ldd R18,z+22
 048C 3789              ldd R19,z+23
 048E 0E940000          xcall _GetDir
 0492 7801              movw R14,R16
 0494                   .dbline 163
 0494           ; GotoXY(2,2);
 0494 22E0              ldi R18,2
 0496 02E0              ldi R16,2
 0498 0E940000          xcall _GotoXY
 049C                   .dbline 164
 049C           ; GetDir(Cluster,FilePtr,SONGPAGE,FILE,TRUE);
 049C 81E0              ldi R24,1
 049E 90E0              ldi R25,0
 04A0 9F83              std y+7,R25
 04A2 8E83              std y+6,R24
 04A4 2224              clr R2
 04A6 3324              clr R3
 04A8 3D82              std y+5,R3
 04AA 2C82              std y+4,R2
 04AC 85E0              ldi R24,5
 04AE 9B83              std y+3,R25
 04B0 8A83              std y+2,R24
 04B2 0884              ldd R0,y+8
 04B4 1984              ldd R1,y+9
 04B6 1982              std y+1,R1
 04B8 0882              std y+0,R0
 04BA FE01              movw R30,R28
 04BC 0489              ldd R16,z+20
 04BE 1589              ldd R17,z+21
 04C0 2689              ldd R18,z+22
 04C2 3789              ldd R19,z+23
 04C4 0E940000          xcall _GetDir
 04C8                   .dbline 165
 04C8           ; GotoXY(2,2);
 04C8 22E0              ldi R18,2
 04CA 02E0              ldi R16,2
 04CC 0E940000          xcall _GotoXY
 04D0 48C1              xjmp L57
 04D2           X6:
 04D2                   .dbline 167
 04D2           ; while(1)
 04D2           ;               {
 04D2           L59:
 04D2                   .dbline 168
 04D2 A895              wdr
 04D4           L60:
 04D4                   .dbline 168
 04D4           ;               while(!is_char(debugport)) WDR();
 04D4 01E0              ldi R16,1
 04D6 0E940000          xcall _is_char
 04DA 0023              tst R16
 04DC D1F3              breq L59
 04DE                   .dbline 169
 04DE           ;               ch = rx_char(debugport);
 04DE 01E0              ldi R16,1
 04E0 0E940000          xcall _rx_char
 04E4 A02E              mov R10,R16
 04E6                   .dbline 170
 04E6           ;               if (ch == '2')
 04E6 0233              cpi R16,50
 04E8 09F0              breq X9
 04EA 4DC0              xjmp L62
 04EC           X9:
 04EC                   .dbline 171
 04EC           ;                  {
 04EC                   .dbline 172
 04EC           ;                  FilePtr++;
 04EC 8885              ldd R24,y+8
 04EE 9985              ldd R25,y+9
 04F0 0196              adiw R24,1
 04F2 9987              std y+9,R25
 04F4 8887              std y+8,R24
 04F6                   .dbline 173
 04F6           ;                  if (FilePtr >= MaxFile) FilePtr--;
 04F6 0C01              movw R0,R24
 04F8 8E15              cp R24,R14
 04FA 9F05              cpc R25,R15
 04FC 18F0              brlo L64
 04FE                   .dbline 173
 04FE 0197              sbiw R24,1
 0500 9987              std y+9,R25
 0502 8887              std y+8,R24
 0504           L64:
 0504                   .dbline 174
 0504           ;                  if ((FilePtr / SONGPAGE) != Page)
 0504 25E0              ldi R18,5
 0506 30E0              ldi R19,0
 0508 0885              ldd R16,y+8
 050A 1985              ldd R17,y+9
 050C 0E940000          xcall div16s
 0510 0C15              cp R16,R12
 0512 1D05              cpc R17,R13
 0514 61F1              breq L66
 0516                   .dbline 175
 0516           ;                         {
 0516                   .dbline 176
 0516           ;                         Page = FilePtr / SONGPAGE;
 0516 25E0              ldi R18,5
 0518 30E0              ldi R19,0
 051A 0885              ldd R16,y+8
 051C 1985              ldd R17,y+9
 051E 0E940000          xcall div16s
 0522 6801              movw R12,R16
 0524                   .dbline 177
 0524           ;                         ClrScr();
 0524 0E940000          xcall _ClrScr
 0528                   .dbline 178
 0528           ;                         GotoXY(1,1);
 0528 21E0              ldi R18,1
 052A 01E0              ldi R16,1
 052C 0E940000          xcall _GotoXY
 0530                   .dbline 179
 0530           ;                         tx_string(debugport,"--Song List --\0");
 0530 20E0              ldi R18,<L55
 0532 30E0              ldi R19,>L55
 0534 01E0              ldi R16,1
 0536 0E940000          xcall _tx_string
 053A                   .dbline 180
 053A           ;                         GotoXY(2,2);
 053A 22E0              ldi R18,2
 053C 02E0              ldi R16,2
 053E 0E940000          xcall _GotoXY
 0542                   .dbline 181
 0542           ;                         GetDir(Cluster,FilePtr,SONGPAGE,FILE,TRUE);
 0542 81E0              ldi R24,1
 0544 90E0              ldi R25,0
 0546 9F83              std y+7,R25
 0548 8E83              std y+6,R24
 054A 2224              clr R2
 054C 3324              clr R3
 054E 3D82              std y+5,R3
 0550 2C82              std y+4,R2
 0552 85E0              ldi R24,5
 0554 9B83              std y+3,R25
 0556 8A83              std y+2,R24
 0558 0884              ldd R0,y+8
 055A 1984              ldd R1,y+9
 055C 1982              std y+1,R1
 055E 0882              std y+0,R0
 0560 FE01              movw R30,R28
 0562 0489              ldd R16,z+20
 0564 1589              ldd R17,z+21
 0566 2689              ldd R18,z+22
 0568 3789              ldd R19,z+23
 056A 0E940000          xcall _GetDir
 056E                   .dbline 182
 056E           ;                         }
 056E           L66:
 056E                   .dbline 183
 056E           ;                  GotoXY(1,(FilePtr%SONGPAGE)+2);
 056E 25E0              ldi R18,5
 0570 30E0              ldi R19,0
 0572 0885              ldd R16,y+8
 0574 1985              ldd R17,y+9
 0576 0E940000          xcall mod16s
 057A 202F              mov R18,R16
 057C 2E5F              subi R18,254  ; offset = 2
 057E 3F4F              sbci R19,255
 0580 01E0              ldi R16,1
 0582 0E940000          xcall _GotoXY
 0586                   .dbline 184
 0586           ;                  }
 0586           L62:
 0586                   .dbline 186
 0586           ; 
 0586           ;               if (ch == '8')
 0586 8A2D              mov R24,R10
 0588 8833              cpi R24,56
 058A 09F0              breq X10
 058C 57C0              xjmp L68
 058E           X10:
 058E                   .dbline 187
 058E           ;                  {
 058E                   .dbline 188
 058E           ;                  FilePtr--;
 058E 8885              ldd R24,y+8
 0590 9985              ldd R25,y+9
 0592 0197              sbiw R24,1
 0594 9987              std y+9,R25
 0596 8887              std y+8,R24
 0598                   .dbline 189
 0598           ;                  if (FilePtr < 0) FilePtr = 0;
 0598 8030              cpi R24,0
 059A E0E0              ldi R30,0
 059C 9E07              cpc R25,R30
 059E 24F4              brge L70
 05A0                   .dbline 189
 05A0 0024              clr R0
 05A2 1124              clr R1
 05A4 1986              std y+9,R1
 05A6 0886              std y+8,R0
 05A8           L70:
 05A8                   .dbline 190
 05A8           ;                  if ((FilePtr / SONGPAGE) != Page)
 05A8 25E0              ldi R18,5
 05AA 30E0              ldi R19,0
 05AC 0885              ldd R16,y+8
 05AE 1985              ldd R17,y+9
 05B0 0E940000          xcall div16s
 05B4 0C15              cp R16,R12
 05B6 1D05              cpc R17,R13
 05B8 A9F1              breq L72
 05BA                   .dbline 191
 05BA           ;                         {
 05BA                   .dbline 192
 05BA           ;                         FilePtr -= (SONGPAGE - 1);
 05BA 8885              ldd R24,y+8
 05BC 9985              ldd R25,y+9
 05BE 0497              sbiw R24,4
 05C0 9987              std y+9,R25
 05C2 8887              std y+8,R24
 05C4                   .dbline 193
 05C4           ;                         Page = FilePtr / SONGPAGE;
 05C4 25E0              ldi R18,5
 05C6 30E0              ldi R19,0
 05C8 8C01              movw R16,R24
 05CA 0E940000          xcall div16s
 05CE 6801              movw R12,R16
 05D0                   .dbline 194

⌨️ 快捷键说明

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