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

📄 main.lis

📁 使用硬盘制作mp3的源程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0174 0E940000          xcall _GotoXY
 0178                   .dbline 92
 0178           ; tx_string(debugport,"-- Dir List --\0");
 0178 20E0              ldi R18,<L32
 017A 30E0              ldi R19,>L32
 017C 01E0              ldi R16,1
 017E 0E940000          xcall _tx_string
 0182                   .dbline 93
 0182           ; FilePtr = Page * SONGPAGE;
 0182 20910200          lds R18,L30
 0186 30910300          lds R19,L30+1
 018A 05E0              ldi R16,5
 018C 10E0              ldi R17,0
 018E 0E940000          xcall empy16s
 0192 10930100          sts L29+1,R17
 0196 00930000          sts L29,R16
 019A                   .dbline 94
 019A           ; MaxFile = GetDir(Cluster,FilePtr,999,DIR,FALSE);
 019A 2224              clr R2
 019C 3324              clr R3
 019E 3F82              std y+7,R3
 01A0 2E82              std y+6,R2
 01A2 81E0              ldi R24,1
 01A4 90E0              ldi R25,0
 01A6 9D83              std y+5,R25
 01A8 8C83              std y+4,R24
 01AA 87EE              ldi R24,999
 01AC 93E0              ldi R25,3
 01AE 9B83              std y+3,R25
 01B0 8A83              std y+2,R24
 01B2 1801              movw R2,R16
 01B4 3982              std y+1,R3
 01B6 2882              std y+0,R2
 01B8 FE01              movw R30,R28
 01BA 0089              ldd R16,z+16
 01BC 1189              ldd R17,z+17
 01BE 2289              ldd R18,z+18
 01C0 3389              ldd R19,z+19
 01C2 0E940000          xcall _GetDir
 01C6 5801              movw R10,R16
 01C8                   .dbline 95
 01C8           ; GotoXY(2,2);
 01C8 22E0              ldi R18,2
 01CA 02E0              ldi R16,2
 01CC 0E940000          xcall _GotoXY
 01D0                   .dbline 96
 01D0           ; GetDir(2,FilePtr,SONGPAGE,DIR,TRUE);
 01D0 81E0              ldi R24,1
 01D2 90E0              ldi R25,0
 01D4 9F83              std y+7,R25
 01D6 8E83              std y+6,R24
 01D8 9D83              std y+5,R25
 01DA 8C83              std y+4,R24
 01DC 85E0              ldi R24,5
 01DE 9B83              std y+3,R25
 01E0 8A83              std y+2,R24
 01E2 20900000          lds R2,L29
 01E6 30900100          lds R3,L29+1
 01EA 3982              std y+1,R3
 01EC 2882              std y+0,R2
 01EE 02E0              ldi R16,2
 01F0 10E0              ldi R17,0
 01F2 20E0              ldi R18,0
 01F4 30E0              ldi R19,0
 01F6 0E940000          xcall _GetDir
 01FA                   .dbline 97
 01FA           ; FilePtr = FilePtrSave;
 01FA 20900000          lds R2,L31
 01FE 30900100          lds R3,L31+1
 0202 30920100          sts L29+1,R3
 0206 20920000          sts L29,R2
 020A                   .dbline 98
 020A           ; GotoXY(1,(FilePtr%SONGPAGE)+2); 
 020A 25E0              ldi R18,5
 020C 30E0              ldi R19,0
 020E 00910000          lds R16,L29
 0212 10910100          lds R17,L29+1
 0216 0E940000          xcall mod16s
 021A 202F              mov R18,R16
 021C 2E5F              subi R18,254  ; offset = 2
 021E 3F4F              sbci R19,255
 0220 01E0              ldi R16,1
 0222 0E940000          xcall _GotoXY
 0226 06C1              xjmp L34
 0228           X1:
 0228                   .dbline 100
 0228           ; while(1)
 0228           ;               {
 0228           L36:
 0228                   .dbline 101
 0228 A895              wdr
 022A           L37:
 022A                   .dbline 101
 022A           ;               while(!is_char(debugport)) WDR();
 022A 01E0              ldi R16,1
 022C 0E940000          xcall _is_char
 0230 0023              tst R16
 0232 D1F3              breq L36
 0234                   .dbline 102
 0234           ;               ch = rx_char(debugport);
 0234 01E0              ldi R16,1
 0236 0E940000          xcall _rx_char
 023A C02E              mov R12,R16
 023C                   .dbline 103
 023C           ;               if (ch == '2')
 023C 0233              cpi R16,50
 023E 09F0              breq X3
 0240 5FC0              xjmp L39
 0242           X3:
 0242                   .dbline 104
 0242           ;                  {
 0242                   .dbline 105
 0242           ;                  FilePtr++;
 0242 80910000          lds R24,L29
 0246 90910100          lds R25,L29+1
 024A 0196              adiw R24,1
 024C 90930100          sts L29+1,R25
 0250 80930000          sts L29,R24
 0254                   .dbline 106
 0254           ;                  if (FilePtr >= MaxFile) FilePtr--;
 0254 8A15              cp R24,R10
 0256 9B05              cpc R25,R11
 0258 28F0              brlo L41
 025A                   .dbline 106
 025A 0197              sbiw R24,1
 025C 90930100          sts L29+1,R25
 0260 80930000          sts L29,R24
 0264           L41:
 0264                   .dbline 107
 0264           ;                  if ((FilePtr / SONGPAGE) != Page)
 0264 25E0              ldi R18,5
 0266 30E0              ldi R19,0
 0268 00910000          lds R16,L29
 026C 10910100          lds R17,L29+1
 0270 0E940000          xcall div16s
 0274 20900200          lds R2,L30
 0278 30900300          lds R3,L30+1
 027C 0215              cp R16,R2
 027E 1305              cpc R17,R3
 0280 89F1              breq L43
 0282                   .dbline 108
 0282           ;                         {
 0282                   .dbline 109
 0282           ;                         Page = FilePtr / SONGPAGE;
 0282 25E0              ldi R18,5
 0284 30E0              ldi R19,0
 0286 00910000          lds R16,L29
 028A 10910100          lds R17,L29+1
 028E 0E940000          xcall div16s
 0292 10930300          sts L30+1,R17
 0296 00930200          sts L30,R16
 029A                   .dbline 110
 029A           ;                         ClrScr();
 029A 0E940000          xcall _ClrScr
 029E                   .dbline 111
 029E           ;                         GotoXY(1,1);
 029E 21E0              ldi R18,1
 02A0 01E0              ldi R16,1
 02A2 0E940000          xcall _GotoXY
 02A6                   .dbline 112
 02A6           ;                         tx_string(debugport,"-- Dir List --\0");
 02A6 20E0              ldi R18,<L32
 02A8 30E0              ldi R19,>L32
 02AA 01E0              ldi R16,1
 02AC 0E940000          xcall _tx_string
 02B0                   .dbline 113
 02B0           ;                         GotoXY(2,2);
 02B0 22E0              ldi R18,2
 02B2 02E0              ldi R16,2
 02B4 0E940000          xcall _GotoXY
 02B8                   .dbline 114
 02B8           ;                         GetDir(Cluster,FilePtr,SONGPAGE,DIR,TRUE);
 02B8 81E0              ldi R24,1
 02BA 90E0              ldi R25,0
 02BC 9F83              std y+7,R25
 02BE 8E83              std y+6,R24
 02C0 9D83              std y+5,R25
 02C2 8C83              std y+4,R24
 02C4 85E0              ldi R24,5
 02C6 9B83              std y+3,R25
 02C8 8A83              std y+2,R24
 02CA 20900000          lds R2,L29
 02CE 30900100          lds R3,L29+1
 02D2 3982              std y+1,R3
 02D4 2882              std y+0,R2
 02D6 FE01              movw R30,R28
 02D8 0089              ldd R16,z+16
 02DA 1189              ldd R17,z+17
 02DC 2289              ldd R18,z+18
 02DE 3389              ldd R19,z+19
 02E0 0E940000          xcall _GetDir
 02E4                   .dbline 115
 02E4           ;                         }
 02E4           L43:
 02E4                   .dbline 116
 02E4           ;                  GotoXY(1,(FilePtr%SONGPAGE)+2);
 02E4 25E0              ldi R18,5
 02E6 30E0              ldi R19,0
 02E8 00910000          lds R16,L29
 02EC 10910100          lds R17,L29+1
 02F0 0E940000          xcall mod16s
 02F4 202F              mov R18,R16
 02F6 2E5F              subi R18,254  ; offset = 2
 02F8 3F4F              sbci R19,255
 02FA 01E0              ldi R16,1
 02FC 0E940000          xcall _GotoXY
 0300                   .dbline 117
 0300           ;                  }
 0300           L39:
 0300                   .dbline 119
 0300           ; 
 0300           ;               if (ch == '8')
 0300 8C2D              mov R24,R12
 0302 8833              cpi R24,56
 0304 09F0              breq X4
 0306 71C0              xjmp L45
 0308           X4:
 0308                   .dbline 120
 0308           ;                  {
 0308                   .dbline 121
 0308           ;                  FilePtr--;
 0308 80910000          lds R24,L29
 030C 90910100          lds R25,L29+1
 0310 0197              sbiw R24,1
 0312 90930100          sts L29+1,R25
 0316 80930000          sts L29,R24
 031A                   .dbline 122
 031A           ;                  if (FilePtr < 0) FilePtr = 0;
 031A 8030              cpi R24,0
 031C E0E0              ldi R30,0
 031E 9E07              cpc R25,R30
 0320 34F4              brge L47
 0322                   .dbline 122
 0322 2224              clr R2
 0324 3324              clr R3
 0326 30920100          sts L29+1,R3
 032A 20920000          sts L29,R2
 032E           L47:
 032E                   .dbline 123
 032E           ;                  if ((FilePtr / SONGPAGE) != Page)
 032E 25E0              ldi R18,5
 0330 30E0              ldi R19,0
 0332 00910000          lds R16,L29
 0336 10910100          lds R17,L29+1
 033A 0E940000          xcall div16s
 033E 20900200          lds R2,L30
 0342 30900300          lds R3,L30+1
 0346 0215              cp R16,R2
 0348 1305              cpc R17,R3
 034A 09F4              brne X5
 034C 40C0              xjmp L49
 034E           X5:
 034E                   .dbline 124
 034E           ;                         {
 034E                   .dbline 125
 034E           ;                         FilePtr -= (SONGPAGE - 1);
 034E 80910000          lds R24,L29
 0352 90910100          lds R25,L29+1
 0356 0497              sbiw R24,4
 0358 90930100          sts L29+1,R25
 035C 80930000          sts L29,R24
 0360                   .dbline 126
 0360           ;                         Page = FilePtr / SONGPAGE;
 0360 25E0              ldi R18,5
 0362 30E0              ldi R19,0
 0364 8C01              movw R16,R24
 0366 0E940000          xcall div16s
 036A 10930300          sts L30+1,R17
 036E 00930200          sts L30,R16
 0372                   .dbline 127
 0372           ;                         ClrScr();
 0372 0E940000          xcall _ClrScr
 0376                   .dbline 128
 0376           ;                         GotoXY(1,1);
 0376 21E0              ldi R18,1
 0378 01E0              ldi R16,1
 037A 0E940000          xcall _GotoXY
 037E                   .dbline 129
 037E           ;                         tx_string(debugport,"-- Dir List --\0");
 037E 20E0              ldi R18,<L32
 0380 30E0              ldi R19,>L32
 0382 01E0              ldi R16,1
 0384 0E940000          xcall _tx_string
 0388                   .dbline 130
 0388           ;                         GotoXY(2,2);
 0388 22E0              ldi R18,2
 038A 02E0              ldi R16,2
 038C 0E940000          xcall _GotoXY
 0390                   .dbline 131
 0390           ;                         GetDir(Cluster,FilePtr,SONGPAGE,DIR,TRUE);
 0390 81E0              ldi R24,1
 0392 90E0              ldi R25,0
 0394 9F83              std y+7,R25
 0396 8E83              std y+6,R24
 0398 9D83              std y+5,R25
 039A 8C83              std y+4,R24
 039C 85E0              ldi R24,5
 039E 9B83              std y+3,R25
 03A0 8A83              std y+2,R24
 03A2 20900000          lds R2,L29
 03A6 30900100          lds R3,L29+1
 03AA 3982              std y+1,R3
 03AC 2882              std y+0,R2
 03AE FE01              movw R30,R28
 03B0 0089              ldd R16,z+16
 03B2 1189              ldd R17,z+17
 03B4 2289              ldd R18,z+18
 03B6 3389              ldd R19,z+19
 03B8 0E940000          xcall _GetDir
 03BC                   .dbline 132
 03BC           ;                         FilePtr += (SONGPAGE - 1);
 03BC 80910000          lds R24,L29
 03C0 90910100          lds R25,L29+1
 03C4 0496              adiw R24,4
 03C6 90930100          sts L29+1,R25
 03CA 80930000          sts L29,R24
 03CE                   .dbline 133
 03CE           ;                         }
 03CE           L49:
 03CE                   .dbline 134
 03CE           ;                  GotoXY(1,(FilePtr%SONGPAGE)+2);
 03CE 25E0              ldi R18,5
 03D0 30E0              ldi R19,0
 03D2 00910000          lds R16,L29
 03D6 10910100          lds R17,L29+1
 03DA 0E940000          xcall mod16s
 03DE 202F              mov R18,R16
 03E0 2E5F              subi R18,254  ; offset = 2
 03E2 3F4F              sbci R19,255
 03E4 01E0              ldi R16,1
 03E6 0E940000          xcall _GotoXY
 03EA                   .dbline 135
 03EA           ;                  }
 03EA           L45:
 03EA                   .dbline 137
 03EA           ;                  
 03EA           ;               if (ch == '6')
 03EA 8C2D              mov R24,R12
 03EC 8633              cpi R24,54
 03EE 11F5              brne L51

⌨️ 快捷键说明

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