📄 remote.lis
字号:
021A ; LcdStrConst(1,"MP3 Player" );
021A 20E0 ldi R18,<L48
021C 30E0 ldi R19,>L48
021E 01E0 ldi R16,1
0220 00D0 rcall _LcdStrConst
0222 .dbline 214
0222 4427 clr R20
0224 09C0 rjmp L52
0226 L49:
0226 .dbline 214
0226 82E0 ldi R24,2
0228 8C83 std y+4,R24
022A 4A83 std y+2,R20
022C 83E5 ldi R24,83
022E 8883 std y+0,R24
0230 242F mov R18,R20
0232 0027 clr R16
0234 00D0 rcall _LcdLine
0236 L50:
0236 .dbline 214
0236 4395 inc R20
0238 L52:
0238 .dbline 214
0238 ; for (i=0;i<9;i++) LcdLine(0,i,83,i,PIXEL_XOR);
0238 4930 cpi R20,9
023A A8F3 brlo L49
023C .dbline 215
023C ; LcdGotoXY(5,3);
023C 23E0 ldi R18,3
023E 05E0 ldi R16,5
0240 00D0 rcall _LcdGotoXY
0242 .dbline 216
0242 ; LcdStrConst(1,"Sylvain");
0242 20E0 ldi R18,<L53
0244 30E0 ldi R19,>L53
0246 01E0 ldi R16,1
0248 00D0 rcall _LcdStrConst
024A .dbline 217
024A ; LcdGotoXY(3,4);
024A 24E0 ldi R18,4
024C 03E0 ldi R16,3
024E 00D0 rcall _LcdGotoXY
0250 .dbline 218
0250 ; LcdStrConst(1,"Bissonnette");
0250 20E0 ldi R18,<L54
0252 30E0 ldi R19,>L54
0254 01E0 ldi R16,1
0256 00D0 rcall _LcdStrConst
0258 .dbline 219
0258 ; LcdGotoXY(4,6);
0258 26E0 ldi R18,6
025A 04E0 ldi R16,4
025C 00D0 rcall _LcdGotoXY
025E .dbline 220
025E ; LcdStrConst(1,"Ver : 1.0");
025E 20E0 ldi R18,<L55
0260 30E0 ldi R19,>L55
0262 01E0 ldi R16,1
0264 00D0 rcall _LcdStrConst
0266 .dbline 221
0266 ; LcdUpdate();
0266 00D0 rcall _LcdUpdate
0268 .dbline 222
0268 ; delay_ms(1000);
0268 08EE ldi R16,1000
026A 13E0 ldi R17,3
026C 45D1 rcall _delay_ms
026E .dbline 223
026E ; LcdClear();
026E 00D0 rcall _LcdClear
0270 .dbline 224
0270 ; LcdUpdate();
0270 00D0 rcall _LcdUpdate
0272 .dbline -2
0272 .dbline 225
0272 ; }
0272 L47:
0272 2596 adiw R28,5
0274 00D0 rcall pop_gset1
0276 .dbline 0 ; func end
0276 0895 ret
0278 .dbsym r i 20 c
0278 .dbend
0278 .dbfunc e LineDisplay _LineDisplay fV
0278 ; buffer -> y+5
0278 ; i -> R20
.even
0278 _LineDisplay::
0278 00D0 rcall push_gset1
027A 6397 sbiw R28,19
027C .dbline -1
027C .dbline 231
027C ;
027C ; //*************************************
027C ; // void LineDisplay(void)
027C ; //*************************************
027C ; void LineDisplay(void)
027C ; {
027C .dbline 235
027C ; unsigned char i;
027C ; char buffer[14];
027C ;
027C ; LcdClear();
027C 00D0 rcall _LcdClear
027E .dbline 236
027E ; LcdGotoXY(3,1);
027E 21E0 ldi R18,1
0280 03E0 ldi R16,3
0282 00D0 rcall _LcdGotoXY
0284 .dbline 237
0284 ; if (ListType == SONG) LcdStrConst(1,"Song List" );
0284 20900400 lds R2,_ListType
0288 2220 tst R2
028A 21F4 brne L57
028C .dbline 237
028C 20E0 ldi R18,<L59
028E 30E0 ldi R19,>L59
0290 01E0 ldi R16,1
0292 00D0 rcall _LcdStrConst
0294 L57:
0294 .dbline 238
0294 ; if (ListType == DIR) LcdStrConst(1,"Dir List" );
0294 80910400 lds R24,_ListType
0298 8130 cpi R24,1
029A 21F4 brne L60
029C .dbline 238
029C 20E0 ldi R18,<L62
029E 30E0 ldi R19,>L62
02A0 01E0 ldi R16,1
02A2 00D0 rcall _LcdStrConst
02A4 L60:
02A4 .dbline 239
02A4 ; if (ListType == PLAY) LcdStrConst(1," Playing" );
02A4 80910400 lds R24,_ListType
02A8 8230 cpi R24,2
02AA 21F4 brne L63
02AC .dbline 239
02AC 20E0 ldi R18,<L65
02AE 30E0 ldi R19,>L65
02B0 01E0 ldi R16,1
02B2 00D0 rcall _LcdStrConst
02B4 L63:
02B4 .dbline 240
02B4 41E0 ldi R20,1
02B6 09C0 rjmp L69
02B8 L66:
02B8 .dbline 240
02B8 82E0 ldi R24,2
02BA 8C83 std y+4,R24
02BC 4A83 std y+2,R20
02BE 83E5 ldi R24,83
02C0 8883 std y+0,R24
02C2 242F mov R18,R20
02C4 0027 clr R16
02C6 00D0 rcall _LcdLine
02C8 L67:
02C8 .dbline 240
02C8 4395 inc R20
02CA L69:
02CA .dbline 240
02CA ; for (i=1;i<8;i++) LcdLine(0,i,83,i,PIXEL_XOR);
02CA 4830 cpi R20,8
02CC A8F3 brlo L66
02CE .dbline 242
02CE ;
02CE ; for (i=0;i<5;i++)
02CE 4427 clr R20
02D0 1BC0 rjmp L73
02D2 L70:
02D2 .dbline 243
02D2 .dbline 244
02D2 8DE0 ldi R24,13
02D4 90E0 ldi R25,0
02D6 9983 std y+1,R25
02D8 8883 std y+0,R24
02DA 88E2 ldi R24,40
02DC 849F mul R24,R20
02DE 9001 movw R18,R0
02E0 80E0 ldi R24,<_Line
02E2 90E0 ldi R25,>_Line
02E4 280F add R18,R24
02E6 391F adc R19,R25
02E8 8E01 movw R16,R28
02EA 0B5F subi R16,251 ; offset = 5
02EC 1F4F sbci R17,255
02EE 00D0 rcall _memcpy
02F0 .dbline 245
02F0 2224 clr R2
02F2 2A8A std y+18,R2
02F4 .dbline 246
02F4 242F mov R18,R20
02F6 2E5F subi R18,254 ; addi 2
02F8 02E0 ldi R16,2
02FA 00D0 rcall _LcdGotoXY
02FC .dbline 247
02FC 9E01 movw R18,R28
02FE 2B5F subi R18,251 ; offset = 5
0300 3F4F sbci R19,255
0302 01E0 ldi R16,1
0304 00D0 rcall _LcdStr
0306 .dbline 248
0306 L71:
0306 .dbline 242
0306 4395 inc R20
0308 L73:
0308 .dbline 242
0308 4530 cpi R20,5
030A 18F3 brlo L70
030C .dbline 249
030C ; {
030C ; memcpy(&buffer[0],&Line[i][0],13);
030C ; buffer[13] = 0x00;
030C ; LcdGotoXY(2,2+i);
030C ; LcdStr(1,&buffer[0]);
030C ; }
030C ; LcdGotoXY(1,2+LinePtr);
030C 20910300 lds R18,_LinePtr
0310 2E5F subi R18,254 ; addi 2
0312 01E0 ldi R16,1
0314 00D0 rcall _LcdGotoXY
0316 .dbline 250
0316 ; LcdChr(1,134); // c'est la fleche
0316 26E8 ldi R18,134
0318 01E0 ldi R16,1
031A 00D0 rcall _LcdChr
031C .dbline -2
031C .dbline 251
031C ; }
031C L56:
031C 6396 adiw R28,19
031E 00D0 rcall pop_gset1
0320 .dbline 0 ; func end
0320 0895 ret
0322 .dbsym l buffer 5 A[14:14]c
0322 .dbsym r i 20 c
0322 .dbend
.area vector(rom, abs)
.org 18
0012 91C1 rjmp _timer0_ovf_isr
.area text(rom, con, rel)
0322 .dbfile C:\DATA\MP3\Remote\Code\remote.c
.area data(ram, con, rel)
000A .dbfile C:\DATA\MP3\Remote\Code\remote.c
000A L76:
000A .blkb 1
.area idata
000A 00 .byte 0
.area data(ram, con, rel)
000B .dbfile C:\DATA\MP3\Remote\Code\remote.c
000B L77:
000B .blkb 1
.area idata
000B 00 .byte 0
.area data(ram, con, rel)
000C .dbfile C:\DATA\MP3\Remote\Code\remote.c
000C L78:
000C .blkb 1
.area idata
000C 00 .byte 0
.area data(ram, con, rel)
000D .dbfile C:\DATA\MP3\Remote\Code\remote.c
.area bss(ram, con, rel)
0000 .dbfile C:\DATA\MP3\Remote\Code\remote.c
0000 L79:
0000 .blkb 14
.area text(rom, con, rel)
0322 .dbfile C:\DATA\MP3\Remote\Code\remote.c
0322 .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
0322 .dbsym s buffer L79 A[14:14]c
0322 .dbsym s LastLinePtr L78 c
0322 .dbsym s i L77 c
0322 .dbsym s tick L76 c
0322 ; j -> R20
.even
0322 _timer0_ovf_isr::
0322 00D0 rcall push_lset
0324 00D0 rcall push_gset1
0326 2297 sbiw R28,2
0328 .dbline -1
0328 .dbline 260
0328 ;
0328 ; //*************************************
0328 ; // void timer1_ovf_isr(void)
0328 ; //
0328 ; // 3.8 Hit/Second
0328 ; //*************************************
0328 ; #pragma interrupt_handler timer0_ovf_isr:10
0328 ; void timer0_ovf_isr(void)
0328 ; {
0328 .dbline 268
0328 ;
0328 ; static unsigned char tick = 0;
0328 ; static unsigned char i = 0;
0328 ; static unsigned char LastLinePtr = 0;
0328 ; static char buffer[14];
0328 ; unsigned char j;
0328 ;
0328 ; if (LinePtr != LastLinePtr) // if line ptr change
0328 20900C00 lds R2,L78
032C 30900300 lds R3,_LinePtr
0330 3214 cp R3,R2
0332 41F0 breq L80
0334 .dbline 269
0334 ; {
0334 .dbline 270
0334 ; LineDisplay();
0334 A1DF rcall _LineDisplay
0336 .dbline 271
0336 ; i = 0;
0336 2224 clr R2
0338 20920B00 sts L77,R2
033C .dbline 272
033C ; LastLinePtr = LinePtr;
033C 20900300 lds R2,_LinePtr
0340 20920C00 sts L78,R2
0344 .dbline 273
0344 ; }
0344 L80:
0344 .dbline 275
0344 ;
0344 ; if (Refresh == TRUE)
0344 80910600 lds R24,_Refresh
0348 8130 cpi R24,1
034A 31F4 brne L82
034C .dbline 276
034C ; {
034C .dbline 277
034C ; LineDisplay();
034C 95DF rcall _LineDisplay
034E .dbline 278
034E ; i = 0;
034E 2224 clr R2
0350 20920B00 sts L77,R2
0354 .dbline 279
0354 ; Refresh = FALSE;
0354 20920600 sts _Refresh,R2
0358 .dbline 280
0358 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -