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

📄 bu1923a.lis

📁 sunplus spca514 cdmp3 源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                       ;     }
 00FC 01C0              xjmp L18
 00FE                 L17:
 00FE                   .dbline 94
 00FE                   .dbline 96
 00FE E6D0              xcall _get_rds_block
 0100                   .dbline 97
 0100                 L18:
 0100                   .dbline -2
 0100                   .dbline 99
                       ;     else
                       ;     {
                       ;     //  printf("get_rds_block\n");
                       ;         get_rds_block();
                       ;     }
                       ;     //EIRR_ER3 = 0;
                       ; }
 0100                 L13:
 0100 0E940000          xcall pop_lset
 0104                   .dbline 0 ; func end
 0104 1895              reti
 0106                   .dbfunc s rds_syc_detect _rds_syc_detect fI
                         .area func_lit(rom, con, rel)
 0000                 L59:
 0000 BD00              .word `L30
 0002 1001              .word `L43
 0004 1F01              .word `L46
 0006 2E01              .word `L49
 0008 2E01              .word `L49
 000A 5201              .word `L55
                         .area text(rom, con, rel)
 0106                   .dbfile D:\avrmcu\AT980\bu1923\bu1923a.c
                       ;              p -> R20,R21
                       ;  temp_syc_word -> R16,R17
                       ;              i -> R22
                         .even
 0106                 _rds_syc_detect::
 0106 0E940000          xcall push_gset2
 010A                   .dbline -1
 010A                   .dbline 117
                       ; /*
                       ; unsigned int compute_syc(void)
                       ; {
                       ;     unsigned int i,syc_value;
                       ;     unsigned long k;
                       ;     syc_value = 0;
                       ;     k= 0x02000000;
                       ;     for(i=0;i<26;i++)
                       ;     {
                       ;         if(rds_buffer&k)
                       ;             syc_value ^= matrix_H[i];
                       ;         k>>1;
                       ;     }
                       ;     return syc_value;
                       ; }*/
                       ; 
                       ; void rds_syc_detect(void)
                       ; {
 010A                   .dbline 121
                       ;     register unsigned char i;
                       ;     register unsigned int temp_syc_word;
                       ;     register const unsigned int *p;
                       ;     p = &matrix_H[25];
 010A 40E0              ldi R20,<_matrix_H+50
 010C 50E0              ldi R21,>_matrix_H+50
 010E                   .dbline 122
                       ;     temp_syc_word = 0;
 010E 0027              clr R16
 0110 1127              clr R17
 0112                   .dbline 123
                       ;     asm("lds R2, _rds_bit_buffer\n"
 0112 20906900          lds R2, _rds_bit_buffer
 0116 30906A00          lds R3, _rds_bit_buffer+1
 011A 40906B00          lds R4, _rds_bit_buffer+2
 011E 50906C00          lds R5, _rds_bit_buffer+3
 0122                   .dbline 127
                       ;         "lds R3, _rds_bit_buffer+1\n"
                       ;         "lds R4, _rds_bit_buffer+2\n"
                       ;         "lds R5, _rds_bit_buffer+3");
                       ;     i = 0;
 0122 6627              clr R22
 0124                 L24:
 0124                   .dbline 129
                       ;     do
                       ;     {
 0124                   .dbline 130
                       ;       asm("sbrs R2,0\n"
 0124 20FE              sbrs R2,0
 0126 06C0              rjmp _bit_is_zero
 0128                   .dbline 132
                       ;           "rjmp _bit_is_zero");
                       ;         temp_syc_word ^= *p; //matrix_H[i];
 0128 FA01              movw R30,R20
 012A 0590              lpm R0,Z+
 012C 1490              lpm R1,Z
 012E F001              movw R30,R0
 0130 0E27              eor R16,R30
 0132 1F27              eor R17,R31
 0134                   .dbline 133
                       ;      asm("_bit_is_zero:");
 0134                 	_bit_is_zero:
 0134                   .dbline 134
                       ;       asm("lsr R5\n"
 0134 5694              lsr R5
 0136 4794              ror R4
 0138 3794              ror R3
 013A 2794              ror R2
 013C                   .dbline 138
                       ;           "ror R4\n"
                       ;           "ror R3\n"
                       ;           "ror R2");
                       ;       p--;
 013C 4250              subi R20,2
 013E 5040              sbci R21,0
 0140                   .dbline 139
                       ;       i++;
 0140 6395              inc R22
 0142                   .dbline 140
 0142                 L25:
 0142                   .dbline 140
                       ;     } while(i<26);
 0142 6A31              cpi R22,26
 0144 78F3              brlo L24
 0146                   .dbline 141
                       ;     switch(rds_step)
 0146 20910500          lds R18,_rds_step
 014A 3327              clr R19
 014C 2130              cpi R18,1
 014E E0E0              ldi R30,0
 0150 3E07              cpc R19,R30
 0152 0CF4              brge X2
 0154 B8C0              xjmp L27
 0156                 X2:
 0156 86E0              ldi R24,6
 0158 90E0              ldi R25,0
 015A 8217              cp R24,R18
 015C 9307              cpc R25,R19
 015E 0CF4              brge X3
 0160 B2C0              xjmp L27
 0162                 X3:
 0162 80E0              ldi R24,<L59
 0164 90E0              ldi R25,>L59
 0166 F901              movw R30,R18
 0168 3197              sbiw R30,1
 016A EE0F              lsl R30
 016C FF1F              rol R31
 016E E80F              add R30,R24
 0170 F91F              adc R31,R25
 0172 0590              lpm R0,Z+
 0174 1490              lpm R1,Z
 0176 F001              movw R30,R0
 0178 0994              ijmp
 017A                 X0:
 017A                   .dbline 142
                       ;     {
 017A                 L30:
 017A                   .dbline 145
                       ;     
                       ;         case SEARCH_SYC_STEP:
                       ;             switch(temp_syc_word)
 017A 0C3C              cpi R16,204
 017C E3E0              ldi R30,3
 017E 1E07              cpc R17,R30
 0180 81F1              breq L35
 0182 8CEC              ldi R24,972
 0184 93E0              ldi R25,3
 0186 8017              cp R24,R16
 0188 9107              cpc R25,R17
 018A 7CF0              brlt L40
 018C                 L39:
 018C 0835              cpi R16,88
 018E E2E0              ldi R30,2
 0190 1E07              cpc R17,R30
 0192 09F4              brne X4
 0194 3EC0              xjmp L38
 0196                 X4:
 0196 0835              cpi R16,88
 0198 E2E0              ldi R30,2
 019A 1E07              cpc R17,R30
 019C 0CF4              brge X5
 019E 93C0              xjmp L28
 01A0                 X5:
 01A0                 L41:
 01A0 0C35              cpi R16,92
 01A2 E2E0              ldi R30,2
 01A4 1E07              cpc R17,R30
 01A6 E9F0              breq L35
 01A8 8EC0              xjmp L28
 01AA                 L40:
 01AA 043D              cpi R16,212
 01AC E3E0              ldi R30,3
 01AE 1E07              cpc R17,R30
 01B0 89F0              breq L34
 01B2 043D              cpi R16,212
 01B4 E3E0              ldi R30,3
 01B6 1E07              cpc R17,R30
 01B8 0CF4              brge X6
 01BA 85C0              xjmp L28
 01BC                 X6:
 01BC                 L42:
 01BC 083D              cpi R16,216
 01BE E3E0              ldi R30,3
 01C0 1E07              cpc R17,R30
 01C2 09F0              breq L33
 01C4 80C0              xjmp L28
 01C6                 X1:
 01C6                   .dbline 146
                       ;             {
 01C6                 L33:
 01C6                   .dbline 148
                       ;                 case A_SYC_WORD:
                       ;                     rds_step = SYC_B_STEP;
 01C6 83E0              ldi R24,3
 01C8 80930500          sts _rds_step,R24
 01CC                   .dbline 149
                       ;                     bit_count = 0;
 01CC 2224              clr R2
 01CE 20920D00          sts _bit_count,R2
 01D2                   .dbline 151
                       ;                     //printf("get a word\n");
                       ;                     break;
 01D2 79C0              xjmp L28
 01D4                 L34:
 01D4                   .dbline 153
                       ;                 case B_SYC_WORD:
                       ;                     rds_step = SYC_C_STEP;
 01D4 84E0              ldi R24,4
 01D6 80930500          sts _rds_step,R24
 01DA                   .dbline 154
                       ;                     bit_count = 0;
 01DA 2224              clr R2
 01DC 20920D00          sts _bit_count,R2
 01E0                   .dbline 156
                       ;                 //  printf("get b word\n");
                       ;                     break;
 01E0 72C0              xjmp L28
 01E2                 L35:
 01E2                   .dbline 159
                       ;                 case C_SYC_WORD:
                       ;                 case C1_SYC_WORD:
                       ;                     rds_step = SYC_D_STEP;
 01E2 86E0              ldi R24,6
 01E4 80930500          sts _rds_step,R24
 01E8                   .dbline 160
                       ;                     bit_count = 0;
 01E8 2224              clr R2
 01EA 20920D00          sts _bit_count,R2
 01EE                   .dbline 161
                       ;                     if(temp_syc_word == C_SYC_WORD)
 01EE 0C35              cpi R16,92
 01F0 E2E0              ldi R30,2
 01F2 1E07              cpc R17,R30
 01F4 39F4              brne L36
 01F6                   .dbline 162
                       ;                      c_word_val = C_OFF_WORD;
 01F6 88E6              ldi R24,616
 01F8 92E0              ldi R25,2
 01FA 90930200          sts _c_word_val+1,R25
 01FE 80930100          sts _c_word_val,R24
 0202 61C0              xjmp L28
 0204                 L36:
 0204                   .dbline 164
                       ;                     else
                       ;                         c_word_val = C1_OFF_WORD;
 0204 80E5              ldi R24,848
 0206 93E0              ldi R25,3
 0208 90930200          sts _c_word_val+1,R25
 020C 80930100          sts _c_word_val,R24
 0210                   .dbline 166
                       ;                     //printf("get c word\n");
                       ;                     break;
 0210 5AC0              xjmp L28
 0212                 L38:
 0212                   .dbline 168
                       ;                 case D_SYC_WORD:
                       ;                     rds_step = SYC_A_STEP;
 0212 82E0              ldi R24,2
 0214 80930500          sts _rds_step,R24
 0218                   .dbline 169
                       ;                     bit_count = 0;
 0218 2224              clr R2
 021A 20920D00          sts _bit_count,R2
 021E                   .dbline 171
                       ;                     //printf("get d word\n");
                       ;                     break;
 021E                   .dbline 173
                       ;             }
                       ;             break; 
 021E 53C0              xjmp L28
 0220                 L43:
 0220                   .dbline 175
                       ;         case SYC_A_STEP:
                       ;             if(temp_syc_word!=A_SYC_WORD)
 0220 083D              cpi R16,216
 0222 E3E0              ldi R30,3
 0224 1E07              cpc R17,R30
 0226 21F0              breq L44
 0228                   .dbline 176
                       ;             {
 0228                   .dbline 177
                       ;                 rds_step = SEARCH_SYC_STEP;
 0228 81E0              ldi R24,1
 022A 80930500          sts _rds_step,R24
 022E                   .dbline 178
                       ;             }
 022E 4BC0              xjmp L28

⌨️ 快捷键说明

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