searchhandle.lst

来自「MP3 整个 SDK」· LST 代码 · 共 1,099 行 · 第 1/4 页

LST
1,099
字号
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  17:01:36 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\ap_radio\searchhandle.c           #
#       List file     =  d:\case_i_d90f\ap\ap_radio\list\searchhandle.lst    #
#       Object file   =  d:\case_i_d90f\ap\ap_radio\obj\searchhandle.r01     #
#       ASM file      =  d:\case_i_d90f\ap\ap_radio\list\searchhandle.s01    #
#       Command line  =  -v0 -mb -OD:\case_i_d90f\ap\ap_radio\Obj\ -e -K -w  #
#                        -gA -s9 -RCODE -r0 -DNAPDEBUG                       #
#                        -LD:\case_i_d90f\ap\ap_radio\List\ -q -t8           #
#                        -AD:\case_i_d90f\ap\ap_radio\List\                  #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        d:\case_i_d90f\AP\AP_RADIO\SearchHandle.c           #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    searchhandle(17)
   \   0000                    RSEG    CODE_1(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    EXTERN  FMStatus
   \   0000                    EXTERN  Freqtab
   \   0000                    EXTERN  GetBattery
   \   0000                    EXTERN  ResShowPic
   \   0000                    PUBLIC  SearchHandle
   \   0000                    PUBLIC  Search_Show
   \   0000                    PUBLIC  ShowFreqInFM
   \   0000                    EXTERN  ShowStationCount
   \   0000                    EXTERN  Updateflag
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  fmSendCommand
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  itoa_2
   \   0000                    EXTERN  itoa_3
   \   0000                    EXTERN  main_ResShowPic
   \   0000                    EXTERN  radio_param
   \   0000                    PUBLIC  ui_show_FMdata
   \   0000                    EXTERN  ui_show_batt
   \   0000                    PUBLIC  ui_show_data
   \   0000                    PUBLIC  ui_show_volfm
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?US_DIV_L02
   \   0000                    EXTERN  ?SL_DIV_L03
   \   0000                    EXTERN  ?SL_MOD_L03
   \   0000                    EXTERN  ?SL_CMP_L03
   \   0000                    EXTERN  ?SL_DIVASG_L03
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?STRCPY_L11
   \   0000                    EXTERN  ?STRCAT_L11
   \   0000                    RSEG    CODE_1
   \   0000            ui_show_data:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        main ap of sdk 3.0
      5          *
      6          *        (c) Copyright, Actions Co,Ld.
      7          *             All Right Reserved
      8          *
      9          *  $Id: SearchHandle.c,v 1.1.1.1 2006/05/22 03:24:00 selina Exp $
     10          *******************************************************************************
     11          */
     12          
     13          #pragma codeseg(CODE_1)
     14          
     15          #include "ap_radio.h"
     16          #include "actos.h"
     17          extern    comval_t    g_comval;
     18          extern    fm_play_status_t    FMStatus;
     19          extern     FMRADIO_param_t radio_param;
     20          extern    char Freqtab[10];
     21          extern char Updateflag;
     22          void    ShowFreqInFM();                        //FM主界面显示
     23          bool     Search_Show(FM_direct_t Direct);    //自动搜台时的显示
     24          void ui_show_data(char *buf, uchar x, uchar y)     //zxs add for show CH number
     25          {
   \   0000  DDE5              PUSH    IX
   \   0002  C5                PUSH    BC
   \   0003  D5                PUSH    DE
   \   0004  DDE1              POP     IX
   \   0006            ?0003:
     26              while(1)
     27              {
     28                  if(*buf!=0)main_ResShowPic(CHNUM0+*buf-0x30, x, y);
   \   0006  AF                XOR     A
   \   0007  DDB600            OR      (IX+0)
   \   000A  2829              JR      Z,?0002
   \   000C            ?0005:
   \   000C  210800            LD      HL,8
   \   000F  39                ADD     HL,SP
   \   0010  4E                LD      C,(HL)
   \   0011  C5                PUSH    BC
   \   0012  210200            LD      HL,2
   \   0015  39                ADD     HL,SP
   \   0016  4E                LD      C,(HL)
   \   0017  DD5E00            LD      E,(IX+0)
   \   001A  1600              LD      D,0
   \   001C  21F1FF            LD      HL,65521
   \   001F  CD4100            CALL    LWRD ?0138
   \   0022  F1                POP     AF
     29                  else
   \   0023            ?0006:
     30                      break;
   \   0023            ?0007:
     31                  output8(0x4e,input8(0x4e)|0x08);
   \   0023  DB4E              IN      A,(78)
   \   0025  CBDF              SET     3,A
   \   0027  D34E              OUT     (78),A
     32                  *buf++;
     33                  x+=6;
   \   0029  210000            LD      HL,0
   \   002C  39                ADD     HL,SP
   \   002D  7E                LD      A,(HL)
   \   002E  C606              ADD     A,6
   \   0030  77                LD      (HL),A
     34              }
     35          }
   \   0031  DD23              INC     IX
   \   0033  18D1              JR      ?0003
   \   0035            ?0002:
   \   0035  E1                POP     HL
   \   0036  DDE1              POP     IX
   \   0038  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   003B            ?0139:
   \   003B  5E                LD      E,(HL)
   \   003C  1600              LD      D,0
   \   003E  21C100            LD      HL,193
   \   0041            ?0138:
   \   0041  19                ADD     HL,DE
   \   0042  EB                EX      DE,HL
   \   0043  3E00              LD      A,BYTE3 main_ResShowPic
   \   0045  210000            LD      HL,LWRD main_ResShowPic
   \   0048  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   004B            ui_show_volfm:
     36          
     37          
     38          void ui_show_volfm(BYTE volume)         //显示音量信息      zxs add for show fm vol
     39          {
   \   004B  C5                PUSH    BC
   \   004C  D5                PUSH    DE
   \   004D  F5                PUSH    AF
   \   004E  F5                PUSH    AF
     40              char temp[3];
     41              itoa_2(volume, temp);
   \   004F  210000            LD      HL,0
   \   0052  39                ADD     HL,SP
   \   0053  4D                LD      C,L
   \   0054  44                LD      B,H
   \   0055  3E00              LD      A,BYTE3 itoa_2
   \   0057  210000            LD      HL,LWRD itoa_2
   \   005A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     42              main_ResShowPic(TVNUM0+temp[0]-0x30,25,162);
   \   005D  0EA2              LD      C,162
   \   005F  C5                PUSH    BC
   \   0060  0E19              LD      C,25
   \   0062  210200            LD      HL,2
   \   0065  39                ADD     HL,SP
   \   0066  CD3B00            CALL    LWRD ?0139
   \   0069  F1                POP     AF
     43              main_ResShowPic(TVNUM0+temp[1]-0x30,25+9,162);
   \   006A  0EA2              LD      C,162
   \   006C  C5                PUSH    BC
   \   006D  0E22              LD      C,34
   \   006F  210300            LD      HL,3
   \   0072  39                ADD     HL,SP
   \   0073  CD3B00            CALL    LWRD ?0139
   \   0076  F1                POP     AF
     44          }
   \   0077  E1                POP     HL
   \   0078  E1                POP     HL
   \   0079  E1                POP     HL
   \   007A  C1                POP     BC
   \   007B  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   007E            SearchHandle:
     45          
     46          int    SearchHandle(BYTE Direct)
     47          {
   \   007E  C5                PUSH    BC
   \   007F  DDE5              PUSH    IX
   \   0081  D5                PUSH    DE
   \   0082  F5                PUSH    AF
     48              int key;
     49              bool need_draw=TRUE;
     50              BYTE    Searchflag=1;
   \   0083  210000            LD      HL,0
   \   0086  39                ADD     HL,SP
   \   0087  3601              LD      (HL),1
   \   0089  1601              LD      D,1
   \   008B            ?0009:
     51              while(1)
     52              {
     53                  if(Direct!=0)
   \   008B  210200            LD      HL,2
   \   008E  39                ADD     HL,SP
   \   008F  AF                XOR     A
   \   0090  B6                OR      (HL)
   \   0091  CA5301            JP      Z,?0044
   \   0094            ?0011:
     54                  {
     55                      if(Direct==10)            //NEXT搜索处理
   \   0094  FE0A              CP      10
   \   0096  2058              JR      NZ,?0014
   \   0098            ?0013:
     56                      {
     57                          if(((FMStatus.freq+100)>0xa5e0)&&(FMStatus.mode==0))FMStatus.freq=0x53d8;
   \   0098  2A0100            LD      HL,(FMStatus+1)
   \   009B  016400            LD      BC,100
   \   009E  09                ADD     HL,BC
   \   009F  4D                LD      C,L
   \   00A0  44                LD      B,H
   \   00A1  21E0A5            LD      HL,42464
   \   00A4  A7                AND     A
   \   00A5  ED42              SBC     HL,BC
   \   00A7  300B              JR      NC,?0016
   \   00A9  3A0500            LD      A,(FMStatus+5)
   \   00AC  B7                OR      A
   \   00AD  2005              JR      NZ,?0016
   \   00AF            ?0018:
   \   00AF            ?0017:
   \   00AF            ?0015:
   \   00AF  21D853            LD      HL,21464
   \   00B2  181A              JR      ?0123
   \   00B4            ?0016:
     58                          else if(((FMStatus.freq+100)>0x5f90)&&(FMStatus.mode==1))FMStatus.freq=0x28e0;
   \   00B4  2A0100            LD      HL,(FMStatus+1)
   \   00B7  016400            LD      BC,100
   \   00BA  09                ADD     HL,BC
   \   00BB  4D                LD      C,L
   \   00BC  44                LD      B,H
   \   00BD  21905F            LD      HL,24464
   \   00C0  A7                AND     A
   \   00C1  ED42              SBC     HL,BC
   \   00C3  300E              JR      NC,?0021
   \   00C5  3A0500            LD      A,(FMStatus+5)
   \   00C8  3D                DEC     A
   \   00C9  2008              JR      NZ,?0021
   \   00CB            ?0023:
   \   00CB            ?0022:
   \   00CB            ?0020:
   \   00CB  21E028            LD      HL,10464
   \   00CE            ?0123:
   \   00CE  220100            LD      (FMStatus+1),HL
     59                          else
   \   00D1  180B              JR      ?0122
   \   00D3            ?0021:
     60                              FMStatus.freq+=100;
   \   00D3  210100            LD      HL,FMStatus+1
   \   00D6  7E                LD      A,(HL)
   \   00D7  C664              ADD     A,100
   \   00D9  77                LD      (HL),A
   \   00DA  3002              JR      NC,?0122
   \   00DC  23                INC     HL
   \   00DD  34                INC     (HL)
   \   00DE            ?0122:
   \   00DE            ?0024:
   \   00DE            ?0019:
     61                          if(Search_Show(UP))return 0;
   \   00DE  D5                PUSH    DE
   \   00DF  1E01              LD      E,1
   \   00E1  3E00              LD      A,BYTE3 Search_Show
   \   00E3  21FC01            LD      HL,LWRD Search_Show
   \   00E6  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00E9  2C                INC     L
   \   00EA  2D                DEC     L
   \   00EB  D1                POP     DE
   \   00EC  2865              JR      Z,?0044
   \   00EE            ?0025:
   \   00EE  185D              JR      ?0126

⌨️ 快捷键说明

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