autosearchhandle.lst

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

LST
1,436
字号
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  17:01:37 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\ap_radio\autosearchhandle.c       #
#       List file     =  d:\case_i_d90f\ap\ap_radio\list\autosearchhandle.lst#
#       Object file   =  d:\case_i_d90f\ap\ap_radio\obj\autosearchhandle.r01 #
#       ASM file      =  d:\case_i_d90f\ap\ap_radio\list\autosearchhandle.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\AutoSearchHandle.c       #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    autosearchhandle(17)
   \   0000                    RSEG    CODE_2(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    PUBLIC  AutoSearchHandle
   \   0000                    PUBLIC  AutoTabNum
   \   0000                    PUBLIC  CleanStationCount
   \   0000                    PUBLIC  FMAutoTab
   \   0000                    EXTERN  FMStatus
   \   0000                    EXTERN  Freqtab
   \   0000                    EXTERN  GetBattery
   \   0000                    EXTERN  ResShowPic
   \   0000                    PUBLIC  RestartSearch
   \   0000                    PUBLIC  Search_Show2
   \   0000                    PUBLIC  ShowFreqInFM2
   \   0000                    PUBLIC  ShowStationCount
   \   0000                    EXTERN  TryPlayingHandle
   \   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  radio_param
   \   0000                    EXTERN  ui_show_FMdata
   \   0000                    EXTERN  ui_show_batt
   \   0000                    EXTERN  ui_show_data
   \   0000                    EXTERN  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_2
   \   0000            ShowStationCount:
      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: AutoSearchHandle.c,v 1.1.1.1 2006/05/22 03:24:00 selina Exp $
     10          *******************************************************************************
     11          */
     12          
     13          #pragma codeseg(CODE_2)
     14          
     15          #include "ap_radio.h"
     16          #include "actos.h"
     17          
     18          //extern    slider_t     slider;
     19          extern    comval_t    F_comval;
     20          extern    WORD     FMStationTab[40];         // 前20个是US, 后20个是JP.
     21          extern    fm_play_status_t    FMStatus;
     22          extern     FMRADIO_param_t radio_param;
     23          extern    char Freqtab[10];
     24          extern    char  Updateflag;
     25          WORD    FMAutoTab[20];        // 全自动收台,预存台.
     26          BYTE    AutoTabNum;        // 预存台数.
     27          
     28          extern int    TryPlayingHandle(void);
     29          /*
     30          ********************************************************************************
     31          * Description : 显示电台号.
     32          *
     33          * Arguments   :
     34          *
     35          * Returns     :
     36          *
     37          * Notes       :
     38          *
     39          ********************************************************************************
     40          */
     41          void ShowStationCount(int count)
     42          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  F5                PUSH    AF
   \   0003  F5                PUSH    AF
     43          
     44             
     45               char FMTab[3];
     46               ResShowPic(FMCH,95,8);
   \   0004  0E08              LD      C,8
   \   0006  C5                PUSH    BC
   \   0007  CD3800            CALL    LWRD ?0173
   \   000A  F1                POP     AF
     47               itoa_2(count,FMTab);
   \   000B  210000            LD      HL,0
   \   000E  39                ADD     HL,SP
   \   000F  4D                LD      C,L
   \   0010  44                LD      B,H
   \   0011  210400            LD      HL,4
   \   0014  39                ADD     HL,SP
   \   0015  5E                LD      E,(HL)
   \   0016  3E00              LD      A,BYTE3 itoa_2
   \   0018  210000            LD      HL,LWRD itoa_2
   \   001B  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     48               ui_show_data(FMTab,114,8);
   \   001E  0E08              LD      C,8
   \   0020  C5                PUSH    BC
   \   0021  0E72              LD      C,114
   \   0023  210200            LD      HL,2
   \   0026  39                ADD     HL,SP
   \   0027  EB                EX      DE,HL
   \   0028  3E00              LD      A,BYTE3 ui_show_data
   \   002A  210000            LD      HL,LWRD ui_show_data
   \   002D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0030  E1                POP     HL
     49             
     50          
     51          }
   \   0031  E1                POP     HL
   \   0032  E1                POP     HL
   \   0033  E1                POP     HL
   \   0034  C1                POP     BC
   \   0035  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0038            ?0173:
   \   0038  0E5F              LD      C,95
   \   003A  113400            LD      DE,52
   \   003D            ?0174:
   \   003D  3E00              LD      A,BYTE3 ResShowPic
   \   003F  210000            LD      HL,LWRD ResShowPic
   \   0042  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0045            CleanStationCount:
     52          /*
     53          ********************************************************************************
     54          * Description : 清除电台号
     55          *
     56          * Arguments   :
     57          *
     58          * Returns     :
     59          *
     60          * Notes       :
     61          *
     62          ********************************************************************************
     63          */
     64          void CleanStationCount(void)
     65          {
   \   0045  C5                PUSH    BC
   \   0046  D5                PUSH    DE
     66              ResShowPic(FMCHBG,95,8);
   \   0047  0E08              LD      C,8
   \   0049  C5                PUSH    BC
   \   004A  0E5F              LD      C,95
   \   004C  113500            LD      DE,53
   \   004F  CD3D00            CALL    LWRD ?0174
   \   0052  F1                POP     AF
     67          }
   \   0053  D1                POP     DE
   \   0054  C1                POP     BC
   \   0055  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0058            ShowFreqInFM2:
     68          
     69          /*
     70          ********************************************************************************
     71          * Description : 显示全自动搜台界面
     72          *
     73          * Arguments   :
     74          *
     75          * Returns     :
     76          *
     77          * Notes       :
     78          *
     79          ********************************************************************************
     80          */
     81          void ShowFreqInFM2()
     82          {
   \   0058  C5                PUSH    BC
   \   0059  D5                PUSH    DE
   \   005A  FDE5              PUSH    IY
   \   005C  DDE5              PUSH    IX
   \   005E  DD210000          LD      IX,0
   \   0062  DD39              ADD     IX,SP
   \   0064  21F0FF            LD      HL,65520
   \   0067  39                ADD     HL,SP
   \   0068  F9                LD      SP,HL
     83             // char buf[4]={"FM"};
     84              char  buf[4];
     85              long i;
     86              int k,h;
     87              char FMTab[5];
     88          
     89              i=0x10000+FMStatus.freq;
   \   0069  2A0100            LD      HL,(FMStatus+1)
   \   006C  010000            LD      BC,0
   \   006F  C5                PUSH    BC
   \   0070  E5                PUSH    HL
   \   0071  69                LD      L,C
   \   0072  60                LD      H,B
   \   0073  C1                POP     BC
   \   0074  09                ADD     HL,BC
   \   0075  EB                EX      DE,HL
   \   0076  210100            LD      HL,1
   \   0079  C1                POP     BC
   \   007A  ED4A              ADC     HL,BC
   \   007C  4D                LD      C,L
   \   007D  44                LD      B,H
   \   007E  EB                EX      DE,HL
   \   007F  DD75F0            LD      (IX-16),L
   \   0082  DD74F1            LD      (IX-15),H
   \   0085  DD71F2            LD      (IX-14),C
   \   0088  DD70F3            LD      (IX-13),B
     90              if((i%100)>49)
   \   008B  110000            LD      DE,0
   \   008E  D5                PUSH    DE
   \   008F  1E64              LD      E,100
   \   0091  D5                PUSH    DE
   \   0092  CD0000            CALL    LWRD ?SL_MOD_L03
   \   0095  C5                PUSH    BC
   \   0096  E5                PUSH    HL
   \   0097  4A                LD      C,D
   \   0098  42                LD      B,D
   \   0099  213100            LD      HL,49
   \   009C  CD0000            CALL    LWRD ?SL_CMP_L03
   \   009F  69                LD      L,C
   \   00A0  60                LD      H,B
   \   00A1  302E              JR      NC,?0003
   \   00A3            ?0002:
     91              {
     92                  i=i/100+1;
   \   00A3  E5                PUSH    HL
   \   00A4  D5                PUSH    DE
   \   00A5  DD4EF2            LD      C,(IX-14)
   \   00A8  DD46F3            LD      B,(IX-13)
   \   00AB  DD6EF0            LD      L,(IX-16)
   \   00AE  DD66F1            LD      H,(IX-15)
   \   00B1  CD0000            CALL    LWRD ?SL_DIV_L03
   \   00B4  C5                PUSH    BC
   \   00B5  E5                PUSH    HL
   \   00B6  210100            LD      HL,1
   \   00B9  C1                POP     BC
   \   00BA  09                ADD     HL,BC
   \   00BB  EB                EX      DE,HL
   \   00BC  6C                LD      L,H
   \   00BD  C1                POP     BC
   \   00BE  ED4A              ADC     HL,BC
   \   00C0  4D                LD      C,L
   \   00C1  44                LD      B,H
   \   00C2  EB                EX      DE,HL
   \   00C3  DD75F0            LD      (IX-16),L
   \   00C6  DD74F1            LD      (IX-15),H
   \   00C9  DD71F2            LD      (IX-14),C
   \   00CC  DD70F3            LD      (IX-13),B
     93              }
     94              else
   \   00CF  1804              JR      ?0004
   \   00D1            ?0003:
     95                  i=i/100;
   \   00D1  39                ADD     HL,SP
   \   00D2  CD0000            CALL    LWRD ?SL_DIVASG_L03
   \   00D5            ?0004:
     96              k=i/10;
   \   00D5  210000            LD      HL,0
   \   00D8  E5                PUSH    HL
   \   00D9  2E0A              LD      L,10
   \   00DB  E5                PUSH    HL
   \   00DC  DD4EF2            LD      C,(IX-14)

⌨️ 快捷键说明

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