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

📄 fat.lis

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

⌨️ 快捷键说明

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