📄 mp3.lis
字号:
030C 29C0 xjmp L46
030E L64:
030E .dbline 125
030E ; case 2: temp = timebuf.sec;
030E 60910000 lds R22,_timebuf
0312 .dbline 126
0312 ; temp >>= 4;
0312 862F mov R24,R22
0314 8295 swap R24
0316 8F70 andi R24,#0x0F
0318 682F mov R22,R24
031A .dbline 127
031A ; temp &= 0x0f;
031A 6F70 andi R22,15
031C .dbline 128
031C ; temp *= 10;
031C 8AE0 ldi R24,10
031E 869F mul R24,R22
0320 602D mov R22,R0
0322 .dbline 129
0322 ; temp += (timebuf.sec&0x0f);
0322 80910000 lds R24,_timebuf
0326 8F70 andi R24,15
0328 680F add R22,R24
032A .dbline 130
032A ; (--temp == 255) ? (temp = 59) : 0;
032A 862F mov R24,R22
032C 8150 subi R24,1
032E 682F mov R22,R24
0330 6F3F cpi R22,255
0332 11F4 brne L66
0334 6BE3 ldi R22,59
0336 00C0 xjmp L66
0338 L66:
0338 .dbline 131
0338 ; timebuf.sec = temp/10;
0338 1AE0 ldi R17,10
033A 062F mov R16,R22
033C 0E940000 xcall div8u
0340 00930000 sts _timebuf,R16
0344 .dbline 132
0344 ; timebuf.sec <<= 4;
0344 802F mov R24,R16
0346 8F70 andi R24,#0x0F
0348 8295 swap R24
034A 80930000 sts _timebuf,R24
034E .dbline 133
034E ; timebuf.sec += temp%10;
034E 1AE0 ldi R17,10
0350 062F mov R16,R22
0352 0E940000 xcall mod8u
0356 20900000 lds R2,_timebuf
035A 200E add R2,R16
035C 20920000 sts _timebuf,R2
0360 .dbline 134
0360 ; break;
0360 L45:
0360 L46:
0360 .dbline 136
0360 ; }//switch
0360 ; }
0360 L43:
0360 .dbline 137
0360 ; if(keybuf == K_RIFT) (++ii == 3) ? (ii = 0) : 0;
0360 80910000 lds R24,_keybuf
0364 8630 cpi R24,6
0366 39F4 brne L67
0368 .dbline 137
0368 842F mov R24,R20
036A 8F5F subi R24,255 ; addi 1
036C 482F mov R20,R24
036E 4330 cpi R20,3
0370 11F4 brne L70
0372 4427 clr R20
0374 00C0 xjmp L70
0376 L70:
0376 L67:
0376 .dbline 138
0376 ; if(keybuf == K_LIFT) (--ii == 255) ? (ii = 2) : 0;
0376 80910000 lds R24,_keybuf
037A 8230 cpi R24,2
037C 39F4 brne L71
037E .dbline 138
037E 842F mov R24,R20
0380 8150 subi R24,1
0382 482F mov R20,R24
0384 4F3F cpi R20,255
0386 11F4 brne L74
0388 42E0 ldi R20,2
038A 00C0 xjmp L74
038C L74:
038C L71:
038C .dbline 139
038C ; if(keybuf == K_ESC) {Read_InfoDs1302buf();break;}
038C 80910000 lds R24,_keybuf
0390 8530 cpi R24,5
0392 19F4 brne L75
0394 .dbline 139
0394 .dbline 139
0394 0E940000 xcall _Read_InfoDs1302buf
0398 .dbline 139
0398 08C0 xjmp L15
039A L75:
039A .dbline 140
039A ; if(keybuf == K_ENTER) {Write_InfoDs1302buf();break;}
039A 80910000 lds R24,_keybuf
039E 8430 cpi R24,4
03A0 19F4 brne L77
03A2 .dbline 140
03A2 .dbline 140
03A2 0E940000 xcall _Write_InfoDs1302buf
03A6 .dbline 140
03A6 01C0 xjmp L15
03A8 L77:
03A8 .dbline 141
03A8 L14:
03A8 .dbline 64
03A8 ABCE xjmp L13
03AA L15:
03AA .dbline -2
03AA L12:
03AA 0E940000 xcall pop_gset4
03AE .dbline 0 ; func end
03AE 0895 ret
03B0 .dbsym r temp 22 c
03B0 .dbsym r ii 20 c
03B0 .dbend
03B0 .dbfunc e set_system_date _set_system_date fV
03B0 ; temp -> R22
03B0 ; ii -> R20
.even
03B0 _set_system_date::
03B0 0E940000 xcall push_gset4
03B4 .dbline -1
03B4 .dbline 147
03B4 ; }
03B4 ; }
03B4 ; /*
03B4 ; *设置日期
03B4 ; */
03B4 ; void set_system_date(void)
03B4 ; {
03B4 .dbline 150
03B4 ; uchar ii;
03B4 ; uchar temp;
03B4 ; ii = 0; //最大是2
03B4 4427 clr R20
03B6 54C1 xjmp L81
03B8 L80:
03B8 .dbline 151
03B8 ; while(1){
03B8 .dbline 152
03B8 ; show_set_date(ii);
03B8 042F mov R16,R20
03BA 1127 clr R17
03BC 0E940000 xcall _show_set_date
03C0 .dbline 153
03C0 ; KEYBUF_NULL;
03C0 2224 clr R2
03C2 20920000 sts _keybuf,R2
03C6 .dbline 153
03C6 L83:
03C6 .dbline 154
03C6 L84:
03C6 .dbline 154
03C6 ; while(keybuf == NULL);
03C6 20900000 lds R2,_keybuf
03CA 2220 tst R2
03CC E1F3 breq L83
03CE .dbline 156
03CE ;
03CE ; if(keybuf == K_UP){
03CE 822D mov R24,R2
03D0 8330 cpi R24,3
03D2 09F0 breq X13
03D4 8EC0 xjmp L86
03D6 X13:
03D6 .dbline 156
03D6 .dbline 157
03D6 C42E mov R12,R20
03D8 DD24 clr R13
03DA CC20 tst R12
03DC 11F4 brne X9
03DE DD20 tst R13
03E0 59F0 breq L91
03E2 X9:
03E2 C601 movw R24,R12
03E4 8130 cpi R24,1
03E6 E0E0 ldi R30,0
03E8 9E07 cpc R25,R30
03EA 81F1 breq L99
03EC 8230 cpi R24,2
03EE E0E0 ldi R30,0
03F0 9E07 cpc R25,R30
03F2 09F4 brne X14
03F4 55C0 xjmp L107
03F6 X14:
03F6 7DC0 xjmp L88
03F8 X10:
03F8 .dbline 157
03F8 ; switch(ii){
03F8 L91:
03F8 .dbline 158
03F8 ; case 0: temp = timebuf.year;
03F8 60910600 lds R22,_timebuf+6
03FC .dbline 159
03FC ; temp >>= 4;
03FC 862F mov R24,R22
03FE 8295 swap R24
0400 8F70 andi R24,#0x0F
0402 682F mov R22,R24
0404 .dbline 160
0404 ; temp &= 0x0f;
0404 6F70 andi R22,15
0406 .dbline 161
0406 ; temp *= 10;
0406 8AE0 ldi R24,10
0408 869F mul R24,R22
040A 602D mov R22,R0
040C .dbline 162
040C ; temp += (timebuf.year&0x0f);
040C 80910600 lds R24,_timebuf+6
0410 8F70 andi R24,15
0412 680F add R22,R24
0414 .dbline 163
0414 ; (++temp == 100) ? (temp = 0) : 0;
0414 862F mov R24,R22
0416 8F5F subi R24,255 ; addi 1
0418 682F mov R22,R24
041A 6436 cpi R22,100
041C 11F4 brne L95
041E 6627 clr R22
0420 00C0 xjmp L95
0422 L95:
0422 .dbline 164
0422 ; timebuf.year = temp/10;
0422 1AE0 ldi R17,10
0424 062F mov R16,R22
0426 0E940000 xcall div8u
042A 00930600 sts _timebuf+6,R16
042E .dbline 165
042E ; timebuf.year <<= 4;
042E 802F mov R24,R16
0430 8F70 andi R24,#0x0F
0432 8295 swap R24
0434 80930600 sts _timebuf+6,R24
0438 .dbline 166
0438 ; timebuf.year += temp%10;
0438 1AE0 ldi R17,10
043A 062F mov R16,R22
043C 0E940000 xcall mod8u
0440 20900600 lds R2,_timebuf+6
0444 200E add R2,R16
0446 20920600 sts _timebuf+6,R2
044A .dbline 167
044A ; break;
044A 53C0 xjmp L89
044C L99:
044C .dbline 168
044C ; case 1: temp = timebuf.month;
044C 60910400 lds R22,_timebuf+4
0450 .dbline 169
0450 ; temp >>= 4;
0450 862F mov R24,R22
0452 8295 swap R24
0454 8F70 andi R24,#0x0F
0456 682F mov R22,R24
0458 .dbline 170
0458 ; temp &= 0x0f;
0458 6F70 andi R22,15
045A .dbline 171
045A ; temp *= 10;
045A 8AE0 ldi R24,10
045C 869F mul R24,R22
045E 602D mov R22,R0
0460 .dbline 172
0460 ; temp += (timebuf.month&0x0f);
0460 80910400 lds R24,_timebuf+4
0464 8F70 andi R24,15
0466 680F add R22,R24
0468 .dbline 173
0468 ; (++temp == 13) ? (temp = 1) : 0;
0468 862F mov R24,R22
046A 8F5F subi R24,255 ; addi 1
046C 682F mov R22,R24
046E 6D30 cpi R22,13
0470 11F4 brne L103
0472 61E0 ldi R22,1
0474 00C0 xjmp L103
0476 L103:
0476 .dbline 174
0476 ; timebuf.month = temp/10;
0476 1AE0 ldi R17,10
0478 062F mov R16,R22
047A 0E940000 xcall div8u
047E 00930400 sts _timebuf+4,R16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -