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 + -
显示快捷键?