⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mp3.lis

📁 mega128+VS1003做的mp3的程序 可以用WINAVR编译
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 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 + -