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

📄 mp3.lis

📁 mega128+VS1003做的mp3的程序 可以用WINAVR编译
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0482                   .dbline 175
 0482           ;                                                                                timebuf.month <<= 4;
 0482 802F              mov R24,R16
 0484 8F70              andi R24,#0x0F
 0486 8295              swap R24
 0488 80930400          sts _timebuf+4,R24
 048C                   .dbline 176
 048C           ;                                                                                timebuf.month += temp%10;
 048C 1AE0              ldi R17,10
 048E 062F              mov R16,R22
 0490 0E940000          xcall mod8u
 0494 20900400          lds R2,_timebuf+4
 0498 200E              add R2,R16
 049A 20920400          sts _timebuf+4,R2
 049E                   .dbline 177
 049E           ;                                                                        break;         
 049E 29C0              xjmp L89
 04A0           L107:
 04A0                   .dbline 178
 04A0           ;                                                           case 2:  temp = timebuf.date;
 04A0 60910300          lds R22,_timebuf+3
 04A4                   .dbline 179
 04A4           ;                                                                        temp >>= 4;
 04A4 862F              mov R24,R22
 04A6 8295              swap R24
 04A8 8F70              andi R24,#0x0F
 04AA 682F              mov R22,R24
 04AC                   .dbline 180
 04AC           ;                                                                                temp &= 0x0f;
 04AC 6F70              andi R22,15
 04AE                   .dbline 181
 04AE           ;                                                                                temp *= 10;
 04AE 8AE0              ldi R24,10
 04B0 869F              mul R24,R22
 04B2 602D              mov R22,R0
 04B4                   .dbline 182
 04B4           ;                                                                                temp += (timebuf.date&0x0f);
 04B4 80910300          lds R24,_timebuf+3
 04B8 8F70              andi R24,15
 04BA 680F              add R22,R24
 04BC                   .dbline 183
 04BC           ;                                                                                (++temp == 32) ? (temp = 1) : 0;
 04BC 862F              mov R24,R22
 04BE 8F5F              subi R24,255    ; addi 1
 04C0 682F              mov R22,R24
 04C2 6032              cpi R22,32
 04C4 11F4              brne L111
 04C6 61E0              ldi R22,1
 04C8 00C0              xjmp L111
 04CA           L111:
 04CA                   .dbline 184
 04CA           ;                                                                                timebuf.date = temp/10;
 04CA 1AE0              ldi R17,10
 04CC 062F              mov R16,R22
 04CE 0E940000          xcall div8u
 04D2 00930300          sts _timebuf+3,R16
 04D6                   .dbline 185
 04D6           ;                                                                                timebuf.date <<= 4;
 04D6 802F              mov R24,R16
 04D8 8F70              andi R24,#0x0F
 04DA 8295              swap R24
 04DC 80930300          sts _timebuf+3,R24
 04E0                   .dbline 186
 04E0           ;                                                                                timebuf.date += temp%10;
 04E0 1AE0              ldi R17,10
 04E2 062F              mov R16,R22
 04E4 0E940000          xcall mod8u
 04E8 20900300          lds R2,_timebuf+3
 04EC 200E              add R2,R16
 04EE 20920300          sts _timebuf+3,R2
 04F2                   .dbline 187
 04F2           ;                                                                        break;                          
 04F2           L88:
 04F2           L89:
 04F2                   .dbline 189
 04F2           ;                                                           }//switch
 04F2           ;                                    }
 04F2           L86:
 04F2                   .dbline 190
 04F2           ;                  if(keybuf == K_DOWN){
 04F2 80910000          lds R24,_keybuf
 04F6 8130              cpi R24,1
 04F8 09F0              breq X15
 04FA 8EC0              xjmp L115
 04FC           X15:
 04FC                   .dbline 190
 04FC                   .dbline 191
 04FC A42E              mov R10,R20
 04FE BB24              clr R11
 0500 AA20              tst R10
 0502 11F4              brne X11
 0504 BB20              tst R11
 0506 59F0              breq L120
 0508           X11:
 0508 C501              movw R24,R10
 050A 8130              cpi R24,1
 050C E0E0              ldi R30,0
 050E 9E07              cpc R25,R30
 0510 81F1              breq L128
 0512 8230              cpi R24,2
 0514 E0E0              ldi R30,0
 0516 9E07              cpc R25,R30
 0518 09F4              brne X16
 051A 55C0              xjmp L136
 051C           X16:
 051C 7DC0              xjmp L117
 051E           X12:
 051E                   .dbline 191
 051E           ;                                                         switch(ii){
 051E           L120:
 051E                   .dbline 192
 051E           ;                                                           case 0:  temp = timebuf.year;
 051E 60910600          lds R22,_timebuf+6
 0522                   .dbline 193
 0522           ;                                                                        temp >>= 4;
 0522 862F              mov R24,R22
 0524 8295              swap R24
 0526 8F70              andi R24,#0x0F
 0528 682F              mov R22,R24
 052A                   .dbline 194
 052A           ;                                                                                temp &= 0x0f;
 052A 6F70              andi R22,15
 052C                   .dbline 195
 052C           ;                                                                                temp *= 10;
 052C 8AE0              ldi R24,10
 052E 869F              mul R24,R22
 0530 602D              mov R22,R0
 0532                   .dbline 196
 0532           ;                                                                                temp += (timebuf.year&0x0f);
 0532 80910600          lds R24,_timebuf+6
 0536 8F70              andi R24,15
 0538 680F              add R22,R24
 053A                   .dbline 197
 053A           ;                                                                                (--temp == 255) ? (temp = 99) : 0;
 053A 862F              mov R24,R22
 053C 8150              subi R24,1
 053E 682F              mov R22,R24
 0540 6F3F              cpi R22,255
 0542 11F4              brne L124
 0544 63E6              ldi R22,99
 0546 00C0              xjmp L124
 0548           L124:
 0548                   .dbline 198
 0548           ;                                                                                timebuf.year = temp/10;
 0548 1AE0              ldi R17,10
 054A 062F              mov R16,R22
 054C 0E940000          xcall div8u
 0550 00930600          sts _timebuf+6,R16
 0554                   .dbline 199
 0554           ;                                                                                timebuf.year <<= 4;
 0554 802F              mov R24,R16
 0556 8F70              andi R24,#0x0F
 0558 8295              swap R24
 055A 80930600          sts _timebuf+6,R24
 055E                   .dbline 200
 055E           ;                                                                                timebuf.year += temp%10;
 055E 1AE0              ldi R17,10
 0560 062F              mov R16,R22
 0562 0E940000          xcall mod8u
 0566 20900600          lds R2,_timebuf+6
 056A 200E              add R2,R16
 056C 20920600          sts _timebuf+6,R2
 0570                   .dbline 201
 0570           ;                                                                        break;
 0570 53C0              xjmp L118
 0572           L128:
 0572                   .dbline 202
 0572           ;                                                           case 1:  temp = timebuf.month;
 0572 60910400          lds R22,_timebuf+4
 0576                   .dbline 203
 0576           ;                                                                        temp >>= 4;
 0576 862F              mov R24,R22
 0578 8295              swap R24
 057A 8F70              andi R24,#0x0F
 057C 682F              mov R22,R24
 057E                   .dbline 204
 057E           ;                                                                                temp &= 0x0f;
 057E 6F70              andi R22,15
 0580                   .dbline 205
 0580           ;                                                                                temp *= 10;
 0580 8AE0              ldi R24,10
 0582 869F              mul R24,R22
 0584 602D              mov R22,R0
 0586                   .dbline 206
 0586           ;                                                                                temp += (timebuf.month&0x0f);
 0586 80910400          lds R24,_timebuf+4
 058A 8F70              andi R24,15
 058C 680F              add R22,R24
 058E                   .dbline 207
 058E           ;                                                                                (--temp == 0) ? (temp = 12) : 0;
 058E 862F              mov R24,R22
 0590 8150              subi R24,1
 0592 682F              mov R22,R24
 0594 8823              tst R24
 0596 11F4              brne L132
 0598 6CE0              ldi R22,12
 059A 00C0              xjmp L132
 059C           L132:
 059C                   .dbline 208
 059C           ;                                                                                timebuf.month = temp/10;
 059C 1AE0              ldi R17,10
 059E 062F              mov R16,R22
 05A0 0E940000          xcall div8u
 05A4 00930400          sts _timebuf+4,R16
 05A8                   .dbline 209
 05A8           ;                                                                                timebuf.month <<= 4;
 05A8 802F              mov R24,R16
 05AA 8F70              andi R24,#0x0F
 05AC 8295              swap R24
 05AE 80930400          sts _timebuf+4,R24
 05B2                   .dbline 210
 05B2           ;                                                                                timebuf.month += temp%10;
 05B2 1AE0              ldi R17,10
 05B4 062F              mov R16,R22
 05B6 0E940000          xcall mod8u
 05BA 20900400          lds R2,_timebuf+4
 05BE 200E              add R2,R16
 05C0 20920400          sts _timebuf+4,R2
 05C4                   .dbline 211
 05C4           ;                                                                        break;         
 05C4 29C0              xjmp L118
 05C6           L136:
 05C6                   .dbline 212
 05C6           ;                                                           case 2:  temp = timebuf.date;
 05C6 60910300          lds R22,_timebuf+3
 05CA                   .dbline 213
 05CA           ;                                                                        temp >>= 4;
 05CA 862F              mov R24,R22
 05CC 8295              swap R24
 05CE 8F70              andi R24,#0x0F
 05D0 682F              mov R22,R24
 05D2                   .dbline 214
 05D2           ;                                                                                temp &= 0x0f;
 05D2 6F70              andi R22,15
 05D4                   .dbline 215
 05D4           ;                                                                                temp *= 10;
 05D4 8AE0              ldi R24,10
 05D6 869F              mul R24,R22
 05D8 602D              mov R22,R0
 05DA                   .dbline 216
 05DA           ;                                                                                temp += (timebuf.date&0x0f);
 05DA 80910300          lds R24,_timebuf+3
 05DE 8F70              andi R24,15
 05E0 680F              add R22,R24
 05E2                   .dbline 217
 05E2           ;                                                                                (--temp == 0) ? (temp = 31) : 0;
 05E2 862F              mov R24,R22
 05E4 8150              subi R24,1
 05E6 682F              mov R22,R24
 05E8 8823              tst R24
 05EA 11F4              brne L140
 05EC 6FE1              ldi R22,31
 05EE 00C0              xjmp L140
 05F0           L140:
 05F0                   .dbline 218
 05F0           ;                                                                                timebuf.date = temp/10;
 05F0 1AE0              ldi R17,10
 05F2 062F              mov R16,R22
 05F4 0E940000          xcall div8u
 05F8 00930300          sts _timebuf+3,R16
 05FC                   .dbline 219
 05FC           ;                                                                                timebuf.date <<= 4;
 05FC 802F              mov R24,R16
 05FE 8F70              andi R24,#0x0F
 0600 8295              swap R24
 0602 80930300          sts _timebuf+3,R24
 0606                   .dbline 220
 0606           ;                                                                                timebuf.date += temp%10;
 0606 1AE0              ldi R17,10
 0608 062F              mov R16,R22
 060A 0E940000          xcall mod8u
 060E 20900300          lds R2,_timebuf+3
 0612 200E              add R2,R16
 0614 20920300          sts _timebuf+3,R2
 0618                   .dbline 221
 0618           ;                                                                        break;                          
 0618           L117:
 0618           L118:
 0618                   .dbline 223
 0618           ;                                                           }//switch
 0618           ;                                    }
 0618           L115:
 0618                   .dbline 224
 0618           ;             if(keybuf == K_RIFT) (++ii == 3) ? (ii = 0) : 0;
 0618 80910000          lds R24,_keybuf
 061C 8630              cpi R24,6
 061E 39F4              brne L144
 0620                   .dbline 224
 0620 842F              mov R24,R20
 0622 8F5F              subi R24,255    ; addi 1
 0624 482F              mov R20,R24
 0626 4330              cpi R20,3
 0628 11F4              brne L147
 062A 4427              clr R20
 062C 00C0              xjmp L147
 062E           L147:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -