ui_slider.lst

来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,032 行 · 第 1/4 页

LST
1,032
字号
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       27/Sep/107  17:39:40 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\common\ui_slider.c               #
#       List file     =  d:\case_i_d913f\ap\ap_setting\list\ui_slider.lst    #
#       Object file   =  d:\case_i_d913f\ap\ap_setting\release\obj\ui_slider.r01#
#       Command line  =  -v0 -mb                                             #
#                        -OD:\case_i_d913f\ap\ap_setting\release\Obj\ -e -K  #
#                        -w -gA -s7 -RCODE -r0 -DNAPDEBUG                    #
#                        -LD:\case_i_d913f\ap\ap_setting\List\ -q -t8        #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        d:\case_i_d913f\AP\COMMON\ui_slider.c               #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_slider(17)
   \   0000                    RSEG    COM_CTRL(0)
   \   0000                    EXTERN  EarProtectThreshold
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  file_name
   \   0000                    EXTERN  g_EarProtect_flag
   \   0000                    EXTERN  main_ResShowPic
   \   0000                    PUBLIC  slider_atoi4
   \   0000                    EXTERN  ui_auto_select
   \   0000                    PUBLIC  ui_slider
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?SS_DIV_L02
   \   0000                    EXTERN  ?SS_MOD_L02
   \   0000                    EXTERN  ?S_MUL_L02
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?STRLEN_L11
   \   0000                    RSEG    COM_CTRL
   \   0000            slider_atoi4:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        ap common lib, slider control file 
      5          *
      6          *        (c) Copyright, Actions Co,Ld.                             
      7          *             All Right Reserved                          
      8          *
      9          *  $Id: ui_slider.c,v 1.1.1.1 2006/05/22 03:23:59 selina Exp $
     10          *******************************************************************************
     11          */ 
     12          #pragma codeseg(COM_CTRL)
     13          
     14          #include "ap_common.h"
     15          
     16          //为了不用bank切换而使用 ResShowPic()
     17          extern res_entry_t res_entry;
     18          extern region_t res_region;
     19          #ifdef EAR_PROTECT
     20              extern byte g_EarProtect_flag;
     21              extern byte EarProtectThreshold;
     22          #endif 
     23           
     24          void slider_atoi4(char *str, int count)
     25          {    
   \   0000  FDE5              PUSH    IY
   \   0002  DDE5              PUSH    IX
   \   0004  DD210000          LD      IX,0
   \   0008  DD39              ADD     IX,SP
   \   000A  C5                PUSH    BC
   \   000B  F5                PUSH    AF
   \   000C  F5                PUSH    AF
   \   000D  D5                PUSH    DE
   \   000E  FDE1              POP     IY
     26              int tmp, level;
     27              if(count < 0)
   \   0010  CB78              BIT     7,B
   \   0012  2818              JR      Z,?0003
   \   0014            ?0002:
     28              {
     29                  *str = '-';
   \   0014  FD36002D          LD      (IY+0),45
     30                  count = 0 - count;
   \   0018  A7                AND     A
   \   0019  210000            LD      HL,0
   \   001C  DD4EFE            LD      C,(IX-2)
   \   001F  DD46FF            LD      B,(IX-1)
   \   0022  ED42              SBC     HL,BC
   \   0024  DD75FE            LD      (IX-2),L
   \   0027  DD74FF            LD      (IX-1),H
     31                  str++; 
   \   002A  FD23              INC     IY
   \   002C            ?0003:
     32              } 
     33              if(count >= 1000)level = 4;
   \   002C  01E883            LD      BC,33768
   \   002F  DD6EFE            LD      L,(IX-2)
   \   0032  DD66FF            LD      H,(IX-1)
   \   0035  3E80              LD      A,128
   \   0037  AC                XOR     H
   \   0038  67                LD      H,A
   \   0039  ED42              SBC     HL,BC
   \   003B  380A              JR      C,?0005
   \   003D            ?0004:
   \   003D  DD36FC04          LD      (IX-4),4
   \   0041  DD36FD00          LD      (IX-3),0
   \   0045  183E              JR      ?0012
   \   0047            ?0005:
     34              else if(count >= 100) level = 3;
   \   0047  016480            LD      BC,32868
   \   004A  DD6EFE            LD      L,(IX-2)
   \   004D  DD66FF            LD      H,(IX-1)
   \   0050  3E80              LD      A,128
   \   0052  AC                XOR     H
   \   0053  67                LD      H,A
   \   0054  ED42              SBC     HL,BC
   \   0056  380A              JR      C,?0008
   \   0058            ?0007:
   \   0058  DD36FC03          LD      (IX-4),3
   \   005C  DD36FD00          LD      (IX-3),0
   \   0060  1823              JR      ?0012
   \   0062            ?0008:
     35                  else if(count >= 10) level = 2;
   \   0062  010A80            LD      BC,32778
   \   0065  DD6EFE            LD      L,(IX-2)
   \   0068  DD66FF            LD      H,(IX-1)
   \   006B  3E80              LD      A,128
   \   006D  AC                XOR     H
   \   006E  67                LD      H,A
   \   006F  ED42              SBC     HL,BC
   \   0071  380A              JR      C,?0011
   \   0073            ?0010:
   \   0073  DD36FC02          LD      (IX-4),2
   \   0077  DD36FD00          LD      (IX-3),0
   \   007B  1808              JR      ?0012
   \   007D            ?0011:
     36                      else level = 1;
   \   007D  DD36FC01          LD      (IX-4),1
   \   0081  DD36FD00          LD      (IX-3),0
   \   0085            ?0012:
   \   0085            ?0009:
   \   0085            ?0006:
     37              if(level >= 4)
   \   0085  010480            LD      BC,32772
   \   0088  DD6EFC            LD      L,(IX-4)
   \   008B  DD66FD            LD      H,(IX-3)
   \   008E  3E80              LD      A,128
   \   0090  AC                XOR     H
   \   0091  67                LD      H,A
   \   0092  ED42              SBC     HL,BC
   \   0094  3820              JR      C,?0014
   \   0096            ?0013:
     38              {
     39                  tmp = (count / 1000) % 10;
   \   0096  01E803            LD      BC,1000
   \   0099  DD5EFE            LD      E,(IX-2)
   \   009C  DD56FF            LD      D,(IX-1)
   \   009F  CD0000            CALL    LWRD ?SS_DIV_L02
   \   00A2  010A00            LD      BC,10
   \   00A5  CD0000            CALL    LWRD ?SS_MOD_L02
   \   00A8  DD73FA            LD      (IX-6),E
   \   00AB  DD72FB            LD      (IX-5),D
     40                  *str = tmp + '0';
   \   00AE  7B                LD      A,E
   \   00AF  C630              ADD     A,48
   \   00B1  FD7700            LD      (IY+0),A
     41                  str++;
   \   00B4  FD23              INC     IY
   \   00B6            ?0014:
     42              }
     43              if(level >= 3)
   \   00B6  010380            LD      BC,32771
   \   00B9  DD6EFC            LD      L,(IX-4)
   \   00BC  DD66FD            LD      H,(IX-3)
   \   00BF  3E80              LD      A,128
   \   00C1  AC                XOR     H
   \   00C2  67                LD      H,A
   \   00C3  ED42              SBC     HL,BC
   \   00C5  3820              JR      C,?0016
   \   00C7            ?0015:
     44              {
     45                  tmp = (count / 100) % 10;
   \   00C7  016400            LD      BC,100
   \   00CA  DD5EFE            LD      E,(IX-2)
   \   00CD  DD56FF            LD      D,(IX-1)
   \   00D0  CD0000            CALL    LWRD ?SS_DIV_L02
   \   00D3  010A00            LD      BC,10
   \   00D6  CD0000            CALL    LWRD ?SS_MOD_L02
   \   00D9  DD73FA            LD      (IX-6),E
   \   00DC  DD72FB            LD      (IX-5),D
     46                  *str = tmp + '0';
   \   00DF  7B                LD      A,E
   \   00E0  C630              ADD     A,48
   \   00E2  FD7700            LD      (IY+0),A
     47                  str++;
   \   00E5  FD23              INC     IY
   \   00E7            ?0016:
     48              }
     49              if(level >= 2)
   \   00E7  010280            LD      BC,32770
   \   00EA  DD6EFC            LD      L,(IX-4)
   \   00ED  DD66FD            LD      H,(IX-3)
   \   00F0  3E80              LD      A,128
   \   00F2  AC                XOR     H
   \   00F3  67                LD      H,A
   \   00F4  ED42              SBC     HL,BC
   \   00F6  3820              JR      C,?0018
   \   00F8            ?0017:
     50              {
     51                  tmp = (count / 10) % 10;
   \   00F8  010A00            LD      BC,10
   \   00FB  DD5EFE            LD      E,(IX-2)
   \   00FE  DD56FF            LD      D,(IX-1)
   \   0101  CD0000            CALL    LWRD ?SS_DIV_L02
   \   0104  010A00            LD      BC,10
   \   0107  CD0000            CALL    LWRD ?SS_MOD_L02
   \   010A  DD73FA            LD      (IX-6),E
   \   010D  DD72FB            LD      (IX-5),D
     52                  *str = tmp + '0';
   \   0110  7B                LD      A,E
   \   0111  C630              ADD     A,48
   \   0113  FD7700            LD      (IY+0),A
     53                  str++;
   \   0116  FD23              INC     IY
   \   0118            ?0018:
     54              }
     55              tmp = count % 10;
   \   0118  010A00            LD      BC,10
   \   011B  DD5EFE            LD      E,(IX-2)
   \   011E  DD56FF            LD      D,(IX-1)
   \   0121  CD0000            CALL    LWRD ?SS_MOD_L02
   \   0124  DD73FA            LD      (IX-6),E
   \   0127  DD72FB            LD      (IX-5),D
     56              *str = tmp + '0';
   \   012A  7B                LD      A,E
   \   012B  C630              ADD     A,48
   \   012D  FD7700            LD      (IY+0),A
     57              *(str + 1) = '\0';
   \   0130  FD360100          LD      (IY+1),0
     58          } 
   \   0134  DDF9              LD      SP,IX
   \   0136  DDE1              POP     IX
   \   0138  FDE1              POP     IY
   \   013A  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   013D            ui_slider:
     59          
     60          
     61          /*
     62          ********************************************************************************
     63          * Description : 滑动杆控件
     64          *
     65          * Arguments   : slider, 滑动杆结构

⌨️ 快捷键说明

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