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

📄 main.lis

📁 AVR单片机系统开发经典实例部分源程序
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0396                   .dbline 133
 0396           ;                               }
 0396           L53:
 0396                   .dbline 135
 0396           L19:
 0396                   .dbline 135
 0396           ;                               
 0396           ;                       }while(data_pointer<511); 
 0396 8E89              ldd R24,y+22
 0398 9F89              ldd R25,y+23
 039A 8F3F              cpi R24,255
 039C E1E0              ldi R30,1
 039E 9E07              cpc R25,R30
 03A0 08F4              brsh X5
 03A2 CCCE              xjmp L18
 03A4           X5:
 03A4                   .dbline 137
 03A4           ;                       
 03A4           ;                 data_pointer=0;
 03A4 0024              clr R0
 03A6 1124              clr R1
 03A8 1F8A              std y+23,R1
 03AA 0E8A              std y+22,R0
 03AC                   .dbline 138
 03AC           ;                 if(i%4 == 0)
 03AC 43E0              ldi R20,3
 03AE 50E0              ldi R21,0
 03B0 60E0              ldi R22,0
 03B2 70E0              ldi R23,0
 03B4 FE01              movw R30,R28
 03B6 2284              ldd R2,z+10
 03B8 3384              ldd R3,z+11
 03BA 4484              ldd R4,z+12
 03BC 5584              ldd R5,z+13
 03BE 2422              and R2,R20
 03C0 3522              and R3,R21
 03C2 4622              and R4,R22
 03C4 5722              and R5,R23
 03C6 40E0              ldi R20,0
 03C8 50E0              ldi R21,0
 03CA 60E0              ldi R22,0
 03CC 70E0              ldi R23,0
 03CE 2416              cp R2,R20
 03D0 3506              cpc R3,R21
 03D2 4606              cpc R4,R22
 03D4 5706              cpc R5,R23
 03D6 51F5              brne L56
 03D8                   .dbline 139
 03D8           ;                 {
 03D8                   .dbline 140
 03D8           ;                    if(j <= 0) j = 46;
 03D8 40E0              ldi R20,0
 03DA 50E0              ldi R21,0
 03DC 60E0              ldi R22,0
 03DE 70E0              ldi R23,0
 03E0 FE01              movw R30,R28
 03E2 2288              ldd R2,z+18
 03E4 3388              ldd R3,z+19
 03E6 4488              ldd R4,z+20
 03E8 5588              ldd R5,z+21
 03EA 2416              cp R2,R20
 03EC 3506              cpc R3,R21
 03EE 4606              cpc R4,R22
 03F0 5706              cpc R5,R23
 03F2 51F4              brne L58
 03F4                   .dbline 140
 03F4 4EE2              ldi R20,46
 03F6 50E0              ldi R21,0
 03F8 60E0              ldi R22,0
 03FA 70E0              ldi R23,0
 03FC FE01              movw R30,R28
 03FE 428B              std z+18,R20
 0400 538B              std z+19,R21
 0402 648B              std z+20,R22
 0404 758B              std z+21,R23
 0406 12C0              xjmp L59
 0408           L58:
 0408                   .dbline 141
 0408           ;                        else  j--;
 0408 41E0              ldi R20,1
 040A 50E0              ldi R21,0
 040C 60E0              ldi R22,0
 040E 70E0              ldi R23,0
 0410 FE01              movw R30,R28
 0412 2288              ldd R2,z+18
 0414 3388              ldd R3,z+19
 0416 4488              ldd R4,z+20
 0418 5588              ldd R5,z+21
 041A 241A              sub R2,R20
 041C 350A              sbc R3,R21
 041E 460A              sbc R4,R22
 0420 570A              sbc R5,R23
 0422 FE01              movw R30,R28
 0424 228A              std z+18,R2
 0426 338A              std z+19,R3
 0428 448A              std z+20,R4
 042A 558A              std z+21,R5
 042C           L59:
 042C                   .dbline 142
 042C           ;                 }
 042C           L56:
 042C                   .dbline 144
 042C           L11:
 042C                   .dbline 72
 042C 41E0              ldi R20,1
 042E 50E0              ldi R21,0
 0430 60E0              ldi R22,0
 0432 70E0              ldi R23,0
 0434 FE01              movw R30,R28
 0436 2284              ldd R2,z+10
 0438 3384              ldd R3,z+11
 043A 4484              ldd R4,z+12
 043C 5584              ldd R5,z+13
 043E 240E              add R2,R20
 0440 351E              adc R3,R21
 0442 461E              adc R4,R22
 0444 571E              adc R5,R23
 0446 FE01              movw R30,R28
 0448 2286              std z+10,R2
 044A 3386              std z+11,R3
 044C 4486              std z+12,R4
 044E 5586              std z+13,R5
 0450           L13:
 0450                   .dbline 72
 0450 20901100          lds R2,_DiskFATInfo+17
 0454 3324              clr R3
 0456 4424              clr R4
 0458 5524              clr R5
 045A FE01              movw R30,R28
 045C 6284              ldd R6,z+10
 045E 7384              ldd R7,z+11
 0460 8484              ldd R8,z+12
 0462 9584              ldd R9,z+13
 0464 6214              cp R6,R2
 0466 7304              cpc R7,R3
 0468 8404              cpc R8,R4
 046A 9504              cpc R9,R5
 046C 08F4              brsh X6
 046E 2DCE              xjmp L10
 0470           X6:
 0470                   .dbline 147
 0470           ;                 
 0470           ;               }
 0470           ;               
 0470           ;               //---------- 下一簇 ------------//  
 0470           ;               num = FatNextCluster(num);      
 0470 FE01              movw R30,R28
 0472 0685              ldd R16,z+14
 0474 1785              ldd R17,z+15
 0476 2089              ldd R18,z+16
 0478 3189              ldd R19,z+17
 047A 0E940000          xcall _FatNextCluster
 047E FE01              movw R30,R28
 0480 0687              std z+14,R16
 0482 1787              std z+15,R17
 0484 208B              std z+16,R18
 0486 318B              std z+17,R19
 0488                   .dbline 149
 0488           ;               
 0488           ;               if(num==CLUST_EOFE||music_next!=0||music_last!=0)
 0488 4FEF              ldi R20,255
 048A 5FEF              ldi R21,255
 048C 6FEF              ldi R22,255
 048E 7FEF              ldi R23,255
 0490 FE01              movw R30,R28
 0492 2684              ldd R2,z+14
 0494 3784              ldd R3,z+15
 0496 4088              ldd R4,z+16
 0498 5188              ldd R5,z+17
 049A 2416              cp R2,R20
 049C 3506              cpc R3,R21
 049E 4606              cpc R4,R22
 04A0 5706              cpc R5,R23
 04A2 29F0              breq L63
 04A4 EE20              tst R14
 04A6 19F4              brne L63
 04A8 CC20              tst R12
 04AA 09F4              brne X7
 04AC 53C0              xjmp L60
 04AE           X7:
 04AE           L63:
 04AE                   .dbline 150
 04AE           ;               {
 04AE                   .dbline 151
 04AE           ;                  if(music_last!=0)
 04AE CC20              tst R12
 04B0 C9F0              breq L64
 04B2                   .dbline 152
 04B2           ;                  {
 04B2                   .dbline 153
 04B2           ;                    if(music_num>0)music_num--;
 04B2 2224              clr R2
 04B4 098C              ldd R0,y+25
 04B6 2014              cp R2,R0
 04B8 18F4              brsh L66
 04BA                   .dbline 153
 04BA 0A94              dec R0
 04BC 098E              std y+25,R0
 04BE 31C0              xjmp L65
 04C0           L66:
 04C0                   .dbline 154
 04C0           ;                        else music_num = NumOfFile - 1;
 04C0 41E0              ldi R20,1
 04C2 50E0              ldi R21,0
 04C4 60E0              ldi R22,0
 04C6 70E0              ldi R23,0
 04C8 40900200          lds R4,_NumOfFile+2
 04CC 50900300          lds R5,_NumOfFile+2+1
 04D0 20900000          lds R2,_NumOfFile
 04D4 30900100          lds R3,_NumOfFile+1
 04D8 241A              sub R2,R20
 04DA 350A              sbc R3,R21
 04DC 460A              sbc R4,R22
 04DE 570A              sbc R5,R23
 04E0 298E              std y+25,R2
 04E2                   .dbline 155
 04E2           ;                  }
 04E2 1FC0              xjmp L65
 04E4           L64:
 04E4                   .dbline 158
 04E4           ;                  
 04E4           ;                  else
 04E4           ;                  {
 04E4                   .dbline 159
 04E4           ;                    if(music_num < NumOfFile-1)music_num++;
 04E4 41E0              ldi R20,1
 04E6 50E0              ldi R21,0
 04E8 60E0              ldi R22,0
 04EA 70E0              ldi R23,0
 04EC 40900200          lds R4,_NumOfFile+2
 04F0 50900300          lds R5,_NumOfFile+2+1
 04F4 20900000          lds R2,_NumOfFile
 04F8 30900100          lds R3,_NumOfFile+1
 04FC 241A              sub R2,R20
 04FE 350A              sbc R3,R21
 0500 460A              sbc R4,R22
 0502 570A              sbc R5,R23
 0504 698C              ldd R6,y+25
 0506 7724              clr R7
 0508 8824              clr R8
 050A 9924              clr R9
 050C 6214              cp R6,R2
 050E 7304              cpc R7,R3
 0510 8404              cpc R8,R4
 0512 9504              cpc R9,R5
 0514 20F4              brsh L68
 0516                   .dbline 159
 0516 062C              mov R0,R6
 0518 0394              inc R0
 051A 098E              std y+25,R0
 051C 02C0              xjmp L69
 051E           L68:
 051E                   .dbline 160
 051E           ;                        else music_num=0;
 051E 0024              clr R0
 0520 098E              std y+25,R0
 0522           L69:
 0522                   .dbline 161
 0522           ;                  }
 0522           L65:
 0522                   .dbline 163
 0522           ;                  
 0522           ;                  num = MusicInfoList[music_num].FileStartClustor;
 0522 89E2              ldi R24,41
 0524 098C              ldd R0,y+25
 0526 809D              mul R24,R0
 0528 F001              movw R30,R0
 052A 80E0              ldi R24,<_MusicInfoList+33
 052C 90E0              ldi R25,>_MusicInfoList+33
 052E E80F              add R30,R24
 0530 F91F              adc R31,R25
 0532 2080              ldd R2,z+0
 0534 3180              ldd R3,z+1
 0536 4280              ldd R4,z+2
 0538 5380              ldd R5,z+3
 053A FE01              movw R30,R28
 053C 2686              std z+14,R2
 053E 3786              std z+15,R3
 0540 408A              std z+16,R4
 0542 518A              std z+17,R5
 0544                   .dbline 164
 0544           ;                  play_flag=1;
 0544 0024              clr R0
 0546 0394              inc R0
 0548 088E              std y+24,R0
 054A                   .dbline 165
 054A           ;                  music_next = 0;
 054A EE24              clr R14
 054C                   .dbline 166
 054C           ;                  music_last = 0;
 054C CC24              clr R12
 054E                   .dbline 167
 054E           ;                  key_num=0;
 054E 2224              clr R2
 0550 20920000          sts _key_num,R2
 0554                   .dbline 168
 0554           ;          }
 0554           L60:
 0554                   .dbline 170
 0554           L8:
 0554                   .dbline 68
 0554 9FCD              xjmp L7
 0556           X0:
 0556                   .dbline -2
 0556           L5:
 0556 6A96              adiw R28,26
 0558 0E940000          xcall pop_gset5
 055C                   .dbline 0 ; func end
 055C 0895              ret
 055E                   .dbsym l j 18 l
 055E                   .dbsym l num 14 l
 055E                   .dbsym l music_num 25 c
 055E                   .dbsym r music_last 12 c
 055E                   .dbsym r music_next 14 c
 055E                   .dbsym l play_flag 24 c
 055E                   .dbsym l i 10 l
 055E                   .dbsym l size_buf 6 l
 055E                   .dbsym r vol_flag 10 c
 055E                   .dbsym l n 2 l
 055E                   .dbsym l data_pointer 22 i
 055E                   .dbend

⌨️ 快捷键说明

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