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

📄 basal_fmradio.lst

📁 5807收音机模块用于炬力平台
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   00C7  3E01              LD      A,1
   \   00C9  1859              JR      ?0129
   \   00CB            ?0019:
     85                      }
     86                      break;
   \   00CB            ?0020:
   \   00CB  79                LD      A,C
   \   00CC  B0                OR      B
   \   00CD  2058              JR      NZ,?0032
     87                      case DOWN: //找到上一电台频率
     88                      if (m_FMPlaystatus.station == 1)
   \   00CF  3A2B00            LD      A,(m_FMPlaystatus+3)
   \   00D2  3D                DEC     A
   \   00D3  2007              JR      NZ,?0022
   \   00D5            ?0021:
     89                          m_FMPlaystatus.station = m_FMPlaystatus.station_count + 1;
   \   00D5  3A2C00            LD      A,(m_FMPlaystatus+4)
   \   00D8  3C                INC     A
   \   00D9  322B00            LD      (m_FMPlaystatus+3),A
   \   00DC            ?0022:
     90                      m_FMPlaystatus.station--;
   \   00DC  212B00            LD      HL,m_FMPlaystatus+3
   \   00DF  35                DEC     (HL)
     91                      for (i = 0; i < 20; i++)
   \   00E0  FD210000          LD      IY,0
   \   00E4            ?0024:
   \   00E4  011480            LD      BC,32788
   \   00E7  FDE5              PUSH    IY
   \   00E9  E1                POP     HL
   \   00EA  78                LD      A,B
   \   00EB  AC                XOR     H
   \   00EC  67                LD      H,A
   \   00ED  ED42              SBC     HL,BC
   \   00EF  301E              JR      NC,?0023
   \   00F1            ?0025:
     92                      {
     93                          if (m_FMStationTab[i] != 0)
   \   00F1  FDE5              PUSH    IY
   \   00F3  E1                POP     HL
   \   00F4  29                ADD     HL,HL
   \   00F5  010000            LD      BC,m_FMStationTab
   \   00F8  09                ADD     HL,BC
   \   00F9  7E                LD      A,(HL)
   \   00FA  23                INC     HL
   \   00FB  B6                OR      (HL)
   \   00FC  280D              JR      Z,?0030
   \   00FE            ?0027:
     94                          {
     95                              k++;
   \   00FE  DD34F8            INC     (IX-8)
     96                              if (k == m_FMPlaystatus.station)
   \   0101  3A2B00            LD      A,(m_FMPlaystatus+3)
   \   0104  47                LD      B,A
   \   0105  DD7EF8            LD      A,(IX-8)
   \   0108  B8                CP      B
   \   0109  2804              JR      Z,?0023
   \   010B            ?0029:
     97                                  break;
   \   010B            ?0030:
   \   010B            ?0028:
   \   010B  FD23              INC     IY
   \   010D  18D5              JR      ?0024
   \   010F            ?0023:
     98                          }
     99                      }
    100                      if (i >= 20) // 如没有找到电台,重新设置电台数
   \   010F  011480            LD      BC,32788
   \   0112  FDE5              PUSH    IY
   \   0114  E1                POP     HL
   \   0115  78                LD      A,B
   \   0116  AC                XOR     H
   \   0117  67                LD      H,A
   \   0118  ED42              SBC     HL,BC
   \   011A  380B              JR      C,?0032
   \   011C            ?0031:
    101                      {
    102                          m_FMPlaystatus.station = m_FMPlaystatus.station_count = k + 1;
   \   011C  DD46F8            LD      B,(IX-8)
   \   011F  04                INC     B
   \   0120  78                LD      A,B
   \   0121  322C00            LD      (m_FMPlaystatus+4),A
   \   0124            ?0129:
   \   0124  322B00            LD      (m_FMPlaystatus+3),A
   \   0127            ?0032:
    103                      }
    104                      break;
   \   0127            ?0033:
    105                      default:
    106                      break;
   \   0127            ?0006:
    107                  }
    108                      m_FMPlaystatus.freq = m_FMStationTab[i];
   \   0127  FDE5              PUSH    IY
   \   0129  E1                POP     HL
   \   012A  29                ADD     HL,HL
   \   012B  010000            LD      BC,m_FMStationTab
   \   012E  09                ADD     HL,BC
   \   012F  46                LD      B,(HL)
   \   0130  23                INC     HL
   \   0131  66                LD      H,(HL)
   \   0132  68                LD      L,B
   \   0133  1851              JR      ?0118
    109                  BankSwitch(address_24_of(FM_SetFreq) >> 16);
    110                     Tempfreq = (m_FMPlaystatus.freq<<6) + 0x0010;
    111                     FM_SetFreq(Tempfreq); 
    112                  return TRUE;
    113          
    114                  case MC_STEPGRID:
   \   0135            ?0034:
    115                  switch (param)
   \   0135  3E01              LD      A,1
   \   0137  A9                XOR     C
   \   0138  B0                OR      B
   \   0139  2028              JR      NZ,?0047
   \   013B            ?0036:
    116                  {
    117                      case UP:
    118                         if(((m_FMPlaystatus.freq+1)>210)&&(m_FMPlaystatus.mode==0))
   \   013B  ED4B2900          LD      BC,(m_FMPlaystatus+1)
   \   013F  03                INC     BC
   \   0140  21D200            LD      HL,210
   \   0143  ED42              SBC     HL,BC
   \   0145  3006              JR      NC,?0038
   \   0147  3A2D00            LD      A,(m_FMPlaystatus+5)
   \   014A  B7                OR      A
   \   014B  280E              JR      Z,?0130
   \   014D            ?0040:
   \   014D            ?0039:
   \   014D            ?0037:
    119                             m_FMPlaystatus.freq=0;
   \   014D            ?0038:
    120                         else if(((m_FMPlaystatus.freq+1)>140)&&(m_FMPlaystatus.mode==1))
   \   014D  218C00            LD      HL,140
   \   0150  A7                AND     A
   \   0151  ED42              SBC     HL,BC
   \   0153  300A              JR      NC,?0043
   \   0155  3A2D00            LD      A,(m_FMPlaystatus+5)
   \   0158  3D                DEC     A
   \   0159  2004              JR      NZ,?0043
   \   015B            ?0045:
   \   015B            ?0044:
   \   015B            ?0042:
    121                         m_FMPlaystatus.freq=0;
   \   015B            ?0130:
   \   015B  6F                LD      L,A
   \   015C  67                LD      H,A
   \   015D  1827              JR      ?0118
    122                      else
   \   015F            ?0043:
    123                         {
    124                             m_FMPlaystatus.freq += 1;
   \   015F  69                LD      L,C
   \   0160  60                LD      H,B
   \   0161  1823              JR      ?0118
   \   0163            ?0046:
   \   0163            ?0041:
    125                         }                                                            
    126                      break;
   \   0163            ?0047:
   \   0163  79                LD      A,C
   \   0164  B0                OR      B
   \   0165  2030              JR      NZ,?0057
    127                      case DOWN:
    128                         if((m_FMPlaystatus.freq == 0)&&(m_FMPlaystatus.mode==0))m_FMPlaystatus.freq=210;
   \   0167  2A2900            LD      HL,(m_FMPlaystatus+1)
   \   016A  7D                LD      A,L
   \   016B  B4                OR      H
   \   016C  200B              JR      NZ,?0049
   \   016E  3A2D00            LD      A,(m_FMPlaystatus+5)
   \   0171  B7                OR      A
   \   0172  2005              JR      NZ,?0049
   \   0174            ?0051:
   \   0174            ?0050:
   \   0174            ?0048:
   \   0174  21D200            LD      HL,210
   \   0177  180D              JR      ?0118
   \   0179            ?0049:
    129                         else if((m_FMPlaystatus.freq==0)&&(m_FMPlaystatus.mode==1))m_FMPlaystatus.freq=140;
   \   0179  7D                LD      A,L
   \   017A  B4                OR      H
   \   017B  200E              JR      NZ,?0054
   \   017D  3A2D00            LD      A,(m_FMPlaystatus+5)
   \   0180  3D                DEC     A
   \   0181  2008              JR      NZ,?0054
   \   0183            ?0056:
   \   0183            ?0055:
   \   0183            ?0053:
   \   0183  218C00            LD      HL,140
   \   0186            ?0118:
   \   0186  222900            LD      (m_FMPlaystatus+1),HL
    130                             
    131          //               if(((m_FMPlaystatus.freq-1)<0)&&
    132                         else
   \   0189  180C              JR      ?0057
   \   018B            ?0054:
    133                         {
    134                             m_FMPlaystatus.freq-=1; 
   \   018B  212900            LD      HL,m_FMPlaystatus+1
   \   018E  7E                LD      A,(HL)
   \   018F  C6FF              ADD     A,255
   \   0191  77                LD      (HL),A
   \   0192  23                INC     HL
   \   0193  7E                LD      A,(HL)
   \   0194  CEFF              ADC     A,255
   \   0196  77                LD      (HL),A
   \   0197            ?0057:
   \   0197            ?0052:
    135                          }                                                                                                                   
    136                      break;
   \   0197            ?0058:
    137                      default:
    138                      break;
   \   0197            ?0035:
    139                  }
    140                  BankSwitch(address_24_of(FM_SetFreq) >> 16);
   \   0197  210000            LD      HL,FM_SetFreq
   \   019A  0E00              LD      C,BYTE3 FM_SetFreq
   \   019C  CD0C04            CALL    LWRD ?0140
    141                    Tempfreq = (m_FMPlaystatus.freq<<6) + 0x0010;
    142                    //SetFreq = m_FMPlaystatus.freq;
    143                     FM_SetFreq(Tempfreq);                                     
   \   019F  EB                EX      DE,HL
   \   01A0  CD0000            CALL    LWRD FM_SetFreq
    144                  return TRUE;
   \   01A3  C30104            JP      LWRD ?0000
    145          
    146                  case MC_SEARCH:
   \   01A6            ?0059:
    147                  FM_MUTE(SetMUTE);
   \   01A6  1E01              LD      E,1
   \   01A8  CD0000            CALL    LWRD FM_MUTE
    148                  BankSwitch(address_24_of(FM_Search) >> 16);
   \   01AB  210000            LD      HL,FM_Search
   \   01AE  0E00              LD      C,BYTE3 FM_Search
   \   01B0  CD0C04            CALL    LWRD ?0140
    149                     Tempfreq = (m_FMPlaystatus.freq<<6) + 0x0010;
    150                     //SearchFreq = m_FMPlaystatus.freq ;
    151                     return     FM_Search(Tempfreq,param);
   \   01B3  DD4EFE            LD      C,(IX-2)
   \   01B6  EB                EX      DE,HL
   \   01B7  CD0000            CALL    LWRD FM_Search
   \   01BA            ?0126:
   \   01BA  6F                LD      L,A
    152          
    153                  case MC_SAVESTATION:
   \   01BB  C30304            JP      LWRD ?0114
   \   01BE            ?0060:
    154                  if (m_FMPlaystatus.station != 0) //当前电台在电台表中有保存的情况
   \   01BE  3A2B00            LD      A,(m_FMPlaystatus+3)
   \   01C1  B7                OR      A
   \   01C2  283F              JR      Z,?0062
   \   01C4            ?0061:
    155                  {
    156                      k = 0;
    157                      for (i = 0; i < 20; i++)

⌨️ 快捷键说明

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