📄 task.lis
字号:
073E 20900000 lds R2,_timer1_over
0742 2220 tst R2
0744 09F4 brne X24
0746 59C1 xjmp L117
0748 X24:
0748 .dbline 276
0748 ; {
0748 .dbline 277
0748 ; timer1_over=0;
0748 2224 clr R2
074A 20920000 sts _timer1_over,R2
074E .dbline 278
074E ; switch(disp_state)
074E 40910100 lds R20,_disp_state
0752 5527 clr R21
0754 4030 cpi R20,0
0756 4507 cpc R20,R21
0758 A9F0 breq L122
075A X20:
075A 4130 cpi R20,1
075C E0E0 ldi R30,0
075E 5E07 cpc R21,R30
0760 09F4 brne X25
0762 3BC0 xjmp L130
0764 X25:
0764 4330 cpi R20,3
0766 E0E0 ldi R30,0
0768 5E07 cpc R21,R30
076A 09F4 brne X26
076C B5C0 xjmp L144
076E X26:
076E 4430 cpi R20,4
0770 E0E0 ldi R30,0
0772 5E07 cpc R21,R30
0774 09F4 brne X27
0776 00C1 xjmp L159
0778 X27:
0778 4530 cpi R20,5
077A E0E0 ldi R30,0
077C 5E07 cpc R21,R30
077E 09F4 brne X28
0780 18C1 xjmp L162
0782 X28:
0782 3BC1 xjmp L119
0784 X21:
0784 .dbline 279
0784 ; {case 0:
0784 L122:
0784 .dbline 280
0784 ; {
0784 .dbline 281
0784 ; for(n=0;n<mp3_info.Name_number;n++)
0784 4427 clr R20
0786 21C0 xjmp L126
0788 L123:
0788 .dbline 282
0788 ; {
0788 .dbline 283
0788 ; if(mp3_info.NAME[n]<0x0060)
0788 82E0 ldi R24,2
078A 849F mul R24,R20
078C F001 movw R30,R0
078E 80E0 ldi R24,<_mp3_info
0790 90E0 ldi R25,>_mp3_info
0792 E80F add R30,R24
0794 F91F adc R31,R25
0796 8081 ldd R24,z+0
0798 9181 ldd R25,z+1
079A 8036 cpi R24,96
079C E0E0 ldi R30,0
079E 9E07 cpc R25,R30
07A0 50F4 brsh L128
07A2 .dbline 284
07A2 ; disp_number+=6;
07A2 80910C00 lds R24,L108
07A6 90910D00 lds R25,L108+1
07AA 0696 adiw R24,6
07AC 90930D00 sts L108+1,R25
07B0 80930C00 sts L108,R24
07B4 09C0 xjmp L129
07B6 L128:
07B6 .dbline 286
07B6 ; else
07B6 ; disp_number+=12;
07B6 80910C00 lds R24,L108
07BA 90910D00 lds R25,L108+1
07BE 0C96 adiw R24,12
07C0 90930D00 sts L108+1,R25
07C4 80930C00 sts L108,R24
07C8 L129:
07C8 .dbline 287
07C8 L124:
07C8 .dbline 281
07C8 4395 inc R20
07CA L126:
07CA .dbline 281
07CA 20903400 lds R2,_mp3_info+52
07CE 4215 cp R20,R2
07D0 D8F2 brlo L123
07D2 .dbline 289
07D2 ; }
07D2 ;
07D2 ; disp_state=1;
07D2 81E0 ldi R24,1
07D4 80930100 sts _disp_state,R24
07D8 .dbline 290
07D8 ; break;
07D8 10C1 xjmp L120
07DA L130:
07DA .dbline 294
07DA ; }
07DA ;
07DA ; case 1:
07DA ; {
07DA .dbline 296
07DA ;
07DA ; if(disp_i>=disp_number)
07DA 20900C00 lds R2,L108
07DE 30900D00 lds R3,L108+1
07E2 40900E00 lds R4,L109
07E6 50900F00 lds R5,L109+1
07EA 4214 cp R4,R2
07EC 5304 cpc R5,R3
07EE 90F0 brlo L131
07F0 .dbline 297
07F0 ; {
07F0 .dbline 298
07F0 ; buffer_h[disp_point]=0;
07F0 80E0 ldi R24,<L111
07F2 90E0 ldi R25,>L111
07F4 E0910B00 lds R30,L107
07F8 FF27 clr R31
07FA E80F add R30,R24
07FC F91F adc R31,R25
07FE 2224 clr R2
0800 2082 std z+0,R2
0802 .dbline 299
0802 ; buffer_l[disp_point]=0;
0802 80E0 ldi R24,<L112
0804 90E0 ldi R25,>L112
0806 E0910B00 lds R30,L107
080A FF27 clr R31
080C E80F add R30,R24
080E F91F adc R31,R25
0810 2082 std z+0,R2
0812 .dbline 300
0812 ; }
0812 59C0 xjmp L132
0814 L131:
0814 .dbline 302
0814 ; else
0814 ; {
0814 .dbline 303
0814 ; if((disp_i%6)==0)
0814 26E0 ldi R18,6
0816 30E0 ldi R19,0
0818 00910E00 lds R16,L109
081C 10910F00 lds R17,L109+1
0820 0E940000 xcall mod16u
0824 0030 cpi R16,0
0826 0107 cpc R16,R17
0828 71F5 brne L133
082A X22:
082A .dbline 304
082A ; {
082A .dbline 305
082A ; for(m=0,n=0;n<disp_i;)
082A 6627 clr R22
082C 4427 clr R20
082E 16C0 xjmp L138
0830 L135:
0830 .dbline 306
0830 ; {
0830 .dbline 307
0830 ; if(mp3_info.NAME[m++]<0x0060)
0830 262E mov R2,R22
0832 3324 clr R3
0834 6F5F subi R22,255 ; addi 1
0836 02E0 ldi R16,2
0838 10E0 ldi R17,0
083A 9101 movw R18,R2
083C 0E940000 xcall empy16s
0840 F801 movw R30,R16
0842 80E0 ldi R24,<_mp3_info
0844 90E0 ldi R25,>_mp3_info
0846 E80F add R30,R24
0848 F91F adc R31,R25
084A 8081 ldd R24,z+0
084C 9181 ldd R25,z+1
084E 8036 cpi R24,96
0850 E0E0 ldi R30,0
0852 9E07 cpc R25,R30
0854 10F4 brsh L139
0856 .dbline 308
0856 ; n+=6;
0856 4A5F subi R20,250 ; addi 6
0858 01C0 xjmp L140
085A L139:
085A .dbline 310
085A ; else
085A ; n+=12;
085A 445F subi R20,244 ; addi 12
085C L140:
085C .dbline 311
085C L136:
085C .dbline 305
085C L138:
085C .dbline 305
085C 20900E00 lds R2,L109
0860 30900F00 lds R3,L109+1
0864 442E mov R4,R20
0866 5524 clr R5
0868 4214 cp R4,R2
086A 5304 cpc R5,R3
086C 08F3 brlo L135
086E .dbline 312
086E ; }
086E ; if(n==disp_i)
086E 5524 clr R5
0870 4214 cp R4,R2
0872 5304 cpc R5,R3
0874 41F4 brne L141
0876 .dbline 313
0876 ; {Abtain_code(m,piont_24_code);
0876 .dbline 313
0876 20E0 ldi R18,<L113
0878 30E0 ldi R19,>L113
087A 062F mov R16,R22
087C 0E940000 xcall _Abtain_code
0880 .dbline 314
0880 ; disp_j=0;
0880 2224 clr R2
0882 20921000 sts L110,R2
0886 .dbline 315
0886 ; }
0886 L141:
0886 .dbline 316
0886 ; }
0886 L133:
0886 .dbline 317
0886 ; buffer_h[disp_point]=piont_24_code[disp_j];
0886 80E0 ldi R24,<L113
0888 90E0 ldi R25,>L113
088A E0911000 lds R30,L110
088E FF27 clr R31
0890 E80F add R30,R24
0892 F91F adc R31,R25
0894 2080 ldd R2,z+0
0896 80E0 ldi R24,<L111
0898 90E0 ldi R25,>L111
089A E0910B00 lds R30,L107
089E FF27 clr R31
08A0 E80F add R30,R24
08A2 F91F adc R31,R25
08A4 2082 std z+0,R2
08A6 .dbline 318
08A6 ; buffer_l[disp_point]=piont_24_code[disp_j+12];
08A6 80E0 ldi R24,<L113+12
08A8 90E0 ldi R25,>L113+12
08AA E0911000 lds R30,L110
08AE FF27 clr R31
08B0 E80F add R30,R24
08B2 F91F adc R31,R25
08B4 2080 ldd R2,z+0
08B6 80E0 ldi R24,<L112
08B8 90E0 ldi R25,>L112
08BA E0910B00 lds R30,L107
08BE FF27 clr R31
08C0 E80F add R30,R24
08C2 F91F adc R31,R25
08C4 2082 std z+0,R2
08C6 .dbline 319
08C6 ; }
08C6 L132:
08C6 .dbline 320
08C6 ; disp_j++;
08C6 80911000 lds R24,L110
08CA 8F5F subi R24,255 ; addi 1
08CC 80931000 sts L110,R24
08D0 .dbline 321
08D0 ; disp_state=3;
08D0 83E0 ldi R24,3
08D2 80930100 sts _disp_state,R24
08D6 .dbline 322
08D6 ; break;
08D6 91C0 xjmp L120
08D8 L144:
08D8 .dbline 326
08D8 ; }
08D8 ;
08D8 ; case 3:
08D8 ; {
08D8 .dbline 327
08D8 ; LCD_set_XY(6,2);
08D8 22E0 ldi R18,2
08DA 06E0 ldi R16,6
08DC 0E940000 xcall _LCD_set_XY
08E0 .dbline 328
08E0 ; for (n=0; n<72; n++)
08E0 4427 clr R20
08E2 18C0 xjmp L148
08E4 L145:
08E4 .dbline 329
08E4 ; {
08E4 .dbline 330
08E4 ; if(++disp_point>71)
08E4 80910B00 lds R24,L107
08E8 8F5F subi R24,255 ; addi 1
08EA 282E mov R2,R24
08EC 20920B00 sts L107,R2
08F0 87E4 ldi R24,71
08F2 8215 cp R24,R2
08F4 18F4 brsh L149
08F6 .dbline 331
08F6 ; {disp_point=0;
08F6 .dbline 331
08F6 2224 clr R2
08F8 20920B00 sts L107,R2
08FC .dbline 332
08FC ; }
08FC L149:
08FC .dbline 333
08FC 21E0 ldi R18,1
08FE 80E0 ldi R24,<L111
0900 90E0 ldi R25,>L111
0902 E0910B00 lds R30,L107
0906 FF27 clr R31
0908 E80F add R30,R24
090A F91F adc R31,R25
090C 0081 ldd R16,z+0
090E 0E940000 xcall _LCD_write_byte
0912 .dbline 334
0912 L146:
0912
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -