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

📄 ui_slider.lst

📁 action mp3 devo,eki e,eikf, kdife l
💻 LST
📖 第 1 页 / 共 4 页
字号:
     79              ASSERT(slider->step > 0);
     80          
     81              while(1)
     82              {
     83                  if(need_draw)
   \   00DC  AF                XOR     A
   \   00DD  DDB6F5            OR      (IX-11)
   \   00E0  CADA02            JP      Z,?0013
   \   00E3            ?0012:
     84                  {
     85                      //clear screen
     86                      ClearScreen(&bar_region);
   \   00E3  210A00            LD      HL,10
   \   00E6  39                ADD     HL,SP
   \   00E7  EB                EX      DE,HL
   \   00E8  CD0000            CALL    LWRD ClearScreen
     87                      
     88                      //show pic
     89                      slider_ResShowPic(SBAR, POSITION_SLIDERBAR, 16);
   \   00EB  0E10              LD      C,16
   \   00ED  C5                PUSH    BC
   \   00EE  0E0F              LD      C,15
   \   00F0  112101            LD      DE,289
   \   00F3  3E00              LD      A,BYTE3 slider_ResShowPic
   \   00F5  210000            LD      HL,LWRD slider_ResShowPic
   \   00F8  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00FB  F1                POP     AF
     90                      start = POSITION_SLIDERBAR+1;
     91                      end = (POSITION_SLIDERBAR -1) + 
     92                          SLIDER_BAR_WIDTH * (slider->value - slider->min) / (slider->max - slider->min);
   \   00FC  FD4E00            LD      C,(IY+0)
   \   00FF  FD4601            LD      B,(IY+1)
   \   0102  FD6E04            LD      L,(IY+4)
   \   0105  FD6605            LD      H,(IY+5)
   \   0108  A7                AND     A
   \   0109  ED42              SBC     HL,BC
   \   010B  4D                LD      C,L
   \   010C  44                LD      B,H
   \   010D  116200            LD      DE,98
   \   0110  CD0000            CALL    LWRD ?S_MUL_L02
   \   0113  FD4E00            LD      C,(IY+0)
   \   0116  FD4601            LD      B,(IY+1)
   \   0119  FD6E02            LD      L,(IY+2)
   \   011C  FD6603            LD      H,(IY+3)
   \   011F  A7                AND     A
   \   0120  ED42              SBC     HL,BC
   \   0122  4D                LD      C,L
   \   0123  44                LD      B,H
   \   0124  CD0000            CALL    LWRD ?SS_DIV_L02
   \   0127  210E00            LD      HL,14
   \   012A  19                ADD     HL,DE
   \   012B  DD75F0            LD      (IX-16),L
   \   012E  DD74F1            LD      (IX-15),H
   \   0131  DD36E610          LD      (IX-26),16
   \   0135  DD36E700          LD      (IX-25),0
   \   0139            ?0015:
     93                      ASSERT(end < SCR_WIDTH);
     94                      //分段显示背景
     95                      while(start+SLIDER_BG_WIDTH < end)
   \   0139  210400            LD      HL,4
   \   013C  DD4EE6            LD      C,(IX-26)
   \   013F  DD46E7            LD      B,(IX-25)
   \   0142  09                ADD     HL,BC
   \   0143  DD4EF0            LD      C,(IX-16)
   \   0146  DD46F1            LD      B,(IX-15)
   \   0149  F680              OR      128
   \   014B  ED42              SBC     HL,BC
   \   014D  E25101            JP      PO,?0082
   \   0150  AC                XOR     H
   \   0151            ?0082:
   \   0151  0E10              LD      C,16
   \   0153  C5                PUSH    BC
   \   0154  DD4EE6            LD      C,(IX-26)
   \   0157  F27401            JP      P,?0014
   \   015A            ?0016:
     96                      {
     97                          slider_ResShowPic(SBKGRD, start, 16);
   \   015A  116700            LD      DE,103
   \   015D  3E00              LD      A,BYTE3 slider_ResShowPic
   \   015F  210000            LD      HL,LWRD slider_ResShowPic
   \   0162  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0165  F1                POP     AF
     98                          start += SLIDER_BG_WIDTH;
   \   0166  210400            LD      HL,4
   \   0169  39                ADD     HL,SP
   \   016A  7E                LD      A,(HL)
   \   016B  C604              ADD     A,4
   \   016D  77                LD      (HL),A
   \   016E  30C9              JR      NC,?0015
   \   0170  23                INC     HL
   \   0171  34                INC     (HL)
   \   0172  18C5              JR      ?0015
   \   0174            ?0014:
     99                      }
    100                      // 在背景的尽头处显示拖把
    101                      slider_ResShowPic(SSLIDER, start, 16);
   \   0174  112201            LD      DE,290
   \   0177  3E00              LD      A,BYTE3 slider_ResShowPic
   \   0179  210000            LD      HL,LWRD slider_ResShowPic
   \   017C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   017F  F1                POP     AF
    102                      
    103                      //format text <-xxxx>
    104                      p = buf;
   \   0180  211400            LD      HL,20
   \   0183  39                ADD     HL,SP
    105                      *p++ = '<';
   \   0184  363C              LD      (HL),60
    106                      *p++ = '<';
   \   0186  23                INC     HL
   \   0187  23                INC     HL
   \   0188  DD75E2            LD      (IX-30),L
   \   018B  DD74E3            LD      (IX-29),H
   \   018E  2B                DEC     HL
   \   018F  363C              LD      (HL),60
    107                      if(slider->value < 0)
   \   0191  FDCB057E          BIT     7,(IY+5)
   \   0195  2824              JR      Z,?0018
   \   0197            ?0017:
    108                      {
    109                          value = -(slider->value);
   \   0197  FD4E04            LD      C,(IY+4)
   \   019A  FD4605            LD      B,(IY+5)
   \   019D  A7                AND     A
   \   019E  210000            LD      HL,0
   \   01A1  ED42              SBC     HL,BC
   \   01A3  DD75E4            LD      (IX-28),L
   \   01A6  DD74E5            LD      (IX-27),H
    110                          *p++ = '-';    //显示负数
   \   01A9  DD6EE2            LD      L,(IX-30)
   \   01AC  DD66E3            LD      H,(IX-29)
   \   01AF  23                INC     HL
   \   01B0  DD75E2            LD      (IX-30),L
   \   01B3  DD74E3            LD      (IX-29),H
   \   01B6  2B                DEC     HL
   \   01B7  362D              LD      (HL),45
    111                      }
    112                      else
   \   01B9  180C              JR      ?0019
   \   01BB            ?0018:
    113                      {
    114                          value = slider->value;
   \   01BB  FD6E04            LD      L,(IY+4)
   \   01BE  DD75E4            LD      (IX-28),L
   \   01C1  FD6605            LD      H,(IY+5)
   \   01C4  DD74E5            LD      (IX-27),H
   \   01C7            ?0019:
    115                      }
    116                      
    117                      if(value >= 1000)
   \   01C7  01E803            LD      BC,1000
   \   01CA  DD6EE4            LD      L,(IX-28)
   \   01CD  DD66E5            LD      H,(IX-27)
   \   01D0  A7                AND     A
   \   01D1  ED42              SBC     HL,BC
   \   01D3  3826              JR      C,?0021
   \   01D5            ?0020:
    118                      {
    119                          itoa4(value, p);
   \   01D5  DD4EE2            LD      C,(IX-30)
   \   01D8  DD46E3            LD      B,(IX-29)
   \   01DB  DD5EE4            LD      E,(IX-28)
   \   01DE  DD56E5            LD      D,(IX-27)
   \   01E1  3E00              LD      A,BYTE3 itoa4
   \   01E3  210000            LD      HL,LWRD itoa4
   \   01E6  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    120                          p += 4;
   \   01E9  210000            LD      HL,0
   \   01EC  39                ADD     HL,SP
   \   01ED  7E                LD      A,(HL)
   \   01EE  C604              ADD     A,4
   \   01F0  1862              JR      ?0094
   \   01F2  23                INC     HL
   \   01F3  1861              JR      ?0090
   \   01F5  CE00              ADC     A,0
   \   01F7  1860              JR      ?0096
   \   01F9  1871              JR      ?0084
   \   01FB            ?0021:
    121                      }
    122                      else if(value >= 100)
   \   01FB  016400            LD      BC,100
   \   01FE  DD6EE4            LD      L,(IX-28)
   \   0201  DD66E5            LD      H,(IX-27)
   \   0204  A7                AND     A
   \   0205  ED42              SBC     HL,BC
   \   0207  3826              JR      C,?0024
   \   0209            ?0023:
    123                      {
    124                          itoa3(value, p);
   \   0209  DD4EE2            LD      C,(IX-30)
   \   020C  DD46E3            LD      B,(IX-29)
   \   020F  DD5EE4            LD      E,(IX-28)
   \   0212  DD56E5            LD      D,(IX-27)
   \   0215  3E00              LD      A,BYTE3 itoa3
   \   0217  210000            LD      HL,LWRD itoa3
   \   021A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    125                          p += 3;
   \   021D  210000            LD      HL,0
   \   0220  39                ADD     HL,SP
   \   0221  7E                LD      A,(HL)
   \   0222  C603              ADD     A,3
   \   0224  182E              JR      ?0094
   \   0226  23                INC     HL
   \   0227  182D              JR      ?0090
   \   0229  CE00              ADC     A,0
   \   022B  182C              JR      ?0096
   \   022D  183D              JR      ?0084
   \   022F            ?0024:
    126                      }
    127                      else if(value >= 10)
   \   022F  0E0A              LD      C,10
   \   0231  DD6EE4            LD      L,(IX-28)
   \   0234  DD66E5            LD      H,(IX-27)
   \   0237  A7                AND     A
   \   0238  ED42              SBC     HL,BC
   \   023A  DD4EE2            LD      C,(IX-30)
   \   023D  DD46E3            LD      B,(IX-29)
   \   0240  DD5EE4            LD      E,(IX-28)
   \   0243  3817              JR      C,?0027
   \   0245            ?0026:
    128                      {
    129                          itoa2(value, p);
   \   0245  3E00              LD      A,BYTE3 itoa2
   \   0247  210000            LD      HL,LWRD itoa2
   \   024A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    130                          p += 2;
   \   024D  210000            LD      HL,0
   \   0250  39                ADD     HL,SP
   \   0251  7E                LD      A,(HL)
   \   0252  C602              ADD     A,2
   \   0254            ?0094:
   \   0254  77                LD      (HL),A
   \   0255  23                INC     HL
   \   0256            ?0090:
   \   0256  7E                LD      A,(HL)
   \   0257  CE00              ADC     A,0
   \   0259            ?0096:
   \   0259  77                LD      (HL),A
    131                      }
    132                      else
   \   025A  1810              JR      ?0084
   \   025C            ?0027:
    133                      {
    134                          itoa1(value, p);
   \   025C  3E00              LD      A,BYTE3 itoa1
   \   025E  210000            LD      HL,LWRD itoa1
   \   0261  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    135                          p++;
   \   0264  DD34E2            INC     (IX-30)
   \   0267  2003              JR      NZ,?0084
   \   0269  DD34E3            INC     (IX-29)
   \   026C            ?0084:

⌨️ 快捷键说明

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