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

📄 fat.lis

📁 使用硬盘制作mp3的源程序
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 039A E80F              add R30,R24
 039C F91F              adc R31,R25
 039E 4082              std z+0,R4
 03A0           L37:
 03A0                   .dbline 97
 03A0 C601              movw R24,R12
 03A2 0196              adiw R24,1
 03A4 6C01              movw R12,R24
 03A6           L39:
 03A6                   .dbline 97
 03A6           ;                                for (j=0;j<6;j++) File.Name[LongFilePtr++] = Entry.Win.Part2[j];
 03A6 C601              movw R24,R12
 03A8 8630              cpi R24,6
 03AA E0E0              ldi R30,0
 03AC 9E07              cpc R25,R30
 03AE 10F3              brlo L36
 03B0                   .dbline 98
 03B0 CC24              clr R12
 03B2 DD24              clr R13
 03B4 19C0              xjmp L44
 03B6           L41:
 03B6                   .dbline 98
 03B6 1501              movw R2,R10
 03B8 C101              movw R24,R2
 03BA 0196              adiw R24,1
 03BC 5C01              movw R10,R24
 03BE 02E0              ldi R16,2
 03C0 10E0              ldi R17,0
 03C2 9601              movw R18,R12
 03C4 0E940000          xcall empy16s
 03C8 F801              movw R30,R16
 03CA CE01              movw R24,R28
 03CC 8496              adiw R24,36
 03CE E80F              add R30,R24
 03D0 F91F              adc R31,R25
 03D2 4080              ldd R4,z+0
 03D4 5180              ldd R5,z+1
 03D6 80E0              ldi R24,<_File
 03D8 90E0              ldi R25,>_File
 03DA F101              movw R30,R2
 03DC E80F              add R30,R24
 03DE F91F              adc R31,R25
 03E0 4082              std z+0,R4
 03E2           L42:
 03E2                   .dbline 98
 03E2 C601              movw R24,R12
 03E4 0196              adiw R24,1
 03E6 6C01              movw R12,R24
 03E8           L44:
 03E8                   .dbline 98
 03E8           ;                                for (j=0;j<2;j++) File.Name[LongFilePtr++] = Entry.Win.Part3[j];
 03E8 C601              movw R24,R12
 03EA 8230              cpi R24,2
 03EC E0E0              ldi R30,0
 03EE 9E07              cpc R25,R30
 03F0 10F3              brlo L41
 03F2                   .dbline 99
 03F2           ;                                if (Entry.Win.Cnt & 0x40) File.Name[LongFilePtr++] = 0x00;
 03F2 2884              ldd R2,y+8
 03F4 26FE              sbrs R2,6
 03F6 DBC0              rjmp L29
 03F8                   .dbline 99
 03F8 1501              movw R2,R10
 03FA C101              movw R24,R2
 03FC 0196              adiw R24,1
 03FE 5C01              movw R10,R24
 0400 80E0              ldi R24,<_File
 0402 90E0              ldi R25,>_File
 0404 F101              movw R30,R2
 0406 E80F              add R30,R24
 0408 F91F              adc R31,R25
 040A 2224              clr R2
 040C 2082              std z+0,R2
 040E                   .dbline 100
 040E           ;                                }
 040E CFC0              xjmp L29
 0410           L28:
 0410                   .dbline 102
 0410           ;                         else 
 0410           ;                                {
 0410                   .dbline 103
 0410           ;                                if ((Entry.Dir.Name[0] != SLOT_DELETED) && ((Entry.Dir.Attributes & 0x0e) == 0x00))
 0410 8885              ldd R24,y+8
 0412 853E              cpi R24,229
 0414 09F4              brne X2
 0416 C9C0              xjmp L48
 0418           X2:
 0418 8B89              ldd R24,y+19
 041A 8E70              andi R24,14
 041C 09F0              breq X3
 041E C5C0              xjmp L48
 0420           X3:
 0420                   .dbline 104
 0420           ;                                       {
 0420                   .dbline 105
 0420           ;                                       if (LongFileName == FALSE)
 0420 EE20              tst R14
 0422 E1F4              brne L51
 0424 FF20              tst R15
 0426 D1F4              brne L51
 0428           X0:
 0428                   .dbline 106
 0428           ;                                          {
 0428                   .dbline 107
 0428 CC24              clr R12
 042A DD24              clr R13
 042C 0FC0              xjmp L56
 042E           L53:
 042E                   .dbline 107
 042E CE01              movw R24,R28
 0430 0896              adiw R24,8
 0432 F601              movw R30,R12
 0434 E80F              add R30,R24
 0436 F91F              adc R31,R25
 0438 2080              ldd R2,z+0
 043A 80E0              ldi R24,<_File
 043C 90E0              ldi R25,>_File
 043E F601              movw R30,R12
 0440 E80F              add R30,R24
 0442 F91F              adc R31,R25
 0444 2082              std z+0,R2
 0446           L54:
 0446                   .dbline 107
 0446 C601              movw R24,R12
 0448 0196              adiw R24,1
 044A 6C01              movw R12,R24
 044C           L56:
 044C                   .dbline 107
 044C           ;                                          for (j=0;j<8;j++) File.Name[j] = Entry.Dir.Name[j];
 044C C601              movw R24,R12
 044E 8830              cpi R24,8
 0450 E0E0              ldi R30,0
 0452 9E07              cpc R25,R30
 0454 60F3              brlo L53
 0456                   .dbline 108
 0456           ;                                          File.Name[8] = 0x00;
 0456 2224              clr R2
 0458 20920C00          sts _File+8,R2
 045C                   .dbline 109
 045C           ;                                          }    
 045C           L51:
 045C                   .dbline 110
 045C           ;                                       File.FirstClust = Entry.Dir.FirstClustHi;
 045C 2C8C              ldd R2,y+28
 045E 3D8C              ldd R3,y+29
 0460 4424              clr R4
 0462 5524              clr R5
 0464 30920901          sts _File+260+1,R3
 0468 20920801          sts _File+260,R2
 046C 50920B01          sts _File+260+2+1,R5
 0470 40920A01          sts _File+260+2,R4
 0474                   .dbline 111
 0474           ;                                       File.FirstClust = (File.FirstClust << 16) + Entry.Dir.FirstClustLo;
 0474 2AA0              ldd R2,y+34
 0476 3BA0              ldd R3,y+35
 0478 4424              clr R4
 047A 5524              clr R5
 047C 80900A01          lds R8,_File+260+2
 0480 90900B01          lds R9,_File+260+2+1
 0484 60900801          lds R6,_File+260
 0488 70900901          lds R7,_File+260+1
 048C 4301              movw R8,R6
 048E 6624              clr R6
 0490 7724              clr R7
 0492 620C              add R6,R2
 0494 731C              adc R7,R3
 0496 841C              adc R8,R4
 0498 951C              adc R9,R5
 049A 70920901          sts _File+260+1,R7
 049E 60920801          sts _File+260,R6
 04A2 90920B01          sts _File+260+2+1,R9
 04A6 80920A01          sts _File+260+2,R8
 04AA                   .dbline 112
 04AA           ;                                       File.FileSize = Entry.Dir.FileSize;
 04AA FE01              movw R30,R28
 04AC 24A0              ldd R2,z+36
 04AE 35A0              ldd R3,z+37
 04B0 46A0              ldd R4,z+38
 04B2 57A0              ldd R5,z+39
 04B4 30920D01          sts _File+264+1,R3
 04B8 20920C01          sts _File+264,R2
 04BC 50920F01          sts _File+264+2+1,R5
 04C0 40920E01          sts _File+264+2,R4
 04C4                   .dbline 113
 04C4           ;                                       File.Attr = Entry.Dir.Attributes;
 04C4 2B88              ldd R2,y+19
 04C6 20920701          sts _File+259,R2
 04CA                   .dbline 114
 04CA           ;                                       if ((File.FirstClust == 0) && 
 04CA 40E0              ldi R20,0
 04CC 50E0              ldi R21,0
 04CE 60E0              ldi R22,0
 04D0 70E0              ldi R23,0
 04D2 6416              cp R6,R20
 04D4 7506              cpc R7,R21
 04D6 8606              cpc R8,R22
 04D8 9706              cpc R9,R23
 04DA 79F4              brne L67
 04DC 822D              mov R24,R2
 04DE 8031              cpi R24,16
 04E0 61F4              brne L67
 04E2                   .dbline 115
 04E2           ;                                           (File.Attr == ATTR_DIRECTORY)) File.FirstClust = 2;  // Don't know why?
 04E2 42E0              ldi R20,2
 04E4 50E0              ldi R21,0
 04E6 60E0              ldi R22,0
 04E8 70E0              ldi R23,0
 04EA 50930901          sts _File+260+1,R21
 04EE 40930801          sts _File+260,R20
 04F2 70930B01          sts _File+260+2+1,R23
 04F6 60930A01          sts _File+260+2,R22
 04FA           L67:
 04FA                   .dbline 116
 04FA           ;                                       LongFileName = FALSE;
 04FA EE24              clr R14
 04FC FF24              clr R15
 04FE                   .dbline 118
 04FE           ;                                                                
 04FE           ;                                       if ((File.FirstClust == 0) && (File.Attr == ATTR_NORMAL)) return Files;
 04FE 40E0              ldi R20,0
 0500 50E0              ldi R21,0
 0502 60E0              ldi R22,0
 0504 70E0              ldi R23,0
 0506 40900A01          lds R4,_File+260+2
 050A 50900B01          lds R5,_File+260+2+1
 050E 20900801          lds R2,_File+260
 0512 30900901          lds R3,_File+260+1
 0516 2416              cp R2,R20
 0518 3506              cpc R3,R21
 051A 4606              cpc R4,R22
 051C 5706              cpc R5,R23
 051E 39F4              brne L72
 0520 20900701          lds R2,_File+259
 0524 2220              tst R2
 0526 19F4              brne L72
 0528                   .dbline 118
 0528 0FA9              ldd R16,y+55
 052A 18AD              ldd R17,y+56
 052C 8EC0              xjmp L14
 052E           L72:
 052E                   .dbline 119
 052E           ;                                       if ((Files >= From) && (Files < (From + Qte)) && (Display == TRUE)) DisplayFiles(&LinePtr);
 052E 0FA8              ldd R0,y+55
 0530 18AC              ldd R1,y+56
 0532 FE01              movw R30,R28
 0534 E95B              subi R30,185  ; addi 71
 0536 FF4F              sbci R31,255
 0538 0081              ldd R16,z+0
 053A 1181              ldd R17,z+1
 053C 0016              cp R0,R16
 053E 1106              cpc R1,R17
 0540 D0F0              brlo L76
 0542 1801              movw R2,R16
 0544 FE01              movw R30,R28
 0546 E75B              subi R30,183  ; addi 73
 0548 FF4F              sbci R31,255
 054A 0080              ldd R0,z+0
 054C 1180              ldd R1,z+1
 054E 200C              add R2,R0
 0550 311C              adc R3,R1
 0552 0FA8              ldd R0,y+55
 0554 18AC              ldd R1,y+56
 0556 0214              cp R0,R2
 0558 1304              cpc R1,R3
 055A 68F4              brsh L76
 055C FE01              movw R30,R28
 055E E55B              subi R30,181  ; addi 75
 0560 FF4F              sbci R31,255
 0562 8081              ldd R24,z+0
 0564 9181              ldd R25,z+1
 0566 8130              cpi R24,1
 0568 E0E0              ldi R30,0
 056A 9E07              cpc R25,R30
 056C 21F4              brne L76
 056E                   .dbline 119
 056E 8E01              movw R16,R28
 0570 045D              subi R16,212  ; offset = 44
 0572 1F4F              sbci R17,255
 0574 6FD0              xcall _DisplayFiles
 0576           L76:
 0576                   .dbline 120
 0576           ;                                       if (Files == (From + Qte - 1)) return Files;
 0576 FE01              movw R30,R28
 0578 E95B              subi R30,185  ; addi 71
 057A FF4F              sbci R31,255
 057C 8081              ldd R24,z+0
 057E 9181              ldd R25,z+1
 0580 FE01              movw R30,R28
 0582 E75B              subi R30,183  ; addi 73
 0584 FF4F              sbci R31,255
 0586 0080              ldd R0,z+0
 0588 1180              ldd R1,z+1
 058A 800D              add R24,R0
 058C 911D              adc R25,R1
 058E 0197              sbiw R24,1
 0590 0FA8              ldd R0,y+55
 0592 18AC              ldd R1,y+56
 0594 0816              cp R0,R24
 0596 1906              cpc R1,R25

⌨️ 快捷键说明

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