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

📄 bu1923a.lis

📁 sunplus spca514 cdmp3 源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0230                 L44:
 0230                   .dbline 180
                       ;             else
                       ;             {
 0230                   .dbline 181
                       ;                 bit_count = 0;
 0230 2224              clr R2
 0232 20920D00          sts _bit_count,R2
 0236                   .dbline 182
                       ;                 rds_step = SYC_B_STEP;
 0236 83E0              ldi R24,3
 0238 80930500          sts _rds_step,R24
 023C                   .dbline 184
                       ;                 //rds_data.syc_flag = 1;
                       ;             };
 023C                   .dbline 184
 023C                   .dbline 185
                       ;             break;
 023C 44C0              xjmp L28
 023E                 L46:
 023E                   .dbline 187
                       ;         case SYC_B_STEP:
                       ;             if(temp_syc_word == B_SYC_WORD)
 023E 043D              cpi R16,212
 0240 E3E0              ldi R30,3
 0242 1E07              cpc R17,R30
 0244 39F4              brne L47
 0246                   .dbline 188
                       ;             {
 0246                   .dbline 189
                       ;                 bit_count = 0;
 0246 2224              clr R2
 0248 20920D00          sts _bit_count,R2
 024C                   .dbline 190
                       ;                 rds_step = SYC_C_STEP;
 024C 84E0              ldi R24,4
 024E 80930500          sts _rds_step,R24
 0252                   .dbline 192
                       ;                 //rds_data.syc_flag = 1;
                       ;             }
 0252 39C0              xjmp L28
 0254                 L47:
 0254                   .dbline 194
                       ;             else
                       ;                 rds_step = SEARCH_SYC_STEP;
 0254 81E0              ldi R24,1
 0256 80930500          sts _rds_step,R24
 025A                   .dbline 195
                       ;             break;
 025A 35C0              xjmp L28
 025C                 L49:
 025C                   .dbline 198
                       ;         case SYC_C_STEP:
                       ;         case SYC_C1_STEP:
                       ;             if((temp_syc_word == C_SYC_WORD)||(temp_syc_word == C1_SYC_WORD))
 025C 0C35              cpi R16,92
 025E E2E0              ldi R30,2
 0260 1E07              cpc R17,R30
 0262 21F0              breq L52
 0264 0C3C              cpi R16,204
 0266 E3E0              ldi R30,3
 0268 1E07              cpc R17,R30
 026A C1F4              brne L50
 026C                 L52:
 026C                   .dbline 199
                       ;             {
 026C                   .dbline 200
                       ;                 bit_count = 0;
 026C 2224              clr R2
 026E 20920D00          sts _bit_count,R2
 0272                   .dbline 201
                       ;                 rds_step = SYC_D_STEP;
 0272 86E0              ldi R24,6
 0274 80930500          sts _rds_step,R24
 0278                   .dbline 202
                       ;                 if(temp_syc_word == C_SYC_WORD)
 0278 0C35              cpi R16,92
 027A E2E0              ldi R30,2
 027C 1E07              cpc R17,R30
 027E 39F4              brne L53
 0280                   .dbline 203
                       ;                     c_word_val = C_OFF_WORD;
 0280 88E6              ldi R24,616
 0282 92E0              ldi R25,2
 0284 90930200          sts _c_word_val+1,R25
 0288 80930100          sts _c_word_val,R24
 028C 1CC0              xjmp L28
 028E                 L53:
 028E                   .dbline 205
                       ;                 else
                       ;                     c_word_val = C1_OFF_WORD;
 028E 80E5              ldi R24,848
 0290 93E0              ldi R25,3
 0292 90930200          sts _c_word_val+1,R25
 0296 80930100          sts _c_word_val,R24
 029A                   .dbline 207
                       ;                 //rds_data.syc_flag = 1;
                       ;             }
 029A 15C0              xjmp L28
 029C                 L50:
 029C                   .dbline 209
                       ;             else
                       ;                 rds_step = SEARCH_SYC_STEP;
 029C 81E0              ldi R24,1
 029E 80930500          sts _rds_step,R24
 02A2                   .dbline 210
                       ;             break;
 02A2 11C0              xjmp L28
 02A4                 L55:
 02A4                   .dbline 212
                       ;         case SYC_D_STEP:
                       ;             if(temp_syc_word == D_SYC_WORD)
 02A4 0835              cpi R16,88
 02A6 E2E0              ldi R30,2
 02A8 1E07              cpc R17,R30
 02AA 51F4              brne L56
 02AC                   .dbline 213
                       ;             {
 02AC                   .dbline 214
                       ;                 bit_count = 0;
 02AC 2224              clr R2
 02AE 20920D00          sts _bit_count,R2
 02B2                   .dbline 215
                       ;                 rds_step = FULL_SYCA_STEP;
 02B2 87E0              ldi R24,7
 02B4 80930500          sts _rds_step,R24
 02B8                   .dbline 216
                       ;                 rds_data.syc_flag = 1;
 02B8 81E0              ldi R24,1
 02BA 80930B00          sts _rds_data+10,R24
 02BE                   .dbline 218
                       ;                 //rds_data.err_flag = 0;
                       ;             }
 02BE 03C0              xjmp L28
 02C0                 L56:
 02C0                   .dbline 220
                       ;             else
                       ;                 rds_step = SEARCH_SYC_STEP;
 02C0 81E0              ldi R24,1
 02C2 80930500          sts _rds_step,R24
 02C6                   .dbline 221
                       ;             break;
 02C6                 L27:
 02C6                 L28:
 02C6                   .dbline -2
 02C6                   .dbline 223
                       ;     }
                       ; }
 02C6                 L22:
 02C6 0E940000          xcall pop_gset2
 02CA                   .dbline 0 ; func end
 02CA 0895              ret
 02CC                   .dbsym r p 20 pi
 02CC                   .dbsym r temp_syc_word 16 i
 02CC                   .dbsym r i 22 c
 02CC                   .dbfunc s get_rds_block _get_rds_block fI
                         .area func_lit(rom, con, rel)
 000C                 L112:
 000C E901              .word `L70
 000E 0802              .word `L75
 0010 2702              .word `L81
 0012 4A02              .word `L87
                         .area text(rom, con, rel)
 02CC                   .dbfile D:\avrmcu\AT980\bu1923\bu1923a.c
                         .even
 02CC                 _get_rds_block::
 02CC 0E940000          xcall push_gset3
 02D0                   .dbline -1
 02D0                   .dbline 226
                       ; 
                       ; void get_rds_block(void)
                       ; {   
 02D0                   .dbline 228
                       ;     
                       ;     if(bit_count==0)
 02D0 20900D00          lds R2,_bit_count
 02D4 2220              tst R2
 02D6 31F4              brne L61
 02D8                   .dbline 229
                       ;     {
 02D8                   .dbline 230
                       ;         syndrome_reg = 0;
 02D8 2224              clr R2
 02DA 3324              clr R3
 02DC 30920F00          sts _syndrome_reg+1,R3
 02E0 20920E00          sts _syndrome_reg,R2
 02E4                   .dbline 231
                       ;     }
 02E4                 L61:
 02E4                   .dbline 233
                       ;     
                       ;     if(rds_bit_buffer&0x1)
 02E4 00E0              ldi R16,<L16
 02E6 10E0              ldi R17,>L16
 02E8 0E940000          xcall lpm32
 02EC 50906C00          lds R5,_rds_bit_buffer+2+1
 02F0 40906B00          lds R4,_rds_bit_buffer+2
 02F4 30906A00          lds R3,_rds_bit_buffer+1
 02F8 20906900          lds R2,_rds_bit_buffer
 02FC 2022              and R2,R16
 02FE 3122              and R3,R17
 0300 4222              and R4,R18
 0302 5322              and R5,R19
 0304 00E0              ldi R16,<L11
 0306 10E0              ldi R17,>L11
 0308 0E940000          xcall lpm32
 030C 2016              cp R2,R16
 030E 3106              cpc R3,R17
 0310 4206              cpc R4,R18
 0312 5306              cpc R5,R19
 0314 B1F0              breq L63
 0316                   .dbline 234
                       ;         syndrome_reg ^= matrix_H[bit_count];
 0316 80E0              ldi R24,<_matrix_H
 0318 90E0              ldi R25,>_matrix_H
 031A E0910D00          lds R30,_bit_count
 031E FF27              clr R31
 0320 EE0F              lsl R30
 0322 FF1F              rol R31
 0324 E80F              add R30,R24
 0326 F91F              adc R31,R25
 0328 0590              lpm R0,Z+
 032A 1490              lpm R1,Z
 032C F001              movw R30,R0
 032E 30900F00          lds R3,_syndrome_reg+1
 0332 20900E00          lds R2,_syndrome_reg
 0336 2E26              eor R2,R30
 0338 3F26              eor R3,R31
 033A 30920F00          sts _syndrome_reg+1,R3
 033E 20920E00          sts _syndrome_reg,R2
 0342                 L63:
 0342                   .dbline 236
                       ;     
                       ;     bit_count++;
 0342 80910D00          lds R24,_bit_count
 0346 8F5F              subi R24,255    ; addi 1
 0348 80930D00          sts _bit_count,R24
 034C                   .dbline 248
                       ;     /*if(bit_count>16)
                       ;     {
                       ;     }
                       ;     if(bit_count<=16)
                       ;     {
                       ;     };
                       ;     if(bit_count=16)
                       ;     {
                       ;         off_word_bit = 0x200;
                       ;     };*/
                       ;     
                       ;     if(bit_count==26)
 034C 8A31              cpi R24,26
 034E 09F0              breq X8
 0350 09C1              xjmp L65
 0352                 X8:
 0352                   .dbline 249
                       ;     {
 0352                   .dbline 250
                       ;         bit_count = 0;
 0352 2224              clr R2
 0354 20920D00          sts _bit_count,R2
 0358                   .dbline 251
                       ;         buffer_reg = (rds_bit_buffer>>10);
 0358 8AE0              ldi R24,10
 035A 90E0              ldi R25,0
 035C 50906C00          lds R5,_rds_bit_buffer+2+1
 0360 40906B00          lds R4,_rds_bit_buffer+2
 0364 30906A00          lds R3,_rds_bit_buffer+1
 0368 20906900          lds R2,_rds_bit_buffer
 036C 8A93              st -y,R24
 036E 8101              movw R16,R2
 0370 9201              movw R18,R4
 0372 0E940000          xcall lsr32
 0376 10931100          sts _buffer_reg+1,R17
 037A 00931000          sts _buffer_reg,R16
 037E 30931300          sts _buffer_reg+2+1,R19
 0382 20931200          sts _buffer_reg+2,R18
 0386                   .dbline 252
                       ;         rds_bit_buffer = 0;
 0386 00E0              ldi R16,<L11
 0388 10E0              ldi R17,>L11
 038A 0E940000          xcall lpm32
 038E 10936A00          sts _rds_bit_buffer+1,R17
 0392 00936900          sts _rds_bit_buffer,R16
 0396 30936C00          sts _rds_bit_buffer+2+1,R19
 039A 20936B00          sts _rds_bit_buffer+2,R18
 039E                   .dbline 254
                       ;         //error check;
                       ;         switch(rds_step)
 039E A0900500          lds R10,_rds_step
 03A2 BB24              clr R11
 03A4 87E0              ldi R24,7
 03A6 90E0              ldi R25,0
 03A8 A816              cp R10,R24
 03AA B906              cpc R11,R25
 03AC 0CF4              brge X9
 03AE DAC0              xjmp L67
 03B0                 X9:
 03B0 8AE0              ldi R24,10
 03B2 8A15              cp R24,R10
 03B4 9B05              cpc R25,R11
 03B6 0CF4              brge X10
 03B8 D5C0              xjmp L67
 03BA                 X10:
 03BA 80E0              ldi R24,<L112
 03BC 90E0              ldi R25,>L112
 03BE F501              movw R30,R10

⌨️ 快捷键说明

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