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

📄 bu1923a.lis

📁 sunplus spca514 cdmp3 源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                       ;     }
                       ; 
                       ; }
 0564                 L60:
 0564 0E940000          xcall pop_gset3
 0568                   .dbline 0 ; func end
 0568 0895              ret
 056A                   .dbfunc s rds_handler _rds_handler fI
                         .area func_lit(rom, con, rel)
 0014                 L227:
 0014 2B03              .word `L140
 0016 6F03              .word `L156
 0018 7D03              .word `L158
 001A D703              .word `L188
                         .area text(rom, con, rel)
 056A                   .dbfile D:\avrmcu\AT980\bu1923\bu1923a.c
                       ;    temp_buffer -> y+0
                       ;              i -> R20
                       ; temp_buffer0_flag -> R22
                         .even
 056A                 _rds_handler::
 056A 0E940000          xcall push_gset2
 056E 2897              sbiw R28,8
 0570                   .dbline -1
 0570                   .dbline 345
                       ; 
                       ; 
                       ; void rds_handler(void)
                       ; {
 0570                   .dbline 358
                       ;     register unsigned char temp_buffer0_flag;
                       ;     unsigned int temp_buffer[4];
                       ;     register unsigned char i;
                       ;     
                       ;     //if(rds_delay)
                       ;     //{
                       ;         //rds_delay--;
                       ;         //if(!rds_delay)
                       ;             //rds_status = 0;
                       ;     //};
                       ; 
                       ;     //printf("rds handler\n");
                       ;     if(pty_is_searching==2)
 0570 80910400          lds R24,_pty_is_searching
 0574 8230              cpi R24,2
 0576 59F5              brne L114
 0578                   .dbline 359
                       ;     {
 0578                   .dbline 360
                       ;         if(search_ok)
 0578 20900000          lds R2,_search_ok
 057C 2220              tst R2
 057E 39F1              breq L116
 0580                   .dbline 361
                       ;         {
 0580                   .dbline 362
                       ;             if(pty_search_delay)
 0580 20902000          lds R2,_rds_dis_string+2
 0584 2220              tst R2
 0586 01F1              breq L118
 0588                   .dbline 363
                       ;             {
 0588                   .dbline 364
                       ;                 if((rds_status&PTY_EXIST)&&(pty_dis_type == pty_search_type))
 0588 20900300          lds R2,_rds_status
 058C 21FE              sbrs R2,1
 058E 0AC0              rjmp L121
 0590 20901F00          lds R2,_rds_dis_string+1
 0594 30901E00          lds R3,_rds_dis_string
 0598 3214              cp R3,R2
 059A 21F4              brne L121
 059C                   .dbline 365
                       ;                 {
 059C                   .dbline 366
                       ;                     pty_is_searching = 0;
 059C 2224              clr R2
 059E 20920400          sts _pty_is_searching,R2
 05A2                   .dbline 368
                       ;                     //pty_search_delay = 0;
                       ;                     return;
 05A2 6AC1              xjmp L113
 05A4                 L121:
 05A4                   .dbline 369
                       ;                 };
 05A4                   .dbline 370
                       ;                 pty_search_delay--;
 05A4 80912000          lds R24,_rds_dis_string+2
 05A8 8150              subi R24,1
 05AA 80932000          sts _rds_dis_string+2,R24
 05AE                   .dbline 372
                       ;             //  printf("pty=");debug_out_wx(pty_search_delay);printf("\n");
                       ;                 if(!pty_search_delay)
 05AE 282E              mov R2,R24
 05B0 2220              tst R2
 05B2 69F4              brne L119
 05B4                   .dbline 373
                       ;                 {
 05B4                   .dbline 374
                       ;                     search_ok = 0;
 05B4 2224              clr R2
 05B6 20920000          sts _search_ok,R2
 05BA                   .dbline 376
                       ;                     //search_dir = 1;
                       ;                     is_autosearching = 1;
 05BA 81E0              ldi R24,1
 05BC 80930000          sts _is_autosearching,R24
 05C0                   .dbline 377
                       ;                     autosrch_step = AUTOSRCH_STEP5;
 05C0 84E0              ldi R24,4
 05C2 80930000          sts _autosrch_step,R24
 05C6                   .dbline 378
                       ;                 };
 05C6                   .dbline 378
 05C6                   .dbline 379
                       ;             }
 05C6 03C0              xjmp L119
 05C8                 L118:
 05C8                   .dbline 381
                       ;             else
                       ;             {
 05C8                   .dbline 383
                       ;             //  printf("kkk\n");
                       ;                 pty_search_delay = 67;
 05C8 83E4              ldi R24,67
 05CA 80932000          sts _rds_dis_string+2,R24
 05CE                   .dbline 384
                       ;             }
 05CE                 L119:
 05CE                   .dbline 385
                       ;         }
 05CE                 L116:
 05CE                   .dbline 386
                       ;     }
 05CE                 L114:
 05CE                   .dbline 387
                       ;     CLI();
 05CE F894              cli
 05D0                   .dbline 388
                       ;     if(rds_buffer0_flag&BD_WORD_UPDATE)
 05D0 80911C00          lds R24,_rds_buffer0_flag
 05D4 807A              andi R24,160
 05D6 8823              tst R24
 05D8 F1F0              breq L129
 05DA                   .dbline 389
                       ;     {
 05DA                   .dbline 390
                       ;         temp_buffer0_flag = rds_buffer0_flag;
 05DA 60911C00          lds R22,_rds_buffer0_flag
 05DE                   .dbline 391
                       ;         temp_buffer[0] = rds_buffer[0];
 05DE 30901500          lds R3,_rds_buffer+1
 05E2 20901400          lds R2,_rds_buffer
 05E6 2882              std y+0,R2
 05E8 3982              std y+1,R3
 05EA                   .dbline 392
                       ;         temp_buffer[1] = rds_buffer[1];
 05EA 30901700          lds R3,_rds_buffer+2+1
 05EE 20901600          lds R2,_rds_buffer+2
 05F2 2A82              std y+2,R2
 05F4 3B82              std y+3,R3
 05F6                   .dbline 393
                       ;         temp_buffer[2] = rds_buffer[2];
 05F6 30901900          lds R3,_rds_buffer+4+1
 05FA 20901800          lds R2,_rds_buffer+4
 05FE 2C82              std y+4,R2
 0600 3D82              std y+5,R3
 0602                   .dbline 394
                       ;         temp_buffer[3] = rds_buffer[3];
 0602 30901B00          lds R3,_rds_buffer+6+1
 0606 20901A00          lds R2,_rds_buffer+6
 060A 2E82              std y+6,R2
 060C 3F82              std y+7,R3
 060E                   .dbline 395
                       ;         rds_buffer0_flag = 0;
 060E 2224              clr R2
 0610 20921C00          sts _rds_buffer0_flag,R2
 0614                   .dbline 396
                       ;     }
 0614 02C0              xjmp L130
 0616                 L129:
 0616                   .dbline 398
                       ;     else
                       ;     {
 0616                   .dbline 399
                       ;         SEI();
 0616 7894              sei
 0618                   .dbline 400
                       ;         return;
 0618 2FC1              xjmp L113
 061A                 L130:
 061A                   .dbline 401
                       ;     };
 061A                   .dbline 402
                       ;     SEI();
 061A 7894              sei
 061C                   .dbline 404
                       ;     //printf("get_a_block=");debug_out_wx(temp_buffer[0]);printf("\n");
                       ;     rds_delay = 60;
 061C 8CE3              ldi R24,60
 061E 80930000          sts _rds_delay,R24
 0622                   .dbline 405
                       ;     switch(rds_display_type)
 0622 40910000          lds R20,_rds_display_type
 0626 5527              clr R21
 0628 4130              cpi R20,1
 062A E0E0              ldi R30,0
 062C 5E07              cpc R21,R30
 062E 0CF4              brge X12
 0630 23C1              xjmp L137
 0632                 X12:
 0632 84E0              ldi R24,4
 0634 90E0              ldi R25,0
 0636 8417              cp R24,R20
 0638 9507              cpc R25,R21
 063A 0CF4              brge X13
 063C 1DC1              xjmp L137
 063E                 X13:
 063E 80E0              ldi R24,<L227
 0640 90E0              ldi R25,>L227
 0642 FA01              movw R30,R20
 0644 3197              sbiw R30,1
 0646 EE0F              lsl R30
 0648 FF1F              rol R31
 064A E80F              add R30,R24
 064C F91F              adc R31,R25
 064E 0590              lpm R0,Z+
 0650 1490              lpm R1,Z
 0652 F001              movw R30,R0
 0654 0994              ijmp
 0656                 X11:
 0656                   .dbline 406
                       ;     {
 0656                 L140:
 0656                   .dbline 409
                       ;         case DIS_PS_NAME:
                       ;             //printf("DIS_PS_NAME\n");  
                       ;             if((high_byte(temp_buffer,1)&0xf0)==0)  //if((temp_buffer[1]&0xf000)==0)  //GROUP 0
 0656 8B81              ldd R24,y+3
 0658 807F              andi R24,240
 065A 8823              tst R24
 065C 09F0              breq X14
 065E 0CC1              xjmp L138
 0660                 X14:
 0660                   .dbline 410
                       ;             {
 0660                   .dbline 411
                       ;                 rds_status = PS_NAME_EXIST;
 0660 81E0              ldi R24,1
 0662 80930300          sts _rds_status,R24
 0666                   .dbline 413
                       ;                     //printf("is 0 group\n");
                       ;                 i = low_byte(temp_buffer,1)&0x03;//((unsigned char)temp_buffer[1])&0x03;
 0666 4A81              ldd R20,y+2
 0668 4370              andi R20,3
 066A                   .dbline 416
                       ;                     //printf("temp_buffer[2]=");debug_out_wx(temp_buffer[2]);printf("\n");
                       ;                     //printf("temp_buffer[4]=");debug_out_wx(temp_buffer[4]);printf("\n");
                       ;                 i <<=1;
 066A 440F              lsl R20
 066C                   .dbline 417
                       ;                 rds_dis_buffer[i] = high_byte(temp_buffer,3);//(unsigned char) (temp_buffer[3]>>8);
 066C 80E0              ldi R24,<_rds_dis_buffer
 066E 90E0              ldi R25,>_rds_dis_buffer
 0670 E42F              mov R30,R20
 0672 FF27              clr R31
 0674 E80F              add R30,R24
 0676 F91F              adc R31,R25
 0678 2F80              ldd R2,y+7
 067A 2082              std z+0,R2
 067C                   .dbline 418
                       ;                 i++;
 067C 4395              inc R20
 067E                   .dbline 419
                       ;                 rds_dis_buffer[i] = low_byte(temp_buffer,3);
 067E E42F              mov R30,R20
 0680 FF27              clr R31
 0682 E80F              add R30,R24
 0684 F91F              adc R31,R25
 0686 2E80              ldd R2,y+6
 0688 2082              std z+0,R2
 068A                   .dbline 421
                       ;                 //if(i<2)
                       ;                 rds_dis_control |=(1<<i);
 068A 01E0              ldi R16,1
 068C 142F              mov R17,R20
 068E 0E940000          xcall lsl8
 0692 20901D00          lds R2,_rds_dis_control
 0696 202A              or R2,R16
 0698 20921D00          sts _rds_dis_control,R2
 069C                   .dbline 425
                       ;                 //else
                       ;                     //rds_dis_control |=(1<<i);
                       ;                     //printf("rds_display_contr=");debug_out_wx(rds_dis_control);printf("\n");  
                       ;                 if((rds_dis_control==0xaa)&&(i>6))
 069C 822D              mov R24,R2
 069E 8A3A              cpi R24,170
 06A0 09F0              breq X15
 06A2 EAC0              xjmp L138
 06A4                 X15:
 06A4 86E0              ldi R24,6
 06A6 8417              cp R24,R20
 06A8 08F0              brlo X16
 06AA E6C0              xjmp L1

⌨️ 快捷键说明

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