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

📄 mp3.lst

📁 LED条屏显示程序,但是对初学者
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0D5A 860A      STD	Y+10,R0
    0D5B 840A      LDD	R0,Y+10
    0D5C 850B      LDD	R16,Y+11
    0D5D 1600      CP	R0,R16
    0D5E F408      BCC	0x0D60
    0D5F CFC9      RJMP	0x0D29
(0134) 		
(0135) 		 }
(0136)      if((buffer[((int)i<<5)+8]==0x4D)&(buffer[((int)i<<5)+9]==0x50)&(buffer[((int)i<<5)+10]==0x33))
    0D60 E025      LDI	R18,5
    0D61 E030      LDI	R19,0
    0D62 2711      CLR	R17
    0D63 940E1D37  CALL	lsl16
    0D65 01F8      MOVW	R30,R16
    0D66 E18D      LDI	R24,0x1D
    0D67 E091      LDI	R25,1
    0D68 0FE8      ADD	R30,R24
    0D69 1FF9      ADC	R31,R25
    0D6A 8180      LDD	R24,Z+0
    0D6B 348D      CPI	R24,0x4D
    0D6C F421      BNE	0x0D71
    0D6D E081      LDI	R24,1
    0D6E E090      LDI	R25,0
    0D6F 017C      MOVW	R14,R24
    0D70 C002      RJMP	0x0D73
    0D71 24EE      CLR	R14
    0D72 24FF      CLR	R15
    0D73 E025      LDI	R18,5
    0D74 E030      LDI	R19,0
    0D75 850B      LDD	R16,Y+11
    0D76 2711      CLR	R17
    0D77 940E1D37  CALL	lsl16
    0D79 01F8      MOVW	R30,R16
    0D7A E18E      LDI	R24,0x1E
    0D7B E091      LDI	R25,1
    0D7C 0FE8      ADD	R30,R24
    0D7D 1FF9      ADC	R31,R25
    0D7E 8180      LDD	R24,Z+0
    0D7F 3580      CPI	R24,0x50
    0D80 F421      BNE	0x0D85
    0D81 E081      LDI	R24,1
    0D82 E090      LDI	R25,0
    0D83 016C      MOVW	R12,R24
    0D84 C002      RJMP	0x0D87
    0D85 24CC      CLR	R12
    0D86 24DD      CLR	R13
    0D87 E025      LDI	R18,5
    0D88 E030      LDI	R19,0
    0D89 850B      LDD	R16,Y+11
    0D8A 2711      CLR	R17
    0D8B 940E1D37  CALL	lsl16
    0D8D 01F8      MOVW	R30,R16
    0D8E E18F      LDI	R24,0x1F
    0D8F E091      LDI	R25,1
    0D90 0FE8      ADD	R30,R24
    0D91 1FF9      ADC	R31,R25
    0D92 8180      LDD	R24,Z+0
    0D93 3383      CPI	R24,0x33
    0D94 F421      BNE	0x0D99
    0D95 E081      LDI	R24,1
    0D96 E090      LDI	R25,0
    0D97 015C      MOVW	R10,R24
    0D98 C002      RJMP	0x0D9B
    0D99 24AA      CLR	R10
    0D9A 24BB      CLR	R11
    0D9B 0117      MOVW	R2,R14
    0D9C 202C      AND	R2,R12
    0D9D 203D      AND	R3,R13
    0D9E 202A      AND	R2,R10
    0D9F 203B      AND	R3,R11
    0DA0 2022      TST	R2
    0DA1 F419      BNE	0x0DA5
    0DA2 2033      TST	R3
    0DA3 F409      BNE	0x0DA5
    0DA4 C217      RJMP	0x0FBC
(0137) 	     { //处理数据了。
(0138) 		  mp3_info.DIR_FstClusL[0]=buffer[((int)i<<5)+26];
    0DA5 E025      LDI	R18,5
    0DA6 E030      LDI	R19,0
    0DA7 850B      LDD	R16,Y+11
    0DA8 2711      CLR	R17
    0DA9 940E1D37  CALL	lsl16
    0DAB 01F8      MOVW	R30,R16
    0DAC E28F      LDI	R24,0x2F
    0DAD E091      LDI	R25,1
    0DAE 0FE8      ADD	R30,R24
    0DAF 1FF9      ADC	R31,R25
    0DB0 8020      LDD	R2,Z+0
    0DB1 9220010A  STS	0x10A,R2
(0139) 	      mp3_info.DIR_FstClusL[1]=buffer[((int)i<<5)+27];
    0DB3 E025      LDI	R18,5
    0DB4 E030      LDI	R19,0
    0DB5 850B      LDD	R16,Y+11
    0DB6 2711      CLR	R17
    0DB7 940E1D37  CALL	lsl16
    0DB9 01F8      MOVW	R30,R16
    0DBA E380      LDI	R24,0x30
    0DBB E091      LDI	R25,1
    0DBC 0FE8      ADD	R30,R24
    0DBD 1FF9      ADC	R31,R25
    0DBE 8020      LDD	R2,Z+0
    0DBF 9220010B  STS	0x10B,R2
(0140) 	   
(0141) 	      //mp3_info.DIR_Filesize[0]=buffer[32*i+28];
(0142) 	      mp3_info.DIR_Filesize[0]=buffer[((int)i<<5)+29];
    0DC1 E025      LDI	R18,5
    0DC2 E030      LDI	R19,0
    0DC3 850B      LDD	R16,Y+11
    0DC4 2711      CLR	R17
    0DC5 940E1D37  CALL	lsl16
    0DC7 01F8      MOVW	R30,R16
    0DC8 E382      LDI	R24,0x32
    0DC9 E091      LDI	R25,1
    0DCA 0FE8      ADD	R30,R24
    0DCB 1FF9      ADC	R31,R25
    0DCC 8020      LDD	R2,Z+0
    0DCD 9220010C  STS	0x10C,R2
(0143) 	      mp3_info.DIR_Filesize[1]=buffer[((int)i<<5)+30];
    0DCF E025      LDI	R18,5
    0DD0 E030      LDI	R19,0
    0DD1 850B      LDD	R16,Y+11
    0DD2 2711      CLR	R17
    0DD3 940E1D37  CALL	lsl16
    0DD5 01F8      MOVW	R30,R16
    0DD6 E383      LDI	R24,0x33
    0DD7 E091      LDI	R25,1
    0DD8 0FE8      ADD	R30,R24
    0DD9 1FF9      ADC	R31,R25
    0DDA 8020      LDD	R2,Z+0
    0DDB 9220010D  STS	0x10D,R2
(0144) 	      //mp3_info.DIR_Filesize[3]=buffer[32*i+31];
(0145) 			  
(0146) 			  
(0147) 		  if((UNICODE_point>0)&(CHINALIB_point>0))
    0DDD E040      LDI	R20,0
    0DDE E050      LDI	R21,0
    0DDF E060      LDI	R22,0
    0DE0 E070      LDI	R23,0
    0DE1 90400075  LDS	R4,UNICODE_point+2
    0DE3 90500076  LDS	R5,UNICODE_point+3
    0DE5 90200073  LDS	R2,UNICODE_point
    0DE7 90300074  LDS	R3,UNICODE_point+1
    0DE9 1624      CP	R2,R20
    0DEA 0635      CPC	R3,R21
    0DEB 0646      CPC	R4,R22
    0DEC 0657      CPC	R5,R23
    0DED F021      BEQ	0x0DF2
    0DEE E081      LDI	R24,1
    0DEF E090      LDI	R25,0
    0DF0 016C      MOVW	R12,R24
    0DF1 C002      RJMP	0x0DF4
    0DF2 24CC      CLR	R12
    0DF3 24DD      CLR	R13
    0DF4 E040      LDI	R20,0
    0DF5 E050      LDI	R21,0
    0DF6 E060      LDI	R22,0
    0DF7 E070      LDI	R23,0
    0DF8 90400071  LDS	R4,CHINALIB_point+2
    0DFA 90500072  LDS	R5,CHINALIB_point+3
    0DFC 9020006F  LDS	R2,CHINALIB_point
    0DFE 90300070  LDS	R3,CHINALIB_point+1
    0E00 1624      CP	R2,R20
    0E01 0635      CPC	R3,R21
    0E02 0646      CPC	R4,R22
    0E03 0657      CPC	R5,R23
    0E04 F021      BEQ	0x0E09
    0E05 E081      LDI	R24,1
    0E06 E090      LDI	R25,0
    0E07 015C      MOVW	R10,R24
    0E08 C002      RJMP	0x0E0B
    0E09 24AA      CLR	R10
    0E0A 24BB      CLR	R11
    0E0B 0116      MOVW	R2,R12
    0E0C 202A      AND	R2,R10
    0E0D 203B      AND	R3,R11
    0E0E 2022      TST	R2
    0E0F F419      BNE	0x0E13
    0E10 2033      TST	R3
    0E11 F409      BNE	0x0E13
    0E12 C15B      RJMP	0x0F6E
(0148) 		    {Read_number=0;
    0E13 2400      CLR	R0
    0E14 2411      CLR	R1
    0E15 8619      STD	Y+9,R1
    0E16 8608      STD	Y+8,R0
    0E17 C075      RJMP	0x0E8D
(0149) 			 while(i--)
(0150) 			  {
(0151) 			   for(j=0;j<10;j++)
    0E18 2400      CLR	R0
    0E19 860A      STD	Y+10,R0
    0E1A C021      RJMP	0x0E3C
(0152) 			   buffer[300+Read_number++]=buffer[((int)i<<5)+j+1];
    0E1B 8428      LDD	R2,Y+8
    0E1C 8439      LDD	R3,Y+9
    0E1D 01C1      MOVW	R24,R2
    0E1E 9601      ADIW	R24,1
    0E1F 8799      STD	Y+9,R25
    0E20 8788      STD	Y+8,R24
    0E21 E025      LDI	R18,5
    0E22 E030      LDI	R19,0
    0E23 850B      LDD	R16,Y+11
    0E24 2711      CLR	R17
    0E25 940E1D37  CALL	lsl16
    0E27 01F8      MOVW	R30,R16
    0E28 844A      LDD	R4,Y+10
    0E29 2455      CLR	R5
    0E2A 0DE4      ADD	R30,R4
    0E2B 1DF5      ADC	R31,R5
    0E2C E186      LDI	R24,0x16
    0E2D E091      LDI	R25,1
    0E2E 0FE8      ADD	R30,R24
    0E2F 1FF9      ADC	R31,R25
    0E30 8040      LDD	R4,Z+0
    0E31 E185      LDI	R24,0x15
    0E32 E091      LDI	R25,1
    0E33 01F1      MOVW	R30,R2
    0E34 5DE4      SUBI	R30,0xD4
    0E35 4FFE      SBCI	R31,0xFE
    0E36 0FE8      ADD	R30,R24
    0E37 1FF9      ADC	R31,R25
    0E38 8240      STD	Z+0,R4
    0E39 840A      LDD	R0,Y+10
    0E3A 9403      INC	R0
    0E3B 860A      STD	Y+10,R0
    0E3C 858A      LDD	R24,Y+10
    0E3D 308A      CPI	R24,0xA
    0E3E F2E0      BCS	0x0E1B
(0153) 		       for(j=0;j<12;j++)
    0E3F 2400      CLR	R0
    0E40 860A      STD	Y+10,R0
    0E41 C021      RJMP	0x0E63
(0154) 			   buffer[300+Read_number++]=buffer[((int)i<<5)+j+14];
    0E42 8428      LDD	R2,Y+8
    0E43 8439      LDD	R3,Y+9
    0E44 01C1      MOVW	R24,R2
    0E45 9601      ADIW	R24,1
    0E46 8799      STD	Y+9,R25
    0E47 8788      STD	Y+8,R24
    0E48 E025      LDI	R18,5
    0E49 E030      LDI	R19,0
    0E4A 850B      LDD	R16,Y+11
    0E4B 2711      CLR	R17
    0E4C 940E1D37  CALL	lsl16
    0E4E 01F8      MOVW	R30,R16
    0E4F 844A      LDD	R4,Y+10
    0E50 2455      CLR	R5
    0E51 0DE4      ADD	R30,R4
    0E52 1DF5      ADC	R31,R5
    0E53 E283      LDI	R24,0x23
    0E54 E091      LDI	R25,1
    0E55 0FE8      ADD	R30,R24
    0E56 1FF9      ADC	R31,R25
    0E57 8040      LDD	R4,Z+0
    0E58 E185      LDI	R24,0x15
    0E59 E091      LDI	R25,1
    0E5A 01F1      MOVW	R30,R2
    0E5B 5DE4      SUBI	R30,0xD4
    0E5C 4FFE      SBCI	R31,0xFE
    0E5D 0FE8      ADD	R30,R24
    0E5E 1FF9      ADC	R31,R25
    0E5F 8240      STD	Z+0,R4
    0E60 840A      LDD	R0,Y+10
    0E61 9403      INC	R0
    0E62 860A      STD	Y+10,R0
    0E63 858A      LDD	R24,Y+10
    0E64 308C      CPI	R24,0xC
    0E65 F2E0      BCS	0x0E42
(0155) 			   for(j=0;j<4;j++)
    0E66 2400      CLR	R0
    0E67 860A      STD	Y+10,R0
    0E68 C021      RJMP	0x0E8A
(0156) 			   buffer[300+Read_number++]=buffer[((int)i<<5)+j+28];
    0E69 8428      LDD	R2,Y+8
    0E6A 8439      LDD	R3,Y+9
    0E6B 01C1      MOVW	R24,R2
    0E6C 9601      ADIW	R24,1
    0E6D 8799      STD	Y+9,R25
    0E6E 8788      STD	Y+8,R24
    0E6F E025      LDI	R18,5
    0E70 E030      LDI	R19,0
    0E71 850B      LDD	R16,Y+11
    0E72 2711      CLR	R17
    0E73 940E1D37  CALL	lsl16
    0E75 01F8      MOVW	R30,R16
    0E76 844A      LDD	R4,Y+10
    0E77 2455      CLR	R5
    0E78 0DE4      ADD	R30,R4
    0E79 1DF5      ADC	R31,R5
    0E7A E381      LDI	R24,0x31
    0E7B E091      LDI	R25,1
    0E7C 0FE8      ADD	R30,R24
    0E7D 1FF9      ADC	R31,R25
    0E7E 8040      LDD	R4,Z+0
    0E7F E185      LDI	R24,0x15
    0E80 E091      LDI	R25,1
    0E81 01F1      MOVW	R30,R2
    0E82 5DE4      SUBI	R30,0xD4
    0E83 4FFE      SBCI	R31,0xFE
    0E84 0FE8      ADD	R30,R24
    0E85 1FF9      ADC	R31,R25
    0E86 8240      STD	Z+0,R4
    0E87 840A      LDD	R0,Y+10
    0E88 9403      INC	R0
    0E89 860A      STD	Y+10,R0
    0E8A 858A      LDD	R24,Y+10
    0E8B 3084      CPI	R24,4
    0E8C F2E0      BCS	0x0E69
    0E8D 842B      LDD	R2,Y+11
    0E8E 2433      CLR	R3
    0E8F 2D82      MOV	R24,R2
    0E90 5081      SUBI	R24,1
    0E91 878B      STD	Y+11,R24
    0E92 2022      TST	R2
    0E93 F009      BEQ	0x0E95
    0E94 CF83      RJMP	0x0E18
(0157) 			   }
(0158) 			  mp3_info.Name_number=MAX_NAME_LENGTH;
    0E95 E18A      LDI	R24,0x1A
    0E96 93800109  STS	0x109,R24
(0159) 			  
(0160) 			  for(j=0;j<mp3_info.Name_number;j++)
    0E98 2400      CLR	R0
    0E99 860A      STD	Y+10,R0
    0E9A C0CD      RJMP	0x0F68
(0161) 			     {
(0162) 				  if((buffer[300+j*2]==0x2E)&(buffer[300+j*2+6]==0x33))     
    0E9B E082      LDI	R24,2
    0E9C 840A      LDD	R0,Y+10
    0E9D 9D80      MUL	R24,R0
    0E9E 01F0      MOVW	R30,R0
    0E9F E481      LDI	R24,0x41
    0EA0 E092      LDI	R25,2
    0EA1 0FE8      ADD	R30,R24
    0EA2 1FF9      ADC	R31,R25
    0EA3 8180      LDD	R24,Z+0
    0EA4 328E      CPI	R24,0x2E
    0EA5 F421      BNE	0x0EAA
    0EA6 E081      LDI	R24,1
    0EA7 E090      LDI	R25,0
    0EA8 016C      MOVW	R12,R24
    0EA9 C002      RJMP	0x0EAC
    0EAA 24CC      CLR	R12
    0EAB 24DD      CLR	R13
    0EAC E082      LDI	R24,2
    0EAD 840A      LDD	R0,Y+10
    0EAE 9D80      MUL	R24,R0
    0EAF 01F0      MOVW	R30,R0
    0EB0 E487      LDI	R24,0x47
    0EB1 E092      LDI	R25,2
    0EB2 0FE8      ADD	R30,R24
    0EB3 1FF9      ADC	R31,R25
    0EB4 8180      LDD	R24,Z+0
    0EB5 3383      CPI	R24,0x33
    0EB6 F421      BNE	0x0EBB
    0EB7 E081      LDI	R24,1
    0EB8 E090      LDI	R25,0
    0EB9 015C      MOVW	R10,R24
    0EBA C002      RJMP	0x0EBD
    0EBB 24AA      CLR	R10
    0EBC 24BB      CLR	R11
    0EBD 0116      MOVW	R2,R12
    0EBE 202A      AND	R2,R10
    0EBF 203B      AND	R3,R11
    0EC0 2022      TST	R2
    0EC1 F411      BNE	0x0EC4
    0EC2 2033      TST	R3
    0EC3 F019      BEQ	0x0EC7
(0163)                       mp3_info.Name_number=j;
    0EC4 840A      LDD	R0,Y+10
    0EC5 92000109  STS	0x109,R0
(0164) 				  for(i=0;i<31;i++)
    0EC7 2400      CLR	R0
    0EC8 860B      STD	Y+11,R0
    0EC9 C089      RJMP	0x0F53
(0165) 				   {
(0166) 				    SD_read_sector2(UNICODE_point+((int)i<<8),buffer,256);
    0ECA E080      LDI	R24,0
    0ECB E091      LDI	R25,1
    0ECC 839B      STD	Y+3,R25
    0ECD 838A      STD	Y+2,R24
    0ECE E185      LDI	R24,0x15
    0ECF E091      LDI	R25,1
    0ED0 8399      STD	Y+1,R25
    0ED1 8388      STD	Y+0,R24
    0ED2 842B      LDD	R2,Y+11
    0ED3 2433      CLR	R3
    0ED4 2C32      MOV	R3,R2
    0ED5 2422      CLR	R2
    0ED6 2444      CLR	R4
    0ED7 FC37      SBRC	R3,7
    0ED8 9440      COM	R4
    0ED9 2455      CLR	R5
    0EDA FC47      SBRC	R4,7
    0EDB 9450      COM	R5
    0EDC 90800075  LDS	R8,UNICODE_point+2
    0EDE 90900076  LDS	R9,UNICODE_point+3
    0EE0 90600073  LDS	R6,UNICODE_point
    0EE2 90700074  LDS	R7,UNICODE_point+1
    0EE4 0C62      ADD	R6,R2
    0EE5 1C73      ADC	R7,R3
    0EE6 1C84      ADC	R8,R4
    0EE7 1C95      ADC	R9,R5
    0EE8 0183      MOVW	R16,R6
    0EE9 0194      MOVW	R18,R8
    0EEA 940E1567  CALL	_SD_read_sector2
(0167) 					for(Read_number=0;Read_number<128;Read_number++)
    0EEC 2400      CLR	R0
    0EED 2411      CLR	R1
    0EEE 8619      STD	Y+9,R1
    0EEF 8608      STD	Y+8,R0
    0EF0 C058      RJMP	0x0F49
(0168) 					   {
(0169) 					    if((buffer[Read_number<<1]==buffer[300+j*2])&(buffer[(Read_number<<1)+1]==buffer[300+j*2+1]))
    0EF1 E082      LDI	R24,2
    0EF2 840A      LDD	R0,Y+10
    0EF3 9D80      MUL	R24,R0
    0EF4 01F0      MOVW	R30,R0
    0EF5 E481      LDI	R24,0x41
    0EF6 E092      LDI	R25,2
    0EF7 0FE8      ADD	R30,R24
    0EF8 1FF9      ADC	R31,R25
    0EF9 8020      LDD	R2,Z+0
    0EFA E185      LDI	R24,0x15
    0EFB E091      LDI	R25,1
    0EFC 85E8      LDD	R30,Y+8
    0EFD 85F9      LDD	R31,Y+9
    0EFE 0FEE      LSL	R30
    0EFF 1F

⌨️ 快捷键说明

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