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

📄 bu1923a.lis

📁 sunplus spca514 cdmp3 源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 03C0 3797              sbiw R30,7
 03C2 EE0F              lsl R30
 03C4 FF1F              rol R31
 03C6 E80F              add R30,R24
 03C8 F91F              adc R31,R25
 03CA 0590              lpm R0,Z+
 03CC 1490              lpm R1,Z
 03CE F001              movw R30,R0
 03D0 0994              ijmp
 03D2                 X7:
 03D2                   .dbline 255
                       ;         {
 03D2                 L70:
 03D2                   .dbline 257
                       ;             case FULL_SYCA_STEP:
                       ;                 if(syndrome_reg!=A_SYC_WORD)
 03D2 90910F00          lds R25,_syndrome_reg+1
 03D6 80910E00          lds R24,_syndrome_reg
 03DA 883D              cpi R24,216
 03DC E3E0              ldi R30,3
 03DE 9E07              cpc R25,R30
 03E0 31F0              breq L71
 03E2                   .dbline 258
                       ;                 {
 03E2                   .dbline 260
                       ;                     //rds_data.err_flag |= A_WORD_ERR;
                       ;                     rds_data.word_err_count++;
 03E2 80910A00          lds R24,_rds_data+9
 03E6 8F5F              subi R24,255    ; addi 1
 03E8 80930A00          sts _rds_data+9,R24
 03EC                   .dbline 261
                       ;                 }
 03EC 0DC0              xjmp L72
 03EE                 L71:
 03EE                   .dbline 263
                       ;                 else
                       ;                 {
 03EE                   .dbline 264
                       ;                     rds_data.A_word = (unsigned int)buffer_reg;
 03EE 30901100          lds R3,_buffer_reg+1
 03F2 20901000          lds R2,_buffer_reg
 03F6 30920200          sts _rds_data+1,R3
 03FA 20920100          sts _rds_data,R2
 03FE                   .dbline 265
                       ;                     rds_data.err_flag |= A_WORD_UPDATE;
 03FE 80910C00          lds R24,_rds_data+11
 0402 8061              ori R24,16
 0404 80930C00          sts _rds_data+11,R24
 0408                   .dbline 266
 0408                 L72:
 0408                   .dbline 266
                       ;                 };
 0408                   .dbline 267
                       ;                 rds_step = FULL_SYCB_STEP;  
 0408 88E0              ldi R24,8
 040A 80930500          sts _rds_step,R24
 040E                   .dbline 268
                       ;                 break;
 040E AAC0              xjmp L68
 0410                 L75:
 0410                   .dbline 270
                       ;             case FULL_SYCB_STEP:
                       ;                 if(syndrome_reg!=B_SYC_WORD)
 0410 90910F00          lds R25,_syndrome_reg+1
 0414 80910E00          lds R24,_syndrome_reg
 0418 843D              cpi R24,212
 041A E3E0              ldi R30,3
 041C 9E07              cpc R25,R30
 041E 31F0              breq L76
 0420                   .dbline 271
                       ;                 {
 0420                   .dbline 273
                       ;                     //rds_data.err_flag |= B_WORD_ERR;
                       ;                     rds_data.word_err_count++;
 0420 80910A00          lds R24,_rds_data+9
 0424 8F5F              subi R24,255    ; addi 1
 0426 80930A00          sts _rds_data+9,R24
 042A                   .dbline 274
                       ;                 }
 042A 0DC0              xjmp L77
 042C                 L76:
 042C                   .dbline 276
                       ;                 else
                       ;                 {
 042C                   .dbline 277
                       ;                     rds_data.B_word = (unsigned int)buffer_reg;
 042C 30901100          lds R3,_buffer_reg+1
 0430 20901000          lds R2,_buffer_reg
 0434 30920400          sts _rds_data+2+1,R3
 0438 20920300          sts _rds_data+2,R2
 043C                   .dbline 278
                       ;                     rds_data.err_flag |= B_WORD_UPDATE;
 043C 80910C00          lds R24,_rds_data+11
 0440 8062              ori R24,32
 0442 80930C00          sts _rds_data+11,R24
 0446                   .dbline 279
                       ;                 }
 0446                 L77:
 0446                   .dbline 280
                       ;                 rds_step = FULL_SYCC_STEP;  
 0446 89E0              ldi R24,9
 0448 80930500          sts _rds_step,R24
 044C                   .dbline 281
                       ;                 break;
 044C 8BC0              xjmp L68
 044E                 L81:
 044E                   .dbline 283
                       ;             case FULL_SYCC_STEP:
                       ;                 if((syndrome_reg!=C_SYC_WORD)&&(syndrome_reg!=C1_SYC_WORD))
 044E 90910F00          lds R25,_syndrome_reg+1
 0452 80910E00          lds R24,_syndrome_reg
 0456 8C35              cpi R24,92
 0458 E2E0              ldi R30,2
 045A 9E07              cpc R25,R30
 045C 51F0              breq L82
 045E 8C3C              cpi R24,204
 0460 E3E0              ldi R30,3
 0462 9E07              cpc R25,R30
 0464 31F0              breq L82
 0466                   .dbline 284
                       ;                 {
 0466                   .dbline 286
                       ;                     //rds_data.err_flag |=  C_WORD_ERR;
                       ;                     rds_data.word_err_count++;
 0466 80910A00          lds R24,_rds_data+9
 046A 8F5F              subi R24,255    ; addi 1
 046C 80930A00          sts _rds_data+9,R24
 0470                   .dbline 287
                       ;                 }
 0470 0DC0              xjmp L83
 0472                 L82:
 0472                   .dbline 289
                       ;                 else
                       ;                 {
 0472                   .dbline 290
                       ;                     rds_data.C_word = (unsigned int)buffer_reg;
 0472 30901100          lds R3,_buffer_reg+1
 0476 20901000          lds R2,_buffer_reg
 047A 30920600          sts _rds_data+4+1,R3
 047E 20920500          sts _rds_data+4,R2
 0482                   .dbline 291
                       ;                     rds_data.err_flag |= C_WORD_UPDATE;
 0482 80910C00          lds R24,_rds_data+11
 0486 8064              ori R24,64
 0488 80930C00          sts _rds_data+11,R24
 048C                   .dbline 292
                       ;                 }
 048C                 L83:
 048C                   .dbline 293
                       ;                 rds_step = FULL_SYCD_STEP;  
 048C 8AE0              ldi R24,10
 048E 80930500          sts _rds_step,R24
 0492                   .dbline 294
                       ;                 break;
 0492 68C0              xjmp L68
 0494                 L87:
 0494                   .dbline 296
                       ;             case FULL_SYCD_STEP:
                       ;                 if(syndrome_reg!=D_SYC_WORD)
 0494 90910F00          lds R25,_syndrome_reg+1
 0498 80910E00          lds R24,_syndrome_reg
 049C 8835              cpi R24,88
 049E E2E0              ldi R30,2
 04A0 9E07              cpc R25,R30
 04A2 49F0              breq L88
 04A4                   .dbline 297
                       ;                 {
 04A4                   .dbline 299
                       ;                     //rds_data.err_flag |= D_WORD_ERR;
                       ;                     rds_data.word_err_count++;
 04A4 80910A00          lds R24,_rds_data+9
 04A8 8F5F              subi R24,255    ; addi 1
 04AA 80930A00          sts _rds_data+9,R24
 04AE                   .dbline 300
                       ;                     rds_data.err_flag = 0;
 04AE 2224              clr R2
 04B0 20920C00          sts _rds_data+11,R2
 04B4                   .dbline 301
                       ;                 }
 04B4 0DC0              xjmp L89
 04B6                 L88:
 04B6                   .dbline 303
                       ;                 else
                       ;                 {
 04B6                   .dbline 304
                       ;                     rds_data.D_word = (unsigned int)buffer_reg;
 04B6 30901100          lds R3,_buffer_reg+1
 04BA 20901000          lds R2,_buffer_reg
 04BE 30920800          sts _rds_data+6+1,R3
 04C2 20920700          sts _rds_data+6,R2
 04C6                   .dbline 305
                       ;                     rds_data.err_flag |= D_WORD_UPDATE;
 04C6 80910C00          lds R24,_rds_data+11
 04CA 8068              ori R24,128
 04CC 80930C00          sts _rds_data+11,R24
 04D0                   .dbline 306
 04D0                 L89:
 04D0                   .dbline 306
                       ;                 };
 04D0                   .dbline 307
                       ;                 rds_step = FULL_SYCA_STEP;  
 04D0 87E0              ldi R24,7
 04D2 80930500          sts _rds_step,R24
 04D6                   .dbline 309
                       ;                 
                       ;                 rds_data.block_count++;
 04D6 80910900          lds R24,_rds_data+8
 04DA 8F5F              subi R24,255    ; addi 1
 04DC 80930900          sts _rds_data+8,R24
 04E0                   .dbline 313
                       ;                 //if(rds_data.err_flag&0x0f)
                       ;                     //rds_data.word_err_count++;
                       ;                 //STORE RDS_BLOCK TO RDS BLOCK BUFFER
                       ;                 rds_buffer0_flag = rds_data.err_flag;
 04E0 20900C00          lds R2,_rds_data+11
 04E4 20921C00          sts _rds_buffer0_flag,R2
 04E8                   .dbline 314
                       ;                 rds_buffer[0] = rds_data.A_word;
 04E8 30900200          lds R3,_rds_data+1
 04EC 20900100          lds R2,_rds_data
 04F0 30921500          sts _rds_buffer+1,R3
 04F4 20921400          sts _rds_buffer,R2
 04F8                   .dbline 315
                       ;                 rds_buffer[1] = rds_data.B_word;
 04F8 30900400          lds R3,_rds_data+2+1
 04FC 20900300          lds R2,_rds_data+2
 0500 30921700          sts _rds_buffer+2+1,R3
 0504 20921600          sts _rds_buffer+2,R2
 0508                   .dbline 316
                       ;                 rds_buffer[2] = rds_data.C_word;
 0508 30900600          lds R3,_rds_data+4+1
 050C 20900500          lds R2,_rds_data+4
 0510 30921900          sts _rds_buffer+4+1,R3
 0514 20921800          sts _rds_buffer+4,R2
 0518                   .dbline 317
                       ;                 rds_buffer[3] = rds_data.D_word;
 0518 30900800          lds R3,_rds_data+6+1
 051C 20900700          lds R2,_rds_data+6
 0520 30921B00          sts _rds_buffer+6+1,R3
 0524 20921A00          sts _rds_buffer+6,R2
 0528                   .dbline 319
                       ;                 //CLEAR ERR_FLAG 
                       ;                 rds_data.err_flag = 0;
 0528 2224              clr R2
 052A 20920C00          sts _rds_data+11,R2
 052E                   .dbline 322
                       ;             
                       ;                 //Judge if losing syndrome; if yes,restart syndrome detecting
                       ;                 if(rds_data.block_count>=30)
 052E 8E31              cpi R24,30
 0530 C8F0              brlo L68
 0532                   .dbline 323
                       ;                 {
 0532                   .dbline 324
                       ;                     if(rds_data.word_err_count>20)
 0532 84E1              ldi R24,20
 0534 20900A00          lds R2,_rds_data+9
 0538 8215              cp R24,R2
 053A 78F4              brsh L106
 053C                   .dbline 325
                       ;                     {
 053C                   .dbline 326
                       ;                         rds_step = SEARCH_SYC_STEP;  //restart search syc word
 053C 81E0              ldi R24,1
 053E 80930500          sts _rds_step,R24
 0542                   .dbline 327
                       ;                         rds_data.syc_flag = 0;
 0542 2224              clr R2
 0544 20920B00          sts _rds_data+10,R2
 0548                   .dbline 328
                       ;                         rds_status = 0;
 0548 20920300          sts _rds_status,R2
 054C                   .dbline 329
                       ;                         bit_count = 0;
 054C 20920D00          sts _bit_count,R2
 0550                   .dbline 330
                       ;                         syndrome_reg = 0;
 0550 3324              clr R3
 0552 30920F00          sts _syndrome_reg+1,R3
 0556 20920E00          sts _syndrome_reg,R2
 055A                   .dbline 331
 055A                 L106:
 055A                   .dbline 331
                       ;                     };
 055A                   .dbline 332
                       ;                     rds_data.word_err_count = 0;
 055A 2224              clr R2
 055C 20920A00          sts _rds_data+9,R2
 0560                   .dbline 333
                       ;                     rds_data.block_count = 0;
 0560 20920900          sts _rds_data+8,R2
 0564                   .dbline 334
                       ;                 };
 0564                   .dbline 334
 0564                   .dbline 336
                       ;     
                       ;                 break;
 0564                 L67:
 0564                 L68:
 0564                   .dbline 338
 0564                   .dbline 339
 0564                 L65:
 0564                   .dbline -2
 0564                   .dbline 341
                       ; 
                       ;         };

⌨️ 快捷键说明

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