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

📄 12232.lis

📁 AVR单片机做的MP3
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 01C2 2080              ldd R2,z+0
 01C4 3180              ldd R3,z+1
 01C6 4280              ldd R4,z+2
 01C8 5380              ldd R5,z+3
 01CA 8A93              st -y,R24
 01CC 8101              movw R16,R2
 01CE 9201              movw R18,R4
 01D0 00D0              rcall lsr32
 01D2 6801              movw R12,R16
 01D4                   .dbline 159
 01D4           ;  temp2=location%512;
 01D4 4FEF              ldi R20,255
 01D6 51E0              ldi R21,1
 01D8 60E0              ldi R22,0
 01DA 70E0              ldi R23,0
 01DC FE01              movw R30,R28
 01DE 2080              ldd R2,z+0
 01E0 3180              ldd R3,z+1
 01E2 4280              ldd R4,z+2
 01E4 5380              ldd R5,z+3
 01E6 2422              and R2,R20
 01E8 3522              and R3,R21
 01EA 4622              and R4,R22
 01EC 5722              and R5,R23
 01EE 5101              movw R10,R2
 01F0                   .dbline 160
 01F0           ;  start=ClusConvLBA(zikustart);
 01F0 00910000          lds R16,_zikustart
 01F4 10910100          lds R17,_zikustart+1
 01F8 00D0              rcall _ClusConvLBA
 01FA FE01              movw R30,R28
 01FC 0483              std z+4,R16
 01FE 1583              std z+5,R17
 0200 2683              std z+6,R18
 0202 3783              std z+7,R19
 0204                   .dbline 161
 0204           ;  start=start+temp1;
 0204 1601              movw R2,R12
 0206 4424              clr R4
 0208 5524              clr R5
 020A FE01              movw R30,R28
 020C 6480              ldd R6,z+4
 020E 7580              ldd R7,z+5
 0210 8680              ldd R8,z+6
 0212 9780              ldd R9,z+7
 0214 620C              add R6,R2
 0216 731C              adc R7,R3
 0218 841C              adc R8,R4
 021A 951C              adc R9,R5
 021C FE01              movw R30,R28
 021E 6482              std z+4,R6
 0220 7582              std z+5,R7
 0222 8682              std z+6,R8
 0224 9782              std z+7,R9
 0226                   .dbline 162
 0226           ;  ReadBlock(start);
 0226 FE01              movw R30,R28
 0228 0481              ldd R16,z+4
 022A 1581              ldd R17,z+5
 022C 2681              ldd R18,z+6
 022E 3781              ldd R19,z+7
 0230 00D0              rcall _ReadBlock
 0232                   .dbline 163
 0232           ;  return temp2;
 0232 8501              movw R16,R10
 0234                   .dbline -2
 0234           L38:
 0234 2896              adiw R28,8
 0236 00D0              rcall pop_gset4
 0238                   .dbline 0 ; func end
 0238 0895              ret
 023A                   .dbsym l i 1 c
 023A                   .dbsym r temp2 10 i
 023A                   .dbsym l start 4 l
 023A                   .dbsym r temp1 12 i
 023A                   .dbsym l location 0 l
 023A                   .dbsym r data2 10 c
 023A                   .dbsym r data1 12 c
 023A                   .dbend
 023A                   .dbfunc e show_chin _show_chin fV
 023A           ;         window -> R20
 023A           ;              j -> R22
 023A           ;           loca -> R10
 023A           ;              i -> R14
 023A           ;              p -> R12
 023A           ;            loc -> y+16
 023A           ;          lenth -> y+14
 023A           ;        adress1 -> R14
 023A           ;           chin -> y+10
                        .even
 023A           _show_chin::
 023A 00D0              rcall push_arg4
 023C 00D0              rcall push_gset5
 023E E22E              mov R14,R18
 0240                   .dbline -1
 0240                   .dbline 166
 0240           ; }
 0240           ; void show_chin(uint8 *chin,uint8  adress1,uint8 lenth,uint8 loc)
 0240           ; {
 0240                   .dbline 167
 0240           ;  uint8 i,j=0,p,window=0,loca;  
 0240 6627              clr R22
 0242                   .dbline 167
 0242 4427              clr R20
 0244                   .dbline 168
 0244           ;  loca=0;
 0244 AA24              clr R10
 0246                   .dbline 169
 0246           ;  p=adress1;
 0246 CE2C              mov R12,R14
 0248                   .dbline 170
 0248           ;  if(loc) loca=2;
 0248 0888              ldd R0,y+16
 024A 0020              tst R0
 024C 09F4              brne X0
 024E 54C0              rjmp L43
 0250           X0:
 0250                   .dbline 170
 0250 82E0              ldi R24,2
 0252 A82E              mov R10,R24
 0254 51C0              rjmp L43
 0256           L42:
 0256                   .dbline 172
 0256           ;  while(lenth)
 0256           ;  {
 0256                   .dbline 173
 0256           ;  for(i=0;i<32;i++)
 0256 EE24              clr R14
 0258 45C0              rjmp L48
 025A           L45:
 025A                   .dbline 174
 025A           ;   {
 025A                   .dbline 175
 025A           ;   if(p>76) window=1,p=p%61;
 025A 8CE4              ldi R24,76
 025C 8C15              cp R24,R12
 025E 28F4              brsh L49
 0260                   .dbline 175
 0260 41E0              ldi R20,1
 0262 1DE3              ldi R17,61
 0264 0C2D              mov R16,R12
 0266 00D0              rcall mod8u
 0268 C02E              mov R12,R16
 026A           L49:
 026A                   .dbline 176
 026A           ;   if(i<16)
 026A 8E2D              mov R24,R14
 026C 8031              cpi R24,16
 026E D0F4              brsh L51
 0270                   .dbline 177
 0270           ;    {
 0270                   .dbline 178
 0270           ;     SetPage(loca,loca);   
 0270 2A2D              mov R18,R10
 0272 0A2D              mov R16,R10
 0274 3EDF              rcall _SetPage
 0276                   .dbline 179
 0276           ;     SetAddress(p,p);
 0276 2C2D              mov R18,R12
 0278 0C2D              mov R16,R12
 027A 46DF              rcall _SetAddress
 027C                   .dbline 180
 027C           ;     if(window) PutCharR(chin[j]); 
 027C 4423              tst R20
 027E 49F0              breq L53
 0280                   .dbline 180
 0280 E62F              mov R30,R22
 0282 FF27              clr R31
 0284 0A84              ldd R0,y+10
 0286 1B84              ldd R1,y+11
 0288 E00D              add R30,R0
 028A F11D              adc R31,R1
 028C 0081              ldd R16,z+0
 028E 45DF              rcall _PutCharR
 0290 26C0              rjmp L52
 0292           L53:
 0292                   .dbline 181
 0292           ;     else       PutCharL(chin[j]);
 0292 E62F              mov R30,R22
 0294 FF27              clr R31
 0296 0A84              ldd R0,y+10
 0298 1B84              ldd R1,y+11
 029A E00D              add R30,R0
 029C F11D              adc R31,R1
 029E 0081              ldd R16,z+0
 02A0 42DF              rcall _PutCharL
 02A2                   .dbline 182
 02A2           ;    }
 02A2 1DC0              rjmp L52
 02A4           L51:
 02A4                   .dbline 184
 02A4           ;   else
 02A4           ;    {
 02A4                   .dbline 185
 02A4           ;    SetPage(loca+1,loca+1);
 02A4 8A2D              mov R24,R10
 02A6 8F5F              subi R24,255    ; addi 1
 02A8 282F              mov R18,R24
 02AA 082F              mov R16,R24
 02AC 22DF              rcall _SetPage
 02AE                   .dbline 186
 02AE           ;    SetAddress(p-16,p-16);
 02AE 8C2D              mov R24,R12
 02B0 8051              subi R24,16
 02B2 282F              mov R18,R24
 02B4 082F              mov R16,R24
 02B6 28DF              rcall _SetAddress
 02B8                   .dbline 187
 02B8           ;    if(window) PutCharR(chin[j]); 
 02B8 4423              tst R20
 02BA 49F0              breq L55
 02BC                   .dbline 187
 02BC E62F              mov R30,R22
 02BE FF27              clr R31
 02C0 0A84              ldd R0,y+10
 02C2 1B84              ldd R1,y+11
 02C4 E00D              add R30,R0
 02C6 F11D              adc R31,R1
 02C8 0081              ldd R16,z+0
 02CA 27DF              rcall _PutCharR
 02CC 08C0              rjmp L56
 02CE           L55:
 02CE                   .dbline 188
 02CE           ;    else       PutCharL(chin[j]);
 02CE E62F              mov R30,R22
 02D0 FF27              clr R31
 02D2 0A84              ldd R0,y+10
 02D4 1B84              ldd R1,y+11
 02D6 E00D              add R30,R0
 02D8 F11D              adc R31,R1
 02DA 0081              ldd R16,z+0
 02DC 24DF              rcall _PutCharL
 02DE           L56:
 02DE                   .dbline 189
 02DE           ;    }
 02DE           L52:
 02DE                   .dbline 190
 02DE C394              inc R12
 02E0                   .dbline 191
 02E0 6395              inc R22
 02E2                   .dbline 192
 02E2           L46:
 02E2                   .dbline 173
 02E2 E394              inc R14
 02E4           L48:
 02E4                   .dbline 173
 02E4 8E2D              mov R24,R14
 02E6 8032              cpi R24,32
 02E8 08F4              brsh X1
 02EA B7CF              rjmp L45
 02EC           X1:
 02EC                   .dbline 193
 02EC 8C2D              mov R24,R12
 02EE 8051              subi R24,16
 02F0 C82E              mov R12,R24
 02F2                   .dbline 194
 02F2 0E84              ldd R0,y+14
 02F4 0A94              dec R0
 02F6 0E86              std y+14,R0
 02F8                   .dbline 195
 02F8           L43:
 02F8                   .dbline 171
 02F8 0E84              ldd R0,y+14
 02FA 0020              tst R0
 02FC 09F0              breq X2
 02FE ABCF              rjmp L42
 0300           X2:
 0300                   .dbline -2
 0300           L39:
 0300 00D0              rcall pop_gset5
 0302 2496              adiw R28,4
 0304                   .dbline 0 ; func end
 0304 0895              ret
 0306                   .dbsym r window 20 c
 0306                   .dbsym r j 22 c
 0306                   .dbsym r loca 10 c
 0306                   .dbsym r i 14 c
 0306                   .dbsym r p 12 c
 0306                   .dbsym l loc 16 c
 0306                   .dbsym l lenth 14 c
 0306                   .dbsym r adress1 14 c
 0306                   .dbsym l chin 10 pc
 0306                   .dbend
 0306                   .dbfunc e show_filename _show_filename fi
 0306           ;          start -> R20,R21
 0306           ;        adress1 -> R22
 0306           ;       chinese1 -> R20,R21
                        .even
 0306           _show_filename::
 0306 00D0              rcall push_gset2
 0308 622F              mov R22,R18
 030A A801              movw R20,R16
 030C                   .dbline -1
 030C                   .dbline 199
 030C           ;    p++;
 030C           ;    j++;
 030C           ;   }     
 030C           ;   p-=16;
 030C           ;   lenth--;
 030C           ;  }
 030C           ;  
 030C           ; }
 030C           ; uint16 show_filename(uint8  *chinese1,uint8 adress1)                                            
 030C           ; {            
 030C                   .dbline 201
 030C           ;  uint16 start;
 030C           ;  start=get_location(chinese1[0],chinese1[1]);
 030C FA01              movw R30,R20
 030E 2181              ldd R18,z+1
 0310 FA01              movw R30,R20
 0312 0081              ldd R16,z+0
 0314 29DF              rcall _get_location
 0316 A801              movw R20,R16
 0318                   .dbline 202
 0318           ;  return start;
 0318                   .dbline -2
 0318           L57:
 0318 00D0              rcall pop_gset2
 031A                   .dbline 0 ; func end
 031A 0895              ret
 031C                   .dbsym r start 20 i
 031C                   .dbsym r adress1 22 c
 031C                   .dbsym r chinese1 20 pc
 031C                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\ICCFIL~1\五键MP3ICC\12232.c
 0000           _zikustart::
 0000                   .blkb 2
 0002                   .dbsym e zikustart _zikustart i

⌨️ 快捷键说明

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