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

📄 autosearchhandle.lst

📁 5807收音机模块用于炬力平台
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       23/Feb/109  09:19:17 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d95f\ap\ap_radio\autosearchhandle.c       #
#       List file     =  d:\case_i_d95f\ap\ap_radio\list\autosearchhandle.lst#
#       Object file   =  d:\case_i_d95f\ap\ap_radio\obj\autosearchhandle.r01 #
#       ASM file      =  d:\case_i_d95f\ap\ap_radio\list\autosearchhandle.s01#
#       Command line  =  -v0 -mb -OD:\case_i_d95f\ap\ap_radio\Obj\ -e -K -w  #
#                        -gA -s9 -RCODE -r0 -DNAPDEBUG                       #
#                        -LD:\case_i_d95f\ap\ap_radio\List\ -q -t8           #
#                        -AD:\case_i_d95f\ap\ap_radio\List\                  #
#                        -Id:\sdk_i_95f\inc\ -Id:\case_i_d95f\inc\           #
#                        d:\case_i_d95f\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    CONST(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    PUBLIC  AutoSearchHandle
   \   0000                    PUBLIC  AutoTabNum
   \   0000                    PUBLIC  CleanStationCount
   \   0000                    EXTERN  ClearScreen
   \   0000                    PUBLIC  FMAutoTab
   \   0000                    EXTERN  FMStatus
   \   0000                    EXTERN  Freqtab
   \   0000                    EXTERN  GetBattery
   \   0000                    EXTERN  PutS
   \   0000                    EXTERN  ResShowPic
   \   0000                    PUBLIC  RestartSearch
   \   0000                    PUBLIC  Search_Show2
   \   0000                    EXTERN  SetTextPos
   \   0000                    PUBLIC  ShowFreqInFM2
   \   0000                    PUBLIC  ShowStationCount
   \   0000                    EXTERN  TryPlayingHandle
   \   0000                    EXTERN  UpdateScreen
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  fmSendCommand
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  itoa_1
   \   0000                    EXTERN  itoa_2
   \   0000                    EXTERN  itoa_3
   \   0000                    EXTERN  radio_param
   \   0000                    EXTERN  ui_show_batt
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?US_DIV_L02
   \   0000                    EXTERN  ?SS_DIV_L02
   \   0000                    EXTERN  ?SS_MOD_L02
   \   0000                    EXTERN  ?S_MUL_L02
   \   0000                    EXTERN  ?SL_CMP_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           *******************************************************************************
     10           */
     11          
     12          #pragma codeseg(CODE_2)
     13          
     14          #include "ap_radio.h"
     15          #include "actos.h"
     16          
     17          extern slider_t slider;
     18          extern comval_t F_comval;
     19          extern WORD FMStationTab[40]; // 前20个是US, 后20个是JP.
     20          extern fm_play_status_t FMStatus;
     21          extern FMRADIO_param_t radio_param;
     22          extern char Freqtab[10];
     23          
     24          WORD FMAutoTab[20]; // 全自动收台,预存台.
     25          BYTE AutoTabNum; // 预存台数.
     26          
     27          extern int TryPlayingHandle(void);
     28          /*
     29           ********************************************************************************
     30           * Description : 显示电台号.
     31           *
     32           * Arguments   :
     33           *
     34           * Returns     :
     35           *
     36           * Notes       :
     37           *
     38           ********************************************************************************
     39           */
     40          void ShowStationCount(int count)
     41          {
   \   0000  C5                PUSH    BC
   \   0001  DDE5              PUSH    IX
   \   0003  21F4FF            LD      HL,65524
   \   0006  39                ADD     HL,SP
   \   0007  F9                LD      SP,HL
   \   0008  D5                PUSH    DE
   \   0009  DDE1              POP     IX
     42              char buf[4];
     43              char FMTab[7];
     44          
     45              SetTextPos(46, 0); //SetTextPos(128/2-6*3,0);
   \   000B  0E00              LD      C,0
   \   000D  1E2E              LD      E,46
   \   000F  CD0000            CALL    LWRD SetTextPos
     46              if (count > 0) //显示电台号
   \   0012  DDE5              PUSH    IX
   \   0014  C1                POP     BC
   \   0015  210000            LD      HL,0
   \   0018  F680              OR      128
   \   001A  ED42              SBC     HL,BC
   \   001C  E22000            JP      PO,?0157
   \   001F  AC                XOR     H
   \   0020            ?0157:
   \   0020  F26900            JP      P,?0003
   \   0023            ?0002:
     47              {
     48                  strcpy(FMTab, "[");
   \   0023  110000            LD      DE,?0004
   \   0026  210000            LD      HL,0
   \   0029  39                ADD     HL,SP
   \   002A  CD0000            CALL    LWRD ?STRCPY_L11
     49                  strcat(FMTab, "CH");
   \   002D  110200            LD      DE,?0005
   \   0030  210000            LD      HL,0
   \   0033  39                ADD     HL,SP
   \   0034  CD0000            CALL    LWRD ?STRCAT_L11
     50                  *itoa_2(count, buf);
   \   0037  210800            LD      HL,8
   \   003A  39                ADD     HL,SP
   \   003B  4D                LD      C,L
   \   003C  44                LD      B,H
   \   003D  DDE5              PUSH    IX
   \   003F  E1                POP     HL
   \   0040  5D                LD      E,L
   \   0041  3E00              LD      A,BYTE3 itoa_2
   \   0043  210000            LD      HL,LWRD itoa_2
   \   0046  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     51                  strcat(FMTab, buf);
   \   0049  210800            LD      HL,8
   \   004C  39                ADD     HL,SP
   \   004D  EB                EX      DE,HL
   \   004E  210000            LD      HL,0
   \   0051  39                ADD     HL,SP
   \   0052  CD0000            CALL    LWRD ?STRCAT_L11
     52                  strcat(FMTab, "]");
   \   0055  110500            LD      DE,?0006
   \   0058  210000            LD      HL,0
   \   005B  39                ADD     HL,SP
   \   005C  CD0000            CALL    LWRD ?STRCAT_L11
     53                  PutS(FMTab, -1);
   \   005F  0EFF              LD      C,255
   \   0061  210000            LD      HL,0
   \   0064  39                ADD     HL,SP
   \   0065  EB                EX      DE,HL
   \   0066  CD0000            CALL    LWRD PutS
   \   0069            ?0003:
     54              }
     55              UpdateScreen(NULL);
   \   0069  110000            LD      DE,0
   \   006C  CD0000            CALL    LWRD UpdateScreen
     56          }
   \   006F  210C00            LD      HL,12
   \   0072  39                ADD     HL,SP
   \   0073  F9                LD      SP,HL
   \   0074  DDE1              POP     IX
   \   0076  C1                POP     BC
   \   0077  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   007A            CleanStationCount:
     57          /*
     58           ********************************************************************************
     59           * Description : 清除电台号
     60           *
     61           * Arguments   :
     62           *
     63           * Returns     :
     64           *
     65           * Notes       :
     66           *
     67           ********************************************************************************
     68           */
     69          void CleanStationCount(void)
     70          {
   \   007A  C5                PUSH    BC
   \   007B  D5                PUSH    DE
   \   007C  F5                PUSH    AF
   \   007D  F5                PUSH    AF
   \   007E  F5                PUSH    AF
   \   007F  F5                PUSH    AF
     71              char FMTab[] = "      ";
   \   0080  210000            LD      HL,0
   \   0083  39                ADD     HL,SP
   \   0084  EB                EX      DE,HL
   \   0085  210000            LD      HL,?0007
   \   0088  010700            LD      BC,7
   \   008B  EDB0              LDIR
     72              SetTextPos(46, 0); //SetTextPos(128/2-6*3,0);
   \   008D  1E2E              LD      E,46
   \   008F  CD0000            CALL    LWRD SetTextPos
     73              PutS(FMTab, -1);
   \   0092  0EFF              LD      C,255
   \   0094  210000            LD      HL,0
   \   0097  39                ADD     HL,SP
   \   0098  EB                EX      DE,HL
   \   0099  CD0000            CALL    LWRD PutS
     74              UpdateScreen(NULL);
   \   009C  110000            LD      DE,0
   \   009F  CD0000            CALL    LWRD UpdateScreen
     75          }
   \   00A2  E1                POP     HL
   \   00A3  E1                POP     HL
   \   00A4  E1                POP     HL
   \   00A5  E1                POP     HL
   \   00A6  D1                POP     DE
   \   00A7  C1                POP     BC
   \   00A8  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   00AB            ShowFreqInFM2:
     76          /*
     77           ********************************************************************************
     78           * Description : 显示全自动搜台界面
     79           *
     80           * Arguments   :
     81           *
     82           * Returns     :
     83           *
     84           * Notes       :
     85           *
     86           ********************************************************************************
     87           */
     88          void ShowFreqInFM2(void)
     89          {
   \   00AB  C5                PUSH    BC
   \   00AC  D5                PUSH    DE
   \   00AD  FDE5              PUSH    IY
   \   00AF  DDE5              PUSH    IX
   \   00B1  DD210000          LD      IX,0
   \   00B5  DD39              ADD     IX,SP
   \   00B7  21F6FF            LD      HL,65526
   \   00BA  39                ADD     HL,SP
   \   00BB  F9                LD      SP,HL
     90              char buf[4] =
     91              { "FM" };
   \   00BC  EB                EX      DE,HL
   \   00BD  210700            LD      HL,?0008
   \   00C0  010400            LD      BC,4
   \   00C3  EDB0              LDIR
     92              long i;
     93              int k, h;
     94              char FMTab[5];
     95          
     96              ClearScreen(NULL);
   \   00C5  59                LD      E,C
   \   00C6  50                LD      D,B
   \   00C7  CD0000            CALL    LWRD ClearScreen
     97              ResShowPic(RA_FM, 16, 0); //fm 标志显示
   \   00CA  C5                PUSH    BC
   \   00CB  0E10              LD      C,16
   \   00CD  11B101            LD      DE,433
   \   00D0  CD3602            CALL    LWRD ?0189
   \   00D3  F1                POP     AF
     98              if (FMStatus.stereo_status == 0)
   \   00D4  3A0700            LD      A,(FMStatus+7)
   \   00D7  B7                OR      A
   \   00D8  200B              JR      NZ,?0010
   \   00DA            ?0009:
     99              {
    100                  ResShowPic(RA_STERE, 98, 0); //显示立体声  ResShowPic(RA_STERE,128-30,0);
   \   00DA  4F                LD      C,A
   \   00DB  C5                PUSH    BC

⌨️ 快捷键说明

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