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

📄 searchhandle.lst

📁 5807收音机模块用于炬力平台
💻 LST
📖 第 1 页 / 共 3 页
字号:
     74                      case AP_KEY_NEXT | AP_KEY_UP: //NEXT搜索时按NEXT键,停止搜索
     75                      if (Searchflag == 1)
   \   00E0  68                LD      L,B
   \   00E1  60                LD      H,B
   \   00E2  39                ADD     HL,SP
   \   00E3  46                LD      B,(HL)
   \   00E4  05                DEC     B
   \   00E5  281D              JR      Z,?0110
   \   00E7            ?0044:
     76                      {
     77                          Searchflag = 0;
   \   00E7            ?0045:
     78                      }
     79                      else if (Direct == 10)
   \   00E7  7A                LD      A,D
   \   00E8  FE0A              CP      10
   \   00EA  C20E00            JP      NZ,?0003
   \   00ED            ?0047:
     80                      {
     81                          Direct = 50;
   \   00ED  1632              LD      D,50
     82                             if(FMStatus.volume)
   \   00EF  3A0600            LD      A,(FMStatus+6)
   \   00F2  B7                OR      A
   \   00F3  CA0E00            JP      Z,?0003
   \   00F6            ?0049:
     83                          fmSendCommand(MC_MUTE, releaseMUTE);
   \   00F6  181F              JR      ?0108
   \   00F8            ?0050:
   \   00F8            ?0048:
   \   00F8            ?0046:
     84                      }
     85                      break;
   \   00F8            ?0051:
   \   00F8  3E25              LD      A,37
   \   00FA  A9                XOR     C
   \   00FB  2022              JR      NZ,?0059
     86                      case AP_KEY_PREV | AP_KEY_UP: //LAST搜索时按LAST键,停止搜索
     87                      if (Searchflag == 1)
   \   00FD  68                LD      L,B
   \   00FE  60                LD      H,B
   \   00FF  39                ADD     HL,SP
   \   0100  46                LD      B,(HL)
   \   0101  05                DEC     B
   \   0102  2004              JR      NZ,?0053
   \   0104            ?0052:
     88                      {
     89                          Searchflag = 0;
   \   0104            ?0110:
   \   0104  70                LD      (HL),B
   \   0105  C30E00            JP      LWRD ?0003
   \   0108            ?0053:
     90                      }
     91                      else if (Direct == 20)
   \   0108  7A                LD      A,D
   \   0109  FE14              CP      20
   \   010B  C20E00            JP      NZ,?0003
   \   010E            ?0055:
     92                      {
     93                          Direct = 50;
   \   010E  1632              LD      D,50
     94                              if(FMStatus.volume)
   \   0110  3A0600            LD      A,(FMStatus+6)
   \   0113  B7                OR      A
   \   0114  CA0E00            JP      Z,?0003
   \   0117            ?0057:
     95                          fmSendCommand(MC_MUTE, releaseMUTE);
   \   0117            ?0108:
   \   0117  D5                PUSH    DE
   \   0118  CD4901            CALL    LWRD ?0127
   \   011B  D1                POP     DE
   \   011C            ?0058:
   \   011C            ?0056:
   \   011C            ?0054:
     96                      }
     97                      break;
   \   011C  C30E00            JP      LWRD ?0003
   \   011F            ?0059:
     98                      default: //热键处理
     99                      key = ap_handle_hotkey(key);
   \   011F  D5                PUSH    DE
   \   0120  DDE5              PUSH    IX
   \   0122  E1                POP     HL
   \   0123  5D                LD      E,L
   \   0124  CD0000            CALL    LWRD ap_handle_hotkey
   \   0127  4F                LD      C,A
   \   0128  C5                PUSH    BC
   \   0129  DDE1              POP     IX
   \   012B  D1                POP     DE
    100                      if (key == RESULT_REDRAW)
   \   012C  3E2E              LD      A,46
   \   012E  A9                XOR     C
   \   012F  2009              JR      NZ,?0061
   \   0131            ?0060:
    101                          need_draw = TRUE;
   \   0131  210100            LD      HL,1
   \   0134  39                ADD     HL,SP
   \   0135  3601              LD      (HL),1
   \   0137  C30E00            JP      LWRD ?0003
   \   013A            ?0061:
    102                      else if (key != 0)
   \   013A  DDE5              PUSH    IX
   \   013C  E1                POP     HL
   \   013D  7D                LD      A,L
   \   013E  B4                OR      H
   \   013F  CA0E00            JP      Z,?0003
   \   0142            ?0063:
    103                      {
    104                          return key;
    105                      }
   \   0142            ?0065:
   \   0142  F1                POP     AF
   \   0143  DDE1              POP     IX
   \   0145  C1                POP     BC
   \   0146  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0149            ?0127:
   \   0149  010000            LD      BC,0
   \   014C            ?0128:
   \   014C  1E0C              LD      E,12
   \   014E            ?0129:
   \   014E  3E00              LD      A,BYTE3 fmSendCommand
   \   0150  210000            LD      HL,LWRD fmSendCommand
   \   0153  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0156            ?0064:
   \   0156            ?0062:
   \   0156            ?0041:
    106                  }
    107              }
    108          }
   \   0156            Search_Show:
    109          
    110          bool Search_Show(FM_direct_t Direct)
    111          {
   \   0156  C5                PUSH    BC
   \   0157  DDE5              PUSH    IX
   \   0159  D5                PUSH    DE
   \   015A  F5                PUSH    AF
    112              bool Search_Flag;
    113              int i;
    114              FMStatus.stereo_status = 1;
   \   015B  3E01              LD      A,1
   \   015D  320700            LD      (FMStatus+7),A
    115              FMStatus.station = 0;
   \   0160  AF                XOR     A
   \   0161  320300            LD      (FMStatus+3),A
    116              fmSendCommand(MC_MUTE, SetMUTE);
   \   0164  010100            LD      BC,1
   \   0167  CD4C01            CALL    LWRD ?0128
    117              fmSendCommand(MC_SETVOLUME, FMStatus.volume);
   \   016A  ED4B0600          LD      BC,(FMStatus+6)
   \   016E  0600              LD      B,0
   \   0170  1E40              LD      E,64
   \   0172  CD4E01            CALL    LWRD ?0129
    118              fmSendCommand(MC_RESTORE, (int) &radio_param);
   \   0175  010000            LD      BC,radio_param
   \   0178  1E45              LD      E,69
   \   017A  CD4E01            CALL    LWRD ?0129
    119              Search_Flag = fmSendCommand(MC_SEARCH, Direct);
   \   017D  210200            LD      HL,2
   \   0180  39                ADD     HL,SP
   \   0181  4E                LD      C,(HL)
   \   0182  0600              LD      B,0
   \   0184  1E0A              LD      E,10
   \   0186  CD4E01            CALL    LWRD ?0129
   \   0189  E5                PUSH    HL
   \   018A  210200            LD      HL,2
   \   018D  39                ADD     HL,SP
   \   018E  C1                POP     BC
   \   018F  71                LD      (HL),C
    120              if (Search_Flag) //搜台成功后,MUTE释放
   \   0190  AF                XOR     A
   \   0191  B1                OR      C
   \   0192  280B              JR      Z,?0067
   \   0194            ?0066:
    121              {
    122                  fmSendCommand(MC_MUTE, releaseMUTE);
   \   0194  CD4901            CALL    LWRD ?0127
    123                  fmSendCommand(MC_GETSTATUS, (int) &FMStatus);
   \   0197  010000            LD      BC,FMStatus
   \   019A  1E83              LD      E,131
   \   019C  CD4E01            CALL    LWRD ?0129
   \   019F            ?0067:
    124              }
    125              ShowFreqInFM();
   \   019F  3E00              LD      A,BYTE3 ShowFreqInFM
   \   01A1  21CA01            LD      HL,LWRD ShowFreqInFM
   \   01A4  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    126              for (i = 0; i < 0x3999; i++)
   \   01A7  DD210000          LD      IX,0
   \   01AB            ?0069:
   \   01AB  0199B9            LD      BC,47513
   \   01AE  DDE5              PUSH    IX
   \   01B0  E1                POP     HL
   \   01B1  3E80              LD      A,128
   \   01B3  AC                XOR     H
   \   01B4  67                LD      H,A
   \   01B5  ED42              SBC     HL,BC
   \   01B7  3004              JR      NC,?0068
   \   01B9            ?0070:
   \   01B9  DD23              INC     IX
   \   01BB  18EE              JR      ?0069
   \   01BD            ?0068:
    127              {
    128              }
    129              return Search_Flag;
   \   01BD  210000            LD      HL,0
   \   01C0  39                ADD     HL,SP
   \   01C1  6E                LD      L,(HL)
    130          }
   \   01C2  F1                POP     AF
   \   01C3  F1                POP     AF
   \   01C4  DDE1              POP     IX
   \   01C6  C1                POP     BC
   \   01C7  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   01CA            ShowFreqInFM:
    131          
    132          void ShowFreqInFM(void)
    133          {
   \   01CA  C5                PUSH    BC
   \   01CB  D5                PUSH    DE
   \   01CC  FDE5              PUSH    IY
   \   01CE  DDE5              PUSH    IX
   \   01D0  DD210000          LD      IX,0
   \   01D4  DD39              ADD     IX,SP
   \   01D6  21EEFF            LD      HL,65518
   \   01D9  39                ADD     HL,SP
   \   01DA  F9                LD      SP,HL
    134              char buf[4] =
    135              { "FM" };
   \   01DB  EB                EX      DE,HL
   \   01DC  210000            LD      HL,?0072
   \   01DF  010400            LD      BC,4
   \   01E2  EDB0              LDIR
    136              long i;
    137              int k, h;
    138              char FMTab[7];
    139          
    140              ClearScreen(NULL);
   \   01E4  59                LD      E,C
   \   01E5  50                LD      D,B
   \   01E6  CD0000            CALL    LWRD ClearScreen
    141              SetTextPos(128 / 2 - 6 * 3, 0);
   \   01E9  1E2E              LD      E,46
   \   01EB  CD0000            CALL    LWRD SetTextPos
    142              if ((FMStatus.station_count > 0) && (FMStatus.station > 0)) //显示电台号
   \   01EE  3A0400            LD      A,(FMStatus+4)
   \   01F1  B7                OR      A
   \   01F2  284C              JR      Z,?0074
   \   01F4  3A0300            LD      A,(FMStatus+3)
   \   01F7  B7                OR      A
   \   01F8  2846              JR      Z,?0074
   \   01FA            ?0076:
   \   01FA            ?0075:
   \   01FA            ?0073:
    143              {
    144                  strcpy(FMTab, "[");
   \   01FA  110000            LD      DE,?0077
   \   01FD  210400            LD      HL,4
   \   0200  39                ADD     HL,SP
   \   0201  CD0000            CALL    LWRD ?STRCPY_L11
    145                  strcat(FMTab, "CH");
   \   0204  110200            LD      DE,?0078
   \   0207  210400            LD      HL,4
   \   020A  39                ADD     HL,SP
   \   020B  CD0000            CALL    LWRD ?STRCAT_L11
    146                  *itoa_2(FMStatus.station, buf);
   \   020E  210000            LD      HL,0
   \   0211  39                ADD     HL,SP
   \   0212  4D                LD      C,L
   \   0213  44                LD      B,H
   \   0214  ED5B0300          LD      DE,(FMStatus+3)
   \   0218  3E00              LD      A,BYTE3 itoa_2
   \   021A  210000            LD      HL,LWRD itoa_2
   \   021D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    147                  strcat(FMTab, buf);
   \   0220  210000            LD      HL,0
   \   0223  39                ADD     HL,SP
   \   0224  EB                EX      DE,HL
   \   0225  210400            LD      HL,4
   \   0228  39                ADD     HL,SP
   \   0229  CD0000            CALL    LWRD ?STRCAT_L11
    148                  strcat(FMTab, "]");
   \   022C  110500            LD      DE,?0079
   \   022F  210400            LD      HL,4
   \   0232  39                ADD     HL,SP
   \   0233  CD0000            CALL    LWRD ?STRCAT_L11
    149                  PutS(FMTab, -1);
   \   0236  0EFF              LD      C,255
   \   0238  210400            LD      HL,4
   \   023B  39                ADD     HL,SP
   \   023C  EB                EX      DE,HL
   \   023D  CD0000            CALL    LWRD PutS

⌨️ 快捷键说明

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