📄 main.lis
字号:
01C0 L28:
01C0 L26:
01C0 L24:
01C0 L22:
01C0 .dbline 87
01C0 ;
01C0 ; //-------------- 音量调节 ----------------//
01C0 ; if(vol_flag!=0)
01C0 AA20 tst R10
01C2 09F4 brne X1
01C4 4EC0 xjmp L33
01C6 X1:
01C6 .dbline 88
01C6 ; {
01C6 .dbline 89
01C6 ; if(vol_flag==1)
01C6 8A2D mov R24,R10
01C8 8130 cpi R24,1
01CA C9F4 brne L35
01CC .dbline 90
01CC ; {
01CC .dbline 91
01CC ; if(VOL>27)VOL=29;
01CC 8BE1 ldi R24,27
01CE 90E0 ldi R25,0
01D0 20900000 lds R2,_VOL
01D4 30900100 lds R3,_VOL+1
01D8 8215 cp R24,R2
01DA 9305 cpc R25,R3
01DC 30F4 brsh L37
01DE .dbline 91
01DE 8DE1 ldi R24,29
01E0 90930100 sts _VOL+1,R25
01E4 80930000 sts _VOL,R24
01E8 22C0 xjmp L36
01EA L37:
01EA .dbline 92
01EA ; else VOL+=2;
01EA 80910000 lds R24,_VOL
01EE 90910100 lds R25,_VOL+1
01F2 0296 adiw R24,2
01F4 90930100 sts _VOL+1,R25
01F8 80930000 sts _VOL,R24
01FC .dbline 93
01FC ; }
01FC 18C0 xjmp L36
01FE L35:
01FE .dbline 95
01FE ; else
01FE ; {
01FE .dbline 96
01FE ; if(VOL<2)VOL=0;
01FE 80910000 lds R24,_VOL
0202 90910100 lds R25,_VOL+1
0206 8230 cpi R24,2
0208 E0E0 ldi R30,0
020A 9E07 cpc R25,R30
020C 38F4 brsh L39
020E .dbline 96
020E 2224 clr R2
0210 3324 clr R3
0212 30920100 sts _VOL+1,R3
0216 20920000 sts _VOL,R2
021A 09C0 xjmp L40
021C L39:
021C .dbline 97
021C ; else VOL-=2;
021C 80910000 lds R24,_VOL
0220 90910100 lds R25,_VOL+1
0224 0297 sbiw R24,2
0226 90930100 sts _VOL+1,R25
022A 80930000 sts _VOL,R24
022E L40:
022E .dbline 98
022E ; }
022E L36:
022E .dbline 100
022E ;
022E ; VS1003_WriteReg(VS1003_SPI_VOL ,VOL_BUFFER[VOL]); // 送音量数据
022E 20910000 lds R18,_VOL
0232 30910100 lds R19,_VOL+1
0236 02E0 ldi R16,2
0238 10E0 ldi R17,0
023A 0E940000 xcall empy16s
023E F801 movw R30,R16
0240 80E0 ldi R24,<_VOL_BUFFER
0242 90E0 ldi R25,>_VOL_BUFFER
0244 E80F add R30,R24
0246 F91F adc R31,R25
0248 2591 lpm R18,Z+
024A 3491 lpm R19,Z
024C 0BE0 ldi R16,11
024E 0E940000 xcall _VS1003_WriteReg
0252 L41:
0252 .dbline 102
0252 L42:
0252 .dbline 102
0252 ;
0252 ; while(VS1003_DREQ_STATE() != VS1003_DREQ); // 等待
0252 83B3 in R24,0x13
0254 8078 andi R24,128
0256 8038 cpi R24,128
0258 E1F7 brne L41
025A .dbline 104
025A ;
025A ; key_num = 0;
025A 2224 clr R2
025C 20920000 sts _key_num,R2
0260 .dbline 105
0260 ; vol_flag=0;
0260 AA24 clr R10
0262 .dbline 106
0262 ; }
0262 L33:
0262 .dbline 111
0262 ;
0262 ;
0262 ; //----------------- 换曲操作 -----------------//
0262 ;
0262 ; if(music_next!=0||music_last!=0)
0262 EE20 tst R14
0264 11F4 brne L46
0266 CC20 tst R12
0268 71F0 breq L44
026A L46:
026A .dbline 112
026A ; {
026A .dbline 113
026A ; data_pointer=512;
026A 80E0 ldi R24,512
026C 92E0 ldi R25,2
026E 9F8B std y+23,R25
0270 8E8B std y+22,R24
0272 .dbline 114
0272 ; i=8;
0272 48E0 ldi R20,8
0274 50E0 ldi R21,0
0276 60E0 ldi R22,0
0278 70E0 ldi R23,0
027A FE01 movw R30,R28
027C 4287 std z+10,R20
027E 5387 std z+11,R21
0280 6487 std z+12,R22
0282 7587 std z+13,R23
0284 .dbline 115
0284 ; }
0284 54C0 xjmp L45
0286 L44:
0286 .dbline 118
0286 ;
0286 ; //---------------- 音乐数据送入 ------------------//
0286 ; else if(VS1003_DREQ_STATE()== VS1003_DREQ&&play_flag!=0)
0286 83B3 in R24,0x13
0288 8078 andi R24,128
028A 8038 cpi R24,128
028C 09F0 breq X2
028E 4FC0 xjmp L47
0290 X2:
0290 088C ldd R0,y+24
0292 0020 tst R0
0294 09F4 brne X3
0296 4BC0 xjmp L47
0298 X3:
0298 .dbline 119
0298 ; {
0298 .dbline 120
0298 ; for(n=0;n<32;n++)
0298 40E0 ldi R20,0
029A 50E0 ldi R21,0
029C 60E0 ldi R22,0
029E 70E0 ldi R23,0
02A0 FE01 movw R30,R28
02A2 4283 std z+2,R20
02A4 5383 std z+3,R21
02A6 6483 std z+4,R22
02A8 7583 std z+5,R23
02AA 20C0 xjmp L52
02AC L49:
02AC .dbline 121
02AC .dbline 122
02AC 80E0 ldi R24,<_Fat_Buffer
02AE 90E0 ldi R25,>_Fat_Buffer
02B0 EE89 ldd R30,y+22
02B2 FF89 ldd R31,y+23
02B4 E80F add R30,R24
02B6 F91F adc R31,R25
02B8 0081 ldd R16,z+0
02BA 0E940000 xcall _VS1003_WriteDat
02BE .dbline 123
02BE 8E89 ldd R24,y+22
02C0 9F89 ldd R25,y+23
02C2 0196 adiw R24,1
02C4 9F8B std y+23,R25
02C6 8E8B std y+22,R24
02C8 .dbline 124
02C8 L50:
02C8 .dbline 120
02C8 41E0 ldi R20,1
02CA 50E0 ldi R21,0
02CC 60E0 ldi R22,0
02CE 70E0 ldi R23,0
02D0 FE01 movw R30,R28
02D2 2280 ldd R2,z+2
02D4 3380 ldd R3,z+3
02D6 4480 ldd R4,z+4
02D8 5580 ldd R5,z+5
02DA 240E add R2,R20
02DC 351E adc R3,R21
02DE 461E adc R4,R22
02E0 571E adc R5,R23
02E2 FE01 movw R30,R28
02E4 2282 std z+2,R2
02E6 3382 std z+3,R3
02E8 4482 std z+4,R4
02EA 5582 std z+5,R5
02EC L52:
02EC .dbline 120
02EC 40E2 ldi R20,32
02EE 50E0 ldi R21,0
02F0 60E0 ldi R22,0
02F2 70E0 ldi R23,0
02F4 FE01 movw R30,R28
02F6 2280 ldd R2,z+2
02F8 3380 ldd R3,z+3
02FA 4480 ldd R4,z+4
02FC 5580 ldd R5,z+5
02FE 2416 cp R2,R20
0300 3506 cpc R3,R21
0302 4606 cpc R4,R22
0304 5706 cpc R5,R23
0306 08F4 brsh X4
0308 D1CF xjmp L49
030A X4:
030A .dbline 125
030A ; {
030A ; VS1003_WriteDat(Fat_Buffer[data_pointer]); // 发送数据
030A ; data_pointer++;
030A ; }
030A ; size_buf+=32;
030A 40E2 ldi R20,32
030C 50E0 ldi R21,0
030E 60E0 ldi R22,0
0310 70E0 ldi R23,0
0312 FE01 movw R30,R28
0314 2680 ldd R2,z+6
0316 3780 ldd R3,z+7
0318 4084 ldd R4,z+8
031A 5184 ldd R5,z+9
031C 240E add R2,R20
031E 351E adc R3,R21
0320 461E adc R4,R22
0322 571E adc R5,R23
0324 FE01 movw R30,R28
0326 2682 std z+6,R2
0328 3782 std z+7,R3
032A 4086 std z+8,R4
032C 5186 std z+9,R5
032E .dbline 126
032E ; }
032E L47:
032E L45:
032E .dbline 128
032E ;
032E ; if(size_buf>=MusicInfoList[music_num].FileLength-64)
032E 89E2 ldi R24,41
0330 098C ldd R0,y+25
0332 809D mul R24,R0
0334 F001 movw R30,R0
0336 80E0 ldi R24,<_MusicInfoList+37
0338 90E0 ldi R25,>_MusicInfoList+37
033A E80F add R30,R24
033C F91F adc R31,R25
033E 2080 ldd R2,z+0
0340 3180 ldd R3,z+1
0342 4280 ldd R4,z+2
0344 5380 ldd R5,z+3
0346 40E4 ldi R20,64
0348 50E0 ldi R21,0
034A 60E0 ldi R22,0
034C 70E0 ldi R23,0
034E 241A sub R2,R20
0350 350A sbc R3,R21
0352 460A sbc R4,R22
0354 570A sbc R5,R23
0356 FE01 movw R30,R28
0358 6680 ldd R6,z+6
035A 7780 ldd R7,z+7
035C 8084 ldd R8,z+8
035E 9184 ldd R9,z+9
0360 6214 cp R6,R2
0362 7304 cpc R7,R3
0364 8404 cpc R8,R4
0366 9504 cpc R9,R5
0368 B0F0 brlo L53
036A .dbline 129
036A ; {
036A .dbline 130
036A ; data_pointer=512;
036A 80E0 ldi R24,512
036C 92E0 ldi R25,2
036E 9F8B std y+23,R25
0370 8E8B std y+22,R24
0372 .dbline 131
0372 ; i=8;
0372 48E0 ldi R20,8
0374 50E0 ldi R21,0
0376 60E0 ldi R22,0
0378 70E0 ldi R23,0
037A FE01 movw R30,R28
037C 4287 std z+10,R20
037E 5387 std z+11,R21
0380 6487 std z+12,R22
0382 7587 std z+13,R23
0384 .dbline 132
0384 ; size_buf=0;
0384 40E0 ldi R20,0
0386 50E0 ldi R21,0
0388 60E0 ldi R22,0
038A 70E0 ldi R23,0
038C FE01 movw R30,R28
038E 4683 std z+6,R20
0390 5783 std z+7,R21
0392 6087 std z+8,R22
0394 7187 std z+9,R23
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -