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

📄 ap_message2.lst

📁 action mp3 devo,eki e,eikf, kdife l
💻 LST
📖 第 1 页 / 共 3 页
字号:
   \   00C5  ED42              SBC     HL,BC
   \   00C7  2003              JR      NZ,?0021
   \   00C9            ?0023:
   \   00C9            ?0022:
   \   00C9            ?0020:
    145                  {
    146                      //关背光
    147                      sKY_CloseBacklight();
   \   00C9  CD0000            CALL    LWRD sKY_CloseBacklight
   \   00CC            ?0021:
    148                  }
    149          
    150                  if(g_sleep_time != 0 && g_rtc_counter == g_sleep_time) //睡眠
   \   00CC  2A0100            LD      HL,(g_sleep_time)
   \   00CF  7D                LD      A,L
   \   00D0  B4                OR      H
   \   00D1  280D              JR      Z,?0025
   \   00D3  ED4B0500          LD      BC,(g_rtc_counter)
   \   00D7  ED42              SBC     HL,BC
   \   00D9  2005              JR      NZ,?0025
   \   00DB            ?0027:
   \   00DB            ?0026:
   \   00DB            ?0024:
    151                  {
    152                      return AP_MSG_SLEEP;
   \   00DB  2E1F              LD      L,31
    153                  }
   \   00DD  C36C01            JP      LWRD ?0048
   \   00E0            ?0025:
    154          
    155                  if(g_standby_time != 0 && g_rtc_counter == g_standby_time) //自动关机
   \   00E0  2A0300            LD      HL,(g_standby_time)
   \   00E3  7D                LD      A,L
   \   00E4  B4                OR      H
   \   00E5  280C              JR      Z,?0029
   \   00E7  ED4B0500          LD      BC,(g_rtc_counter)
   \   00EB  ED42              SBC     HL,BC
   \   00ED  2004              JR      NZ,?0029
   \   00EF            ?0031:
   \   00EF            ?0030:
   \   00EF            ?0028:
    156                  {
    157                      return AP_MSG_STANDBY;
   \   00EF  2E1D              LD      L,29
    158                  }
   \   00F1  1879              JR      ?0048
   \   00F3            ?0029:
    159          
    160                  if( (g_rtc_counter % 16) == 0 )
   \   00F3  2A0500            LD      HL,(g_rtc_counter)
   \   00F6  7D                LD      A,L
   \   00F7  E60F              AND     15
   \   00F9  2004              JR      NZ,?0033
   \   00FB            ?0032:
    161                  {
    162          
    163                      return AP_MSG_WAIT_TIMEOUT;    //8 sec timeout
   \   00FB  2E1E              LD      L,30
    164                  }
   \   00FD  186D              JR      ?0048
   \   00FF            ?0033:
    165          
    166                  if(key == MSG_RTC2HZ) key = AP_MSG_RTC;
   \   00FF  43                LD      B,E
   \   0100  05                DEC     B
   \   0101  E20A01            JP      PO,?0035
   \   0104            ?0034:
   \   0104  DD36FE1C          LD      (IX-2),28
   \   0108  185F              JR      ?0047
   \   010A            ?0035:
    167                  else key = AP_MSG_CHARGING;
   \   010A  DD36FE1B          LD      (IX-2),27
   \   010E            ?0036:
    168          
    169                  break;
   \   010E  1859              JR      ?0047
   \   0110            ?0037:
    170          
    171          
    172              case MSG_USB_STICK:        //usb plugin, 等同按键
    173                  g_rtc_counter = 0;
   \   0110  210000            LD      HL,0
   \   0113  220500            LD      (g_rtc_counter),HL
    174                  key_count = 1;
   \   0116  23                INC     HL
   \   0117  220900            LD      (?0006),HL
    175                  key = AP_MSG_USB_PLUGIN;
   \   011A  DD36FE1A          LD      (IX-2),26
    176          
    177                  //开背光
    178                  if(g_light_time != 0) sKY_OpenBacklight();
   \   011E  3A0000            LD      A,(g_light_time)
   \   0121  B7                OR      A
   \   0122  2845              JR      Z,?0047
   \   0124            ?0038:
   \   0124  1840              JR      ?0084
   \   0126            ?0039:
    179          
    180                  break;
   \   0126            ?0040:
    181          
    182          
    183              case MSG_LOW_POWER:    //low power, nmi 0.98v
    184                  DUMP("low power", 0);
    185                  key = AP_MSG_LOW_POWER;
   \   0126  DD36FE1F          LD      (IX-2),31
    186                  break;
   \   012A  183D              JR      ?0047
   \   012C            ?0041:
    187          
    188          
    189              case Msg_KeyNull:        //没有按键
    190              case MSG_USB_UNSTICK:    //ap 不识别的消息
    191              case Msg_KeyUnHold:
    192                  key = AP_KEY_NULL;
   \   012C  DD36FE00          LD      (IX-2),0
    193                  break;
   \   0130  1837              JR      ?0047
   \   0132            ?0042:
    194          
    195          
    196              case Msg_KeyHold:
    197                  //lock 后还会有up消息
    198                  key = AP_MSG_LOCK;
    199                  g_rtc_counter = 0;
   \   0132  210000            LD      HL,0
   \   0135  220500            LD      (g_rtc_counter),HL
    200                  key_count = 1;
   \   0138  23                INC     HL
   \   0139  220900            LD      (?0006),HL
    201                  key_value = key;
   \   013C  3E19              LD      A,25
   \   013E  320B00            LD      (?0007),A
   \   0141            ?0085:
   \   0141  DD77FE            LD      (IX-2),A
    202          
    203                  break;
   \   0144  1823              JR      ?0047
   \   0146            ?0043:
    204          
    205              case MSG_SD_IN:/*插卡状态*/
    206                  key = AP_MSG_SD_IN;
   \   0146  DD36FE38          LD      (IX-2),56
    207                  break;
   \   014A  181D              JR      ?0047
   \   014C            ?0044:
    208          
    209              case MSG_SD_OUT:/*拨卡状态*/
    210                  key = AP_MSG_SD_OUT;
   \   014C  DD36FE37          LD      (IX-2),55
    211                  break;
   \   0150  1817              JR      ?0047
   \   0152            ?0045:
    212          
    213              default:            //新的按键
    214                  g_rtc_counter = 0;
   \   0152  210000            LD      HL,0
   \   0155  220500            LD      (g_rtc_counter),HL
    215                  key_count = 1;
   \   0158  23                INC     HL
   \   0159  220900            LD      (?0006),HL
    216                  key_value = key;
   \   015C  7B                LD      A,E
   \   015D  320B00            LD      (?0007),A
    217          
    218                  //开背光
    219                  if(g_light_time != 0) sKY_OpenBacklight();
   \   0160  3A0000            LD      A,(g_light_time)
   \   0163  B7                OR      A
   \   0164  2803              JR      Z,?0047
   \   0166            ?0046:
   \   0166            ?0084:
   \   0166  CD0000            CALL    LWRD sKY_OpenBacklight
   \   0169            ?0047:
   \   0169            ?0017:
    220          
    221              } //switch()
    222              return key;
   \   0169  DD6EFE            LD      L,(IX-2)
    223          }
   \   016C            ?0048:
   \   016C  DDF9              LD      SP,IX
   \   016E  DDE1              POP     IX
   \   0170  C1                POP     BC
   \   0171  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0174            ap_set_event:
    224          /*
    225          void ap_send_message(char message)
    226          {
    227              g_ap_message_index++;
    228          
    229              //check if exeeds tail
    230              if( g_ap_message_index >= sizeof(g_ap_message)) g_ap_message_index = 0;
    231          
    232              g_ap_message[g_ap_message_index] = message;
    233          }
    234          
    235          void ap_clear_message(void)
    236          {
    237              BYTE i;
    238          
    239              for(i=0; i<sizeof(g_ap_message); i++) g_ap_message[i] = 0;
    240          }
    241          */
    242          
    243          /*
    244          ********************************************************************************
    245          * Description : 设置事件发生标志
    246          *
    247          * Arguments   : event, 事件集合
    248          *
    249          * Returns     :
    250          *
    251          * Notes       :
    252          *
    253          ********************************************************************************
    254          */
    255          void ap_set_event(WORD event)
    256          {
   \   0174  C5                PUSH    BC
   \   0175  D5                PUSH    DE
   \   0176  4B                LD      C,E
   \   0177  42                LD      B,D
   \   0178  210700            LD      HL,g_ap_event
   \   017B  7E                LD      A,(HL)
   \   017C  B1                OR      C
   \   017D  77                LD      (HL),A
   \   017E  23                INC     HL
   \   017F  7E                LD      A,(HL)
   \   0180  B0                OR      B
   \   0181  77                LD      (HL),A
    257              g_ap_event |= event;
    258          }
   \   0182  E1                POP     HL
   \   0183  C1                POP     BC
   \   0184  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0187            ap_get_event:
    259          
    260          /*
    261          ********************************************************************************
    262          * Description : 检测事件是否发生
    263          *
    264          * Arguments   : event, 需要检测的事件集合
    265                  condition:
    266                      AP_EVENT_ALL:    所有事件发生,返回event,否则返回0
    267                      AP_EVENT_ANY:    任意事件发生,返回event,否则返回0
    268          * Returns     : event 按照 condition 指定的条件发生,返回系统事件的集合
    269                  不满足条件, 返回0
    270          *
    271          * Notes       :
    272          *
    273          ********************************************************************************
    274          */
    275          WORD ap_get_event(WORD event, WORD condition)
    276          {
   \   0187  FDE5              PUSH    IY
   \   0189  DDE5              PUSH    IX
   \   018B  D5                PUSH    DE
   \   018C  DDE1              POP     IX
   \   018E  C5                PUSH    BC
   \   018F  FDE1              POP     IY
    277              if(condition == AP_EVENT_ALL)
   \   0191  79                LD      A,C
   \   0192  A0                AND     B
   \   0193  3C                INC     A
   \   0194  2013              JR      NZ,?0050
   \   0196            ?0049:
    278              {
    279                  if( (g_ap_event & event) == event) return g_ap_event;
   \   0196  2A0700            LD      HL,(g_ap_event)
   \   0199  DDE5              PUSH    IX
   \   019B  C1                POP     BC
   \   019C  7D                LD      A,L
   \   019D  A1                AND     C
   \   019E  5F                LD      E,A
   \   019F  7C                LD      A,H
   \   01A0  A0                AND     B
   \   01A1  57                LD      D,A
   \   01A2  EB                EX      DE,HL
   \   01A3  ED42              SBC     HL,BC
   \   01A5  201C              JR      NZ,?0054
   \   01A7            ?0051:
   \   01A7  1815              JR      ?0091
   \   01A9            ?0052:
    280                  else return 0;
    281              }
   \   01A9            ?0050:
    282              else if(condition == AP_EVENT_ANY)
   \   01A9  FDE5              PUSH    IY
   \   01AB  E1                POP     HL
   \   01AC  7D                LD      A,L
   \   01AD  B4                OR      H
   \   01AE  2013              JR      NZ,?0054
   \   01B0            ?0053:
    283              {
    284                  if( (g_ap_event & event) != 0) return g_ap_event;
   \   01B0  2A0700            LD      HL,(g_ap_event)
   \   01B3  DDE5              PUSH    IX
   \   01B5  C1                POP     BC
   \   01B6  7D                LD      A,L
   \   01B7  A1                AND     C
   \   01B8  57                LD      D,A
   \   01B9  7C                LD      A,H
   \   01BA  A0                AND     B
   \   01BB  B2                OR      D
   \   01BC  2805              JR      Z,?0054

⌨️ 快捷键说明

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