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

📄 ui_slider.lst

📁 5807收音机模块用于炬力平台
💻 LST
📖 第 1 页 / 共 3 页
字号:
   \   011F  4D                LD      C,L
   \   0120  44                LD      B,H
   \   0121  CD0000            CALL    LWRD ?SS_DIV_L02
   \   0124  210E00            LD      HL,14
   \   0127  19                ADD     HL,DE
   \   0128  DD75F0            LD      (IX-16),L
   \   012B  DD74F1            LD      (IX-15),H
   \   012E  DD36E610          LD      (IX-26),16
   \   0132  DD36E700          LD      (IX-25),0
   \   0136            ?0015:
     93                      ASSERT(end < SCR_WIDTH);
     94                      //分段显示背景
     95                      while(start+SLIDER_BG_WIDTH < end)
   \   0136  210400            LD      HL,4
   \   0139  DD4EE6            LD      C,(IX-26)
   \   013C  DD46E7            LD      B,(IX-25)
   \   013F  09                ADD     HL,BC
   \   0140  DD4EF0            LD      C,(IX-16)
   \   0143  DD46F1            LD      B,(IX-15)
   \   0146  F680              OR      128
   \   0148  ED42              SBC     HL,BC
   \   014A  E24E01            JP      PO,?0060
   \   014D  AC                XOR     H
   \   014E            ?0060:
   \   014E  0E10              LD      C,16
   \   0150  C5                PUSH    BC
   \   0151  DD4EE6            LD      C,(IX-26)
   \   0154  F27101            JP      P,?0014
   \   0157            ?0016:
     96                      {
     97                          slider_ResShowPic(SBKGRD, start, 16);
   \   0157  11DB01            LD      DE,475
   \   015A  3E00              LD      A,BYTE3 slider_ResShowPic
   \   015C  210000            LD      HL,LWRD slider_ResShowPic
   \   015F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0162  F1                POP     AF
     98                          start += SLIDER_BG_WIDTH;
   \   0163  210400            LD      HL,4
   \   0166  39                ADD     HL,SP
   \   0167  7E                LD      A,(HL)
   \   0168  C604              ADD     A,4
   \   016A  77                LD      (HL),A
   \   016B  30C9              JR      NC,?0015
   \   016D  23                INC     HL
   \   016E  34                INC     (HL)
   \   016F  18C5              JR      ?0015
   \   0171            ?0014:
     99                      }
    100                      // 在背景的尽头处显示拖把
    101                      slider_ResShowPic(SSLIDER, start, 16);
   \   0171  11DE01            LD      DE,478
   \   0174  3E00              LD      A,BYTE3 slider_ResShowPic
   \   0176  210000            LD      HL,LWRD slider_ResShowPic
   \   0179  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   017C  F1                POP     AF
    102                      
    103                      //format text <-xxxx>
    104                      p = buf;
   \   017D  211400            LD      HL,20
   \   0180  39                ADD     HL,SP
    105                      *p++ = '<';
   \   0181  363C              LD      (HL),60
    106                      *p++ = '<';
   \   0183  23                INC     HL
   \   0184  23                INC     HL
   \   0185  DD75E2            LD      (IX-30),L
   \   0188  DD74E3            LD      (IX-29),H
   \   018B  2B                DEC     HL
   \   018C  363C              LD      (HL),60
    107                      if(slider->value < 0)
   \   018E  FDCB057E          BIT     7,(IY+5)
   \   0192  2824              JR      Z,?0018
   \   0194            ?0017:
    108                      {
    109                          value = -(slider->value);
   \   0194  FD4E04            LD      C,(IY+4)
   \   0197  FD4605            LD      B,(IY+5)
   \   019A  A7                AND     A
   \   019B  210000            LD      HL,0
   \   019E  ED42              SBC     HL,BC
   \   01A0  DD75E4            LD      (IX-28),L
   \   01A3  DD74E5            LD      (IX-27),H
    110                          *p++ = '-';    //显示负数
   \   01A6  DD6EE2            LD      L,(IX-30)
   \   01A9  DD66E3            LD      H,(IX-29)
   \   01AC  23                INC     HL
   \   01AD  DD75E2            LD      (IX-30),L
   \   01B0  DD74E3            LD      (IX-29),H
   \   01B3  2B                DEC     HL
   \   01B4  362D              LD      (HL),45
    111                      }
    112                      else
   \   01B6  180C              JR      ?0019
   \   01B8            ?0018:
    113                      {
    114                          value = slider->value;
   \   01B8  FD6E04            LD      L,(IY+4)
   \   01BB  DD75E4            LD      (IX-28),L
   \   01BE  FD6605            LD      H,(IY+5)
   \   01C1  DD74E5            LD      (IX-27),H
   \   01C4            ?0019:
    115                      }
    116                      
    117                      if(value >= 1000)
   \   01C4  01E803            LD      BC,1000
   \   01C7  DD6EE4            LD      L,(IX-28)
   \   01CA  DD66E5            LD      H,(IX-27)
   \   01CD  A7                AND     A
   \   01CE  ED42              SBC     HL,BC
   \   01D0  3826              JR      C,?0021
   \   01D2            ?0020:
    118                      {
    119                          itoa_4(value, p);
   \   01D2  DD4EE2            LD      C,(IX-30)
   \   01D5  DD46E3            LD      B,(IX-29)
   \   01D8  DD5EE4            LD      E,(IX-28)
   \   01DB  DD56E5            LD      D,(IX-27)
   \   01DE  3E00              LD      A,BYTE3 itoa_4
   \   01E0  210000            LD      HL,LWRD itoa_4
   \   01E3  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    120                          p += 4;
   \   01E6  210000            LD      HL,0
   \   01E9  39                ADD     HL,SP
   \   01EA  7E                LD      A,(HL)
   \   01EB  C604              ADD     A,4
   \   01ED  1862              JR      ?0070
   \   01EF  23                INC     HL
   \   01F0  1861              JR      ?0066
   \   01F2  CE00              ADC     A,0
   \   01F4  1860              JR      ?0072
   \   01F6  1871              JR      ?0062
   \   01F8            ?0021:
    121                      }
    122                      else if(value >= 100)
   \   01F8  016400            LD      BC,100
   \   01FB  DD6EE4            LD      L,(IX-28)
   \   01FE  DD66E5            LD      H,(IX-27)
   \   0201  A7                AND     A
   \   0202  ED42              SBC     HL,BC
   \   0204  3826              JR      C,?0024
   \   0206            ?0023:
    123                      {
    124                          itoa_3(value, p);
   \   0206  DD4EE2            LD      C,(IX-30)
   \   0209  DD46E3            LD      B,(IX-29)
   \   020C  DD5EE4            LD      E,(IX-28)
   \   020F  DD56E5            LD      D,(IX-27)
   \   0212  3E00              LD      A,BYTE3 itoa_3
   \   0214  210000            LD      HL,LWRD itoa_3
   \   0217  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    125                          p += 3;
   \   021A  210000            LD      HL,0
   \   021D  39                ADD     HL,SP
   \   021E  7E                LD      A,(HL)
   \   021F  C603              ADD     A,3
   \   0221  182E              JR      ?0070
   \   0223  23                INC     HL
   \   0224  182D              JR      ?0066
   \   0226  CE00              ADC     A,0
   \   0228  182C              JR      ?0072
   \   022A  183D              JR      ?0062
   \   022C            ?0024:
    126                      }
    127                      else if(value >= 10)
   \   022C  0E0A              LD      C,10
   \   022E  DD6EE4            LD      L,(IX-28)
   \   0231  DD66E5            LD      H,(IX-27)
   \   0234  A7                AND     A
   \   0235  ED42              SBC     HL,BC
   \   0237  DD4EE2            LD      C,(IX-30)
   \   023A  DD46E3            LD      B,(IX-29)
   \   023D  DD5EE4            LD      E,(IX-28)
   \   0240  3817              JR      C,?0027
   \   0242            ?0026:
    128                      {
    129                          itoa_2(value, p);
   \   0242  3E00              LD      A,BYTE3 itoa_2
   \   0244  210000            LD      HL,LWRD itoa_2
   \   0247  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    130                          p += 2;
   \   024A  210000            LD      HL,0
   \   024D  39                ADD     HL,SP
   \   024E  7E                LD      A,(HL)
   \   024F  C602              ADD     A,2
   \   0251            ?0070:
   \   0251  77                LD      (HL),A
   \   0252  23                INC     HL
   \   0253            ?0066:
   \   0253  7E                LD      A,(HL)
   \   0254  CE00              ADC     A,0
   \   0256            ?0072:
   \   0256  77                LD      (HL),A
    131                      }
    132                      else
   \   0257  1810              JR      ?0062
   \   0259            ?0027:
    133                      {
    134                          itoa_1(value, p);
   \   0259  3E00              LD      A,BYTE3 itoa_1
   \   025B  210000            LD      HL,LWRD itoa_1
   \   025E  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    135                          p++;
   \   0261  DD34E2            INC     (IX-30)
   \   0264  2003              JR      NZ,?0062
   \   0266  DD34E3            INC     (IX-29)
   \   0269            ?0062:
   \   0269            ?0028:
   \   0269            ?0025:
   \   0269            ?0022:
    136                      }
    137                      *p++ = '>';
   \   0269  DD6EE2            LD      L,(IX-30)
   \   026C  DD66E3            LD      H,(IX-29)
   \   026F  363E              LD      (HL),62
    138                      *p++ = '>';
   \   0271  23                INC     HL
   \   0272  23                INC     HL
   \   0273  DD75E2            LD      (IX-30),L
   \   0276  DD74E3            LD      (IX-29),H
   \   0279  2B                DEC     HL
   \   027A  363E              LD      (HL),62
    139                      *p = 0;
   \   027C  DD6EE2            LD      L,(IX-30)
   \   027F  DD66E3            LD      H,(IX-29)
   \   0282  3600              LD      (HL),0
    140                      
    141                      //show text <-xxxx>    
    142                      SetTextPos((SCR_WIDTH - (BYTE)get_text_width(buf)) / 2, 8);
   \   0284  0E08              LD      C,8
   \   0286  C5                PUSH    BC
   \   0287  211600            LD      HL,22
   \   028A  39                ADD     HL,SP
   \   028B  EB                EX      DE,HL
   \   028C  3E00              LD      A,BYTE3 get_text_width
   \   028E  210000            LD      HL,LWRD get_text_width
   \   0291  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0294  5D                LD      E,L
   \   0295  1600              LD      D,0
   \   0297  218000            LD      HL,128
   \   029A  A7                AND     A
   \   029B  ED52              SBC     HL,DE
   \   029D  EB                EX      DE,HL
   \   029E  010200            LD      BC,2
   \   02A1  CD0000            CALL    LWRD ?SS_DIV_L02
   \   02A4  C1                POP     BC
   \   02A5  CD0000            CALL    LWRD SetTextPos
    143                      ClearScreen(&num_region);
   \   02A8  210600            LD      HL,6
   \   02AB  39                ADD     HL,SP
   \   02AC  EB                EX      DE,HL
   \   02AD  CD0000            CALL    LWRD ClearScreen
    144                      PutS(buf, -1);
   \   02B0  0EFF              LD      C,255
   \   02B2  211400            LD      HL,20
   \   02B5  39                ADD     HL,SP
   \   02B6  EB                EX      DE,HL
   \   02B7  CD0000            CALL    LWRD PutS
    145                      if(ui_auto_update) UpdateScreen(&num_region);
   \   02BA  3A0000            LD      A,(ui_auto_update)
   \   02BD  B7                OR      A
   \   02BE  2808              JR      Z,?0030
   \   02C0            ?0029:
   \   02C0  210600            LD      HL,6
   \   02C3  39                ADD     HL,SP
   \   02C4  EB                EX      DE,HL
   \   02C5  CD0000            CALL    LWRD UpdateScreen
   \   02C8            ?0030:
    146          
    147                      //check if auto_update
    148                      if(!ui_auto_update) UpdateScreen(NULL);
   \   02C8  3A0000            LD      A,(ui_auto_update)
   \   02CB  B7                OR      A
   \   02CC  2005              JR      NZ,?0032
   \   02CE            ?0031:
   \   02CE  5F                LD      E,A
   \   02CF  57                LD      D,A
   \   02D0  CD0000            CALL    LWRD UpdateScreen
   \   02D3            ?0032:
    149          
    150                      need_draw = FALSE; 
   \   02D3  DD36F400          LD      (IX-12),0
   \   02D7            ?0013:
    151                       
    152                  }//need draw
    153                      
    154                  //handle message
    155                  key = ap_get_message();
   \   02D7  CD0000            CALL    LWRD ap_get_message
    156                  switch( key)
   \   02DA  5F                LD      E,A
   \   02DB  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   02DE  0B00              DEFW    11
   \   02E0  03                DEFB    3
   \   02E1  04                DEFB    4
   \   02E2  05                DEFB    5
   \   02E3  06                DEFB    6
   \   02E4  1E                DEFB    30
   \   02E5  21                DEFB    33
   \   02E6  27                DEFB    39

⌨️ 快捷键说明

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