📄 mp3.lis
字号:
0154 ; temp += (timebuf.hour&0x0f);
0154 80910200 lds R24,_timebuf+2
0158 8F70 andi R24,15
015A 680F add R22,R24
015C .dbline 76
015C ; (++temp == 24) ? (temp = 0) : 0;
015C 862F mov R24,R22
015E 8F5F subi R24,255 ; addi 1
0160 682F mov R22,R24
0162 6831 cpi R22,24
0164 11F4 brne L28
0166 6627 clr R22
0168 00C0 xjmp L28
016A L28:
016A .dbline 77
016A ; timebuf.hour = temp/10;
016A 1AE0 ldi R17,10
016C 062F mov R16,R22
016E 0E940000 xcall div8u
0172 00930200 sts _timebuf+2,R16
0176 .dbline 78
0176 ; timebuf.hour <<= 4;
0176 802F mov R24,R16
0178 8F70 andi R24,#0x0F
017A 8295 swap R24
017C 80930200 sts _timebuf+2,R24
0180 .dbline 79
0180 ; timebuf.hour += temp%10;
0180 1AE0 ldi R17,10
0182 062F mov R16,R22
0184 0E940000 xcall mod8u
0188 20900200 lds R2,_timebuf+2
018C 200E add R2,R16
018E 20920200 sts _timebuf+2,R2
0192 .dbline 80
0192 ; break;
0192 53C0 xjmp L22
0194 L32:
0194 .dbline 81
0194 ; case 1: temp = timebuf.min;
0194 60910100 lds R22,_timebuf+1
0198 .dbline 82
0198 ; temp >>= 4;
0198 862F mov R24,R22
019A 8295 swap R24
019C 8F70 andi R24,#0x0F
019E 682F mov R22,R24
01A0 .dbline 83
01A0 ; temp &= 0x0f;
01A0 6F70 andi R22,15
01A2 .dbline 84
01A2 ; temp *= 10;
01A2 8AE0 ldi R24,10
01A4 869F mul R24,R22
01A6 602D mov R22,R0
01A8 .dbline 85
01A8 ; temp += (timebuf.min&0x0f);
01A8 80910100 lds R24,_timebuf+1
01AC 8F70 andi R24,15
01AE 680F add R22,R24
01B0 .dbline 86
01B0 ; (++temp == 60) ? (temp = 0) : 0;
01B0 862F mov R24,R22
01B2 8F5F subi R24,255 ; addi 1
01B4 682F mov R22,R24
01B6 6C33 cpi R22,60
01B8 11F4 brne L36
01BA 6627 clr R22
01BC 00C0 xjmp L36
01BE L36:
01BE .dbline 87
01BE ; timebuf.min = temp/10;
01BE 1AE0 ldi R17,10
01C0 062F mov R16,R22
01C2 0E940000 xcall div8u
01C6 00930100 sts _timebuf+1,R16
01CA .dbline 88
01CA ; timebuf.min <<= 4;
01CA 802F mov R24,R16
01CC 8F70 andi R24,#0x0F
01CE 8295 swap R24
01D0 80930100 sts _timebuf+1,R24
01D4 .dbline 89
01D4 ; timebuf.min += temp%10;
01D4 1AE0 ldi R17,10
01D6 062F mov R16,R22
01D8 0E940000 xcall mod8u
01DC 20900100 lds R2,_timebuf+1
01E0 200E add R2,R16
01E2 20920100 sts _timebuf+1,R2
01E6 .dbline 90
01E6 ; break;
01E6 29C0 xjmp L22
01E8 L40:
01E8 .dbline 91
01E8 ; case 2: temp = timebuf.sec;
01E8 60910000 lds R22,_timebuf
01EC .dbline 92
01EC ; temp >>= 4;
01EC 862F mov R24,R22
01EE 8295 swap R24
01F0 8F70 andi R24,#0x0F
01F2 682F mov R22,R24
01F4 .dbline 93
01F4 ; temp &= 0x0f;
01F4 6F70 andi R22,15
01F6 .dbline 94
01F6 ; temp *= 10;
01F6 8AE0 ldi R24,10
01F8 869F mul R24,R22
01FA 602D mov R22,R0
01FC .dbline 95
01FC ; temp += (timebuf.sec&0x0f);
01FC 80910000 lds R24,_timebuf
0200 8F70 andi R24,15
0202 680F add R22,R24
0204 .dbline 96
0204 ; (++temp == 60) ? (temp = 0) : 0;
0204 862F mov R24,R22
0206 8F5F subi R24,255 ; addi 1
0208 682F mov R22,R24
020A 6C33 cpi R22,60
020C 11F4 brne L42
020E 6627 clr R22
0210 00C0 xjmp L42
0212 L42:
0212 .dbline 97
0212 ; timebuf.sec = temp/10;
0212 1AE0 ldi R17,10
0214 062F mov R16,R22
0216 0E940000 xcall div8u
021A 00930000 sts _timebuf,R16
021E .dbline 98
021E ; timebuf.sec <<= 4;
021E 802F mov R24,R16
0220 8F70 andi R24,#0x0F
0222 8295 swap R24
0224 80930000 sts _timebuf,R24
0228 .dbline 99
0228 ; timebuf.sec += temp%10;
0228 1AE0 ldi R17,10
022A 062F mov R16,R22
022C 0E940000 xcall mod8u
0230 20900000 lds R2,_timebuf
0234 200E add R2,R16
0236 20920000 sts _timebuf,R2
023A .dbline 100
023A ; break;
023A L21:
023A L22:
023A .dbline 102
023A ; }//switch
023A ; }
023A L19:
023A .dbline 103
023A ; if(keybuf == K_DOWN){
023A 80910000 lds R24,_keybuf
023E 8130 cpi R24,1
0240 09F0 breq X7
0242 8EC0 xjmp L43
0244 X7:
0244 .dbline 103
0244 .dbline 104
0244 A42E mov R10,R20
0246 BB24 clr R11
0248 AA20 tst R10
024A 11F4 brne X3
024C BB20 tst R11
024E 59F0 breq L48
0250 X3:
0250 C501 movw R24,R10
0252 8130 cpi R24,1
0254 E0E0 ldi R30,0
0256 9E07 cpc R25,R30
0258 81F1 breq L56
025A 8230 cpi R24,2
025C E0E0 ldi R30,0
025E 9E07 cpc R25,R30
0260 09F4 brne X8
0262 55C0 xjmp L64
0264 X8:
0264 7DC0 xjmp L45
0266 X4:
0266 .dbline 104
0266 ; switch(ii){
0266 L48:
0266 .dbline 105
0266 ; case 0: temp = timebuf.hour;
0266 60910200 lds R22,_timebuf+2
026A .dbline 106
026A ; temp >>= 4;
026A 862F mov R24,R22
026C 8295 swap R24
026E 8F70 andi R24,#0x0F
0270 682F mov R22,R24
0272 .dbline 107
0272 ; temp &= 0x0f;
0272 6F70 andi R22,15
0274 .dbline 108
0274 ; temp *= 10;
0274 8AE0 ldi R24,10
0276 869F mul R24,R22
0278 602D mov R22,R0
027A .dbline 109
027A ; temp += (timebuf.hour&0x0f);
027A 80910200 lds R24,_timebuf+2
027E 8F70 andi R24,15
0280 680F add R22,R24
0282 .dbline 110
0282 ; (--temp == 255) ? (temp = 23) : 0;
0282 862F mov R24,R22
0284 8150 subi R24,1
0286 682F mov R22,R24
0288 6F3F cpi R22,255
028A 11F4 brne L52
028C 67E1 ldi R22,23
028E 00C0 xjmp L52
0290 L52:
0290 .dbline 111
0290 ; timebuf.hour = temp/10;
0290 1AE0 ldi R17,10
0292 062F mov R16,R22
0294 0E940000 xcall div8u
0298 00930200 sts _timebuf+2,R16
029C .dbline 112
029C ; timebuf.hour <<= 4;
029C 802F mov R24,R16
029E 8F70 andi R24,#0x0F
02A0 8295 swap R24
02A2 80930200 sts _timebuf+2,R24
02A6 .dbline 113
02A6 ; timebuf.hour += temp%10;
02A6 1AE0 ldi R17,10
02A8 062F mov R16,R22
02AA 0E940000 xcall mod8u
02AE 20900200 lds R2,_timebuf+2
02B2 200E add R2,R16
02B4 20920200 sts _timebuf+2,R2
02B8 .dbline 114
02B8 ; break;
02B8 53C0 xjmp L46
02BA L56:
02BA .dbline 115
02BA ; case 1: temp = timebuf.min;
02BA 60910100 lds R22,_timebuf+1
02BE .dbline 116
02BE ; temp >>= 4;
02BE 862F mov R24,R22
02C0 8295 swap R24
02C2 8F70 andi R24,#0x0F
02C4 682F mov R22,R24
02C6 .dbline 117
02C6 ; temp &= 0x0f;
02C6 6F70 andi R22,15
02C8 .dbline 118
02C8 ; temp *= 10;
02C8 8AE0 ldi R24,10
02CA 869F mul R24,R22
02CC 602D mov R22,R0
02CE .dbline 119
02CE ; temp += (timebuf.min&0x0f);
02CE 80910100 lds R24,_timebuf+1
02D2 8F70 andi R24,15
02D4 680F add R22,R24
02D6 .dbline 120
02D6 ; (--temp == 255) ? (temp = 59) : 0;
02D6 862F mov R24,R22
02D8 8150 subi R24,1
02DA 682F mov R22,R24
02DC 6F3F cpi R22,255
02DE 11F4 brne L60
02E0 6BE3 ldi R22,59
02E2 00C0 xjmp L60
02E4 L60:
02E4 .dbline 121
02E4 ; timebuf.min = temp/10;
02E4 1AE0 ldi R17,10
02E6 062F mov R16,R22
02E8 0E940000 xcall div8u
02EC 00930100 sts _timebuf+1,R16
02F0 .dbline 122
02F0 ; timebuf.min <<= 4;
02F0 802F mov R24,R16
02F2 8F70 andi R24,#0x0F
02F4 8295 swap R24
02F6 80930100 sts _timebuf+1,R24
02FA .dbline 123
02FA ; timebuf.min += temp%10;
02FA 1AE0 ldi R17,10
02FC 062F mov R16,R22
02FE 0E940000 xcall mod8u
0302 20900100 lds R2,_timebuf+1
0306 200E add R2,R16
0308 20920100 sts _timebuf+1,R2
030C .dbline 124
030C ; break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -