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

📄 ui_slider.lst

📁 5807收音机模块用于炬力平台
💻 LST
📖 第 1 页 / 共 3 页
字号:
   \   02E7  43                DEFB    67
   \   02E8  44                DEFB    68
   \   02E9  45                DEFB    69
   \   02EA  46                DEFB    70
   \   02EB  9B03              DEFW    ?0050
   \   02ED  0303              DEFW    ?0034
   \   02EF  4703              DEFW    ?0040
   \   02F1  0303              DEFW    ?0034
   \   02F3  4703              DEFW    ?0040
   \   02F5  A503              DEFW    ?0069
   \   02F7  A503              DEFW    ?0069
   \   02F9  8F03              DEFW    ?0047
   \   02FB  0303              DEFW    ?0034
   \   02FD  4703              DEFW    ?0040
   \   02FF  0303              DEFW    ?0034
   \   0301  4703              DEFW    ?0040
   \   0303            ?0034:
    157                  {
    158                  case AP_KEY_NEXT:
    159                  case AP_KEY_VOLADD:
    160                 case AP_KEY_NEXT | AP_KEY_HOLD:
    161                  case AP_KEY_VOLADD | AP_KEY_HOLD:
    162                      if((slider->value + slider->step) <= slider->max)
   \   0303  FD6E06            LD      L,(IY+6)
   \   0306  FD6607            LD      H,(IY+7)
   \   0309  FD4E04            LD      C,(IY+4)
   \   030C  FD4605            LD      B,(IY+5)
   \   030F  09                ADD     HL,BC
   \   0310  4D                LD      C,L
   \   0311  44                LD      B,H
   \   0312  FD6E02            LD      L,(IY+2)
   \   0315  FD6603            LD      H,(IY+3)
   \   0318  F680              OR      128
   \   031A  ED42              SBC     HL,BC
   \   031C  E22003            JP      PO,?0063
   \   031F  AC                XOR     H
   \   0320            ?0063:
   \   0320  FA3D03            JP      M,?0036
   \   0323            ?0035:
    163                      {
    164                          slider->value += slider->step;
   \   0323  210400            LD      HL,4
   \   0326  FDE5              PUSH    IY
   \   0328  C1                POP     BC
   \   0329  09                ADD     HL,BC
   \   032A  7E                LD      A,(HL)
   \   032B  FD8606            ADD     A,(IY+6)
   \   032E  77                LD      (HL),A
   \   032F  23                INC     HL
   \   0330  7E                LD      A,(HL)
   \   0331  FD8E07            ADC     A,(IY+7)
   \   0334  77                LD      (HL),A
    165                          value_changed = TRUE;
    166                          need_draw = TRUE;
   \   0335  DD36F301          LD      (IX-13),1
   \   0339  DD36F401          LD      (IX-12),1
   \   033D            ?0036:
   \   033D            ?0038:
    167                      }
    168                      while(ap_get_message() != NULL);  /*clear message pool */
   \   033D  CD0000            CALL    LWRD ap_get_message
   \   0340  B7                OR      A
   \   0341  287A              JR      Z,?0054
   \   0343            ?0039:
    169                      break;
   \   0343  18F8              JR      ?0036
   \   0345            ?0037:
   \   0345  1876              JR      ?0054
   \   0347            ?0040:
    170          
    171                      
    172                  case AP_KEY_PREV:
    173                  case AP_KEY_VOLSUB:
    174                  case AP_KEY_PREV | AP_KEY_HOLD:
    175                  case AP_KEY_VOLSUB | AP_KEY_HOLD:
    176                      if((slider->value - slider->step) >= slider->min)
   \   0347  FD4E00            LD      C,(IY+0)
   \   034A  FD4601            LD      B,(IY+1)
   \   034D  FD5E06            LD      E,(IY+6)
   \   0350  FD5607            LD      D,(IY+7)
   \   0353  FD6E04            LD      L,(IY+4)
   \   0356  FD6605            LD      H,(IY+5)
   \   0359  A7                AND     A
   \   035A  ED52              SBC     HL,DE
   \   035C  F680              OR      128
   \   035E  ED42              SBC     HL,BC
   \   0360  E26403            JP      PO,?0064
   \   0363  AC                XOR     H
   \   0364            ?0064:
   \   0364  FA8103            JP      M,?0042
   \   0367            ?0041:
    177                      {
    178                          slider->value -= slider->step;
   \   0367  210400            LD      HL,4
   \   036A  FDE5              PUSH    IY
   \   036C  C1                POP     BC
   \   036D  09                ADD     HL,BC
   \   036E  7E                LD      A,(HL)
   \   036F  FD9606            SUB     (IY+6)
   \   0372  77                LD      (HL),A
   \   0373  23                INC     HL
   \   0374  7E                LD      A,(HL)
   \   0375  FD9E07            SBC     A,(IY+7)
   \   0378  77                LD      (HL),A
    179                          value_changed = TRUE;
    180                          need_draw = TRUE;
   \   0379  DD36F301          LD      (IX-13),1
   \   037D  DD36F401          LD      (IX-12),1
   \   0381            ?0042:
   \   0381            ?0044:
    181                      }
    182                      while(ap_get_message() != NULL);  /*clear message pool */
   \   0381  CD0000            CALL    LWRD ap_get_message
   \   0384  B7                OR      A
   \   0385  2836              JR      Z,?0054
   \   0387            ?0045:
    183                      break;
   \   0387  18F8              JR      ?0042
   \   0389            ?0043:
   \   0389  1832              JR      ?0054
   \   038B            ?0046:
    184          
    185          //        //hold 用来控制加速开关
    186          //        case AP_KEY_NEXT | AP_KEY_HOLD:
    187          //        case AP_KEY_VOLADD | AP_KEY_HOLD:
    188          //            if(hold_state == 0) hold_state = 1;
    189          //
    190          //            break;
    191          
    192          //
    193          //        case AP_KEY_PREV | AP_KEY_HOLD:
    194          //        case AP_KEY_VOLSUB | AP_KEY_HOLD:
    195          //            if(hold_state == 0) hold_state = 2;
    196          //            
    197          //            break;
    198          //            
    199          
    200          //        case AP_KEY_NEXT | AP_KEY_UP:
    201          //        case AP_KEY_VOLADD | AP_KEY_UP:
    202          //        case AP_KEY_PREV | AP_KEY_UP:
    203          //        case AP_KEY_VOLSUB | AP_KEY_UP:
    204          //            hold_state = 0;
    205          //            
    206          //            break;
    207                      
    208                      
    209                  case AP_KEY_MODE | AP_KEY_UP:
    210                  case AP_KEY_PLAY | AP_KEY_UP:
    211                      return 0;        //ok and return
   \   038B  1818              JR      ?0069
    212          
    213                      
    214                  case AP_MSG_WAIT_TIMEOUT:
   \   038D  1824              JR      ?0059
   \   038F            ?0047:
    215                      if(ui_auto_select) return 0;
   \   038F  3A0000            LD      A,(ui_auto_select)
   \   0392  B7                OR      A
   \   0393  2828              JR      Z,?0054
   \   0395            ?0048:
   \   0395  180E              JR      ?0069
    216                  
    217                      break;
   \   0397  181A              JR      ?0059
   \   0399            ?0049:
   \   0399  1822              JR      ?0054
   \   039B            ?0050:
    218          
    219                      
    220                  default:
    221                      key = ap_handle_hotkey(key);
   \   039B  CD0000            CALL    LWRD ap_handle_hotkey
   \   039E  DD77F2            LD      (IX-14),A
    222                      if(key == RESULT_REDRAW) //need_draw = TRUE;
   \   03A1  FE2E              CP      46
   \   03A3  2005              JR      NZ,?0052
   \   03A5            ?0051:
    223                      {
    224                          //直接退出,因为控件不能重画背景
    225                          return 0;
   \   03A5            ?0069:
   \   03A5  210000            LD      HL,0
    226                      }
   \   03A8  1809              JR      ?0059
   \   03AA            ?0052:
    227                      else if(key != 0) return key;
   \   03AA  AF                XOR     A
   \   03AB  DDB6F2            OR      (IX-14)
   \   03AE  280D              JR      Z,?0054
   \   03B0            ?0053:
   \   03B0  6F                LD      L,A
   \   03B1  2600              LD      H,0
    228                  }
   \   03B3            ?0059:
   \   03B3  DDF9              LD      SP,IX
   \   03B5  DDE1              POP     IX
   \   03B7  FDE1              POP     IY
   \   03B9  C1                POP     BC
   \   03BA  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   03BD            ?0054:
   \   03BD            ?0033:
    229                  //ASSERT(slider->value <= slider->max);
    230                  //ASSERT(slider->value >= slider->min);
    231          //
    232          //        //check if holding
    233          //        if(hold_state == 1)        //holding up
    234          //        {
    235          //            if((slider->value + slider->step) <= slider->max)
    236          //            {
    237          //                slider->value += slider->step;
    238          //                value_changed = TRUE;
    239          //                need_draw = TRUE;
    240          // 
    241          //                while(key != NULL)
    242          //                {
    243          //                    if((key & AP_KEY_UP) != NULL)
    244          //                        hold_state = 0;
    245          //                    key = ap_get_message();
    246          //                }       
    247          //            }
    248          //            else
    249          //            {
    250          //                              hold_state = 0;    //disable holding
    251          //                              slider->value=slider->max;
    252          //            }
    253          //        }
    254          //        else if(hold_state == 2)    //holding down
    255          //        {
    256          //            if((slider->value - slider->step) >= slider->min)
    257          //            {
    258          //                slider->value -= slider->step;
    259          //                value_changed = TRUE;
    260          //                need_draw = TRUE;
    261          // 
    262          //                while(key != NULL)
    263          //                { 
    264          //                    if((key & AP_KEY_UP) != NULL)
    265          //                        hold_state = 0; 
    266          //                    key = ap_get_message();
    267          //                }
    268          //            }
    269          //            else
    270          //                      {
    271          //                              hold_state = 0;    //disable holding  
    272          //                              slider->value=slider->min;
    273          //            }
    274          //        }
    275                  //handle callback
    276                  if(callback != NULL && value_changed)
   \   03BD  DD7E0A            LD      A,(IX+10)
   \   03C0  DDB60B            OR      (IX+11)
   \   03C3  DDB60C            OR      (IX+12)
   \   03C6  CAD900            JP      Z,?0010
   \   03C9  AF                XOR     A
   \   03CA  DDB6F3            OR      (IX-13)
   \   03CD  CAD900            JP      Z,?0010
   \   03D0            ?0058:
   \   03D0            ?0057:
   \   03D0            ?0055:
    277                  {
    278                      callback(slider->value);
   \   03D0  FD5E04            LD      E,(IY+4)
   \   03D3  FD5605            LD      D,(IY+5)
   \   03D6  DD7E0C            LD      A,(IX+12)
   \   03D9  DD6E0A            LD      L,(IX+10)
   \   03DC  DD660B            LD      H,(IX+11)
   \   03DF  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    279                      value_changed = FALSE;
   \   03E2  DD36F300          LD      (IX-13),0
   \   03E6            ?0056:
    280                  }
    281                  
    282              }//while(1)
    283              //return 0;
    284          }
   \   03E6  C3D900            JP      LWRD ?0010
    285          
    286          
   \   0000                    RSEG    CONST
   \   0000            ?0007:
   \   0000  00                DEFB    0
   \   0001  10                DEFB    16
   \   0002  80                DEFB    128
   \   0003  10                DEFB    16
   \   0004            ?0008:
   \   0004  2C                DEFB    ','
   \   0005  08                DEFB    8
   \   0006  28                DEFB    '('
   \   0007  08                DEFB    8
   \   0008                    END

Errors: none
Warnings: none
Code size: 1001
Constant size: 8
Static variable size: Data(0) Iram(0)

⌨️ 快捷键说明

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