ui_directory.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,139 行 · 第 1/4 页
LST
1,139 行
97
98 while(ap_get_message()!=0) {;}
\ 00E8 CD0000 CALL LWRD ap_get_message
\ 00EB B7 OR A
\ 00EC 20FA JR NZ,?0022
\ 00EE ?0023:
\ 00EE ?0021:
99
100 ap_message_init(NULL);
\ 00EE 5F LD E,A
\ 00EF 57 LD D,A
\ 00F0 3E00 LD A,BYTE3 ap_message_init
\ 00F2 210000 LD HL,LWRD ap_message_init
\ 00F5 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00F8 ?0025:
101
102 while(1)
103 {
104 //handle msg
105 key = ap_get_message();
\ 00F8 CD0000 CALL LWRD ap_get_message
106 switch(key)
\ 00FB 5F LD E,A
\ 00FC CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 00FF 0A00 DEFW 10
\ 0101 05 DEFB 5
\ 0102 06 DEFB 6
\ 0103 1E DEFB 30
\ 0104 21 DEFB 33
\ 0105 30 DEFB 48
\ 0106 37 DEFB 55
\ 0107 38 DEFB 56
\ 0108 45 DEFB 69
\ 0109 46 DEFB 70
\ 010A 90 DEFB 144
\ 010B 5A04 DEFW ?0101
\ 010D A802 DEFW ?0057
\ 010F 2101 DEFW ?0028
\ 0111 F401 DEFW ?0042
\ 0113 F800 DEFW ?0025
\ 0115 4A04 DEFW ?0097
\ 0117 1903 DEFW ?0075
\ 0119 4204 DEFW ?0096
\ 011B 4204 DEFW ?0096
\ 011D 2101 DEFW ?0028
\ 011F F401 DEFW ?0042
\ 0121 ?0028:
107 {
108
109 case AP_KEY_NEXT:
110 case AP_KEY_NEXT | AP_KEY_HOLD:
111 if(list_active < list_total_num - 1)
\ 0121 21FFFF LD HL,65535
\ 0124 ED4B0000 LD BC,(list_total_num)
\ 0128 09 ADD HL,BC
\ 0129 4D LD C,L
\ 012A 44 LD B,H
\ 012B 2A0000 LD HL,(list_active)
\ 012E A7 AND A
\ 012F ED42 SBC HL,BC
\ 0131 305A JR NC,?0030
\ 0133 ?0029:
112 {
113 list_active++;
\ 0133 2A0000 LD HL,(list_active)
\ 0136 23 INC HL
\ 0137 220000 LD (list_active),HL
114 if(list_active/GroupDefine==cur_group)
\ 013A 010600 LD BC,6
\ 013D EB EX DE,HL
\ 013E CD0000 CALL LWRD ?US_DIV_L02
\ 0141 2A0000 LD HL,(cur_group)
\ 0144 A7 AND A
\ 0145 ED52 SBC HL,DE
\ 0147 2016 JR NZ,?0032
\ 0149 ?0031:
115 {
116 ShowDirectory(top,bottom,list_active-1,list_active,string_id,DiskFlag); //zxs change
\ 0149 DD6EEE LD L,(IX-18)
\ 014C E5 PUSH HL
\ 014D DD6E0A LD L,(IX+10)
\ 0150 E5 PUSH HL
\ 0151 2A0000 LD HL,(list_active)
\ 0154 E5 PUSH HL
\ 0155 21FFFF LD HL,65535
\ 0158 ED4B0000 LD BC,(list_active)
\ 015C 09 ADD HL,BC
\ 015D 182C JR ?0107
117 }
118 else
\ 015F ?0032:
119 {
120 cur_group=cur_group+1;
\ 015F 210100 LD HL,1
121
122 top=(list_active/GroupDefine)*GroupDefine; //顶的序号
\ 0162 CD9D04 CALL LWRD ?0120
123 bottom=top+GroupDefine-1; //底的序号
124 if(bottom>(list_total_num-1))
\ 0165 300B JR NC,?0035
\ 0167 ?0034:
125 bottom=list_total_num-1;
\ 0167 21FFFF LD HL,65535
\ 016A ED4B0000 LD BC,(list_total_num)
\ 016E 09 ADD HL,BC
\ 016F E5 PUSH HL
\ 0170 FDE1 POP IY
\ 0172 ?0035:
126
127 DecodeOnePage(top,bottom,type,string_id);
\ 0172 DD6E0A LD L,(IX+10)
\ 0175 E5 PUSH HL
\ 0176 DD6E04 LD L,(IX+4)
\ 0179 E5 PUSH HL
\ 017A CD8C04 CALL LWRD ?0119
\ 017D E1 POP HL
\ 017E E1 POP HL
128 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 017F DD6EEE LD L,(IX-18)
\ 0182 E5 PUSH HL
\ 0183 DD6E0A LD L,(IX+10)
\ 0186 E5 PUSH HL
\ 0187 2A0000 LD HL,(list_active)
\ 018A E5 PUSH HL
\ 018B ?0107:
\ 018B 1848 JR ?0111
\ 018D ?0033:
129 }
130 }
131 else
\ 018D ?0030:
132 {
133 list_active = 0;
\ 018D 210000 LD HL,0
\ 0190 220000 LD (list_active),HL
134 cur_group=0;
\ 0193 220000 LD (cur_group),HL
135 top=0; //顶的序号
136 bottom=top+GroupDefine-1; //底的序号
\ 0196 FD210500 LD IY,5
137 if(bottom>(list_total_num-1))
\ 019A AF XOR A
\ 019B DD77EC LD (IX-20),A
\ 019E DD77ED LD (IX-19),A
\ 01A1 2B DEC HL
\ 01A2 03 INC BC
\ 01A3 09 ADD HL,BC
\ 01A4 FDE5 PUSH IY
\ 01A6 C1 POP BC
\ 01A7 A7 AND A
\ 01A8 ED42 SBC HL,BC
\ 01AA 300B JR NC,?0038
\ 01AC ?0037:
138 bottom=list_total_num-1;
\ 01AC 21FFFF LD HL,65535
\ 01AF ED4B0000 LD BC,(list_total_num)
\ 01B3 09 ADD HL,BC
\ 01B4 E5 PUSH HL
\ 01B5 FDE1 POP IY
\ 01B7 ?0038:
139 DecodeOnePage(top,bottom,type,string_id);
\ 01B7 DD6E0A LD L,(IX+10)
\ 01BA E5 PUSH HL
\ 01BB DD6E04 LD L,(IX+4)
\ 01BE E5 PUSH HL
\ 01BF FDE5 PUSH IY
\ 01C1 C1 POP BC
\ 01C2 5F LD E,A
\ 01C3 53 LD D,E
\ 01C4 CD9504 CALL LWRD ?0118
\ 01C7 E1 POP HL
\ 01C8 E1 POP HL
140 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 01C9 DD6EEE LD L,(IX-18)
\ 01CC E5 PUSH HL
\ 01CD DD6E0A LD L,(IX+10)
\ 01D0 E5 PUSH HL
\ 01D1 2A0000 LD HL,(list_active)
\ 01D4 E5 PUSH HL
\ 01D5 ?0111:
\ 01D5 E5 PUSH HL
\ 01D6 FDE5 PUSH IY
\ 01D8 C1 POP BC
\ 01D9 DD5EEC LD E,(IX-20)
\ 01DC DD56ED LD D,(IX-19)
\ 01DF 3E00 LD A,BYTE3 ShowDirectory
\ 01E1 210000 LD HL,LWRD ShowDirectory
\ 01E4 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 01E7 E1 POP HL
\ 01E8 E1 POP HL
\ 01E9 E1 POP HL
\ 01EA E1 POP HL
\ 01EB ?0036:
\ 01EB ?0040:
141 }
142 while(ap_get_message() != 0);
\ 01EB CD0000 CALL LWRD ap_get_message
\ 01EE B7 OR A
\ 01EF 20FA JR NZ,?0036
\ 01F1 ?0041:
143
144
145 break;
\ 01F1 ?0039:
\ 01F1 C3F800 JP LWRD ?0025
\ 01F4 ?0042:
146
147 case AP_KEY_PREV:
148 case AP_KEY_PREV | AP_KEY_HOLD :
149 if(list_active >0)
\ 01F4 2A0000 LD HL,(list_active)
\ 01F7 7D LD A,L
\ 01F8 B4 OR H
\ 01F9 284F JR Z,?0044
\ 01FB ?0043:
150 {
151 list_active--;
\ 01FB 2B DEC HL
\ 01FC 220000 LD (list_active),HL
152 if(list_active/GroupDefine==cur_group)
\ 01FF 010600 LD BC,6
\ 0202 EB EX DE,HL
\ 0203 CD0000 CALL LWRD ?US_DIV_L02
\ 0206 2A0000 LD HL,(cur_group)
\ 0209 ED52 SBC HL,DE
\ 020B 200F JR NZ,?0046
\ 020D ?0045:
153 {
154 ShowDirectory(top,bottom,list_active+1,list_active,string_id,DiskFlag);
\ 020D DD6EEE LD L,(IX-18)
\ 0210 E5 PUSH HL
\ 0211 DD6E0A LD L,(IX+10)
\ 0214 E5 PUSH HL
\ 0215 2A0000 LD HL,(list_active)
\ 0218 E5 PUSH HL
\ 0219 23 INC HL
\ 021A 182C JR ?0108
155 }
156 else
\ 021C ?0046:
157 {
158 cur_group=cur_group-1;
\ 021C 21FFFF LD HL,65535
159
160 top=(list_active/GroupDefine)*GroupDefine; //顶的序号
\ 021F CD9D04 CALL LWRD ?0120
161 bottom=top+GroupDefine-1; //底的序号
162 if(bottom>(list_total_num-1))
\ 0222 300B JR NC,?0049
\ 0224 ?0048:
163 bottom=list_total_num-1;
\ 0224 21FFFF LD HL,65535
\ 0227 ED4B0000 LD BC,(list_total_num)
\ 022B 09 ADD HL,BC
\ 022C E5 PUSH HL
\ 022D FDE1 POP IY
\ 022F ?0049:
164
165 DecodeOnePage(top,bottom,type,string_id);
\ 022F DD6E0A LD L,(IX+10)
\ 0232 E5 PUSH HL
\ 0233 DD6E04 LD L,(IX+4)
\ 0236 E5 PUSH HL
\ 0237 CD8C04 CALL LWRD ?0119
\ 023A E1 POP HL
\ 023B E1 POP HL
166 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 023C DD6EEE LD L,(IX-18)
\ 023F E5 PUSH HL
\ 0240 DD6E0A LD L,(IX+10)
\ 0243 E5 PUSH HL
\ 0244 2A0000 LD HL,(list_active)
\ 0247 E5 PUSH HL
\ 0248 ?0108:
\ 0248 183F JR ?0112
\ 024A ?0047:
167 }
168 }
169 else
\ 024A ?0044:
170 {
171 list_active= list_total_num - 1;
\ 024A 21FFFF LD HL,65535
\ 024D ED4B0000 LD BC,(list_total_num)
\ 0251 09 ADD HL,BC
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?