📄 ui_directory.lst
字号:
\ 00DF B7 OR A
\ 00E0 20FA JR NZ,?0022
\ 00E2 ?0023:
\ 00E2 ?0021:
99
100 ap_message_init(NULL);
\ 00E2 5F LD E,A
\ 00E3 57 LD D,A
\ 00E4 3E00 LD A,BYTE3 ap_message_init
\ 00E6 210000 LD HL,LWRD ap_message_init
\ 00E9 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 00EC ?0025:
101
102 while(1)
103 {
104 //handle msg
105 key = ap_get_message();
\ 00EC CD0000 CALL LWRD ap_get_message
106 switch(key)
\ 00EF 5F LD E,A
\ 00F0 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 00F3 0A00 DEFW 10
\ 00F5 05 DEFB 5
\ 00F6 06 DEFB 6
\ 00F7 1E DEFB 30
\ 00F8 21 DEFB 33
\ 00F9 30 DEFB 48
\ 00FA 37 DEFB 55
\ 00FB 38 DEFB 56
\ 00FC 45 DEFB 69
\ 00FD 46 DEFB 70
\ 00FE 90 DEFB 144
\ 00FF 2804 DEFW ?0101
\ 0101 8202 DEFW ?0057
\ 0103 1501 DEFW ?0028
\ 0105 D801 DEFW ?0042
\ 0107 EC00 DEFW ?0025
\ 0109 1804 DEFW ?0097
\ 010B F302 DEFW ?0075
\ 010D 1004 DEFW ?0096
\ 010F 1004 DEFW ?0096
\ 0111 1501 DEFW ?0028
\ 0113 D801 DEFW ?0042
\ 0115 ?0028:
107 {
108
109 case AP_KEY_NEXT:
110 case AP_KEY_NEXT | AP_KEY_HOLD:
111 if(list_active < list_total_num - 1)
\ 0115 21FFFF LD HL,65535
\ 0118 ED4B0000 LD BC,(list_total_num)
\ 011C 09 ADD HL,BC
\ 011D 4D LD C,L
\ 011E 44 LD B,H
\ 011F 2A0000 LD HL,(list_active)
\ 0122 A7 AND A
\ 0123 ED42 SBC HL,BC
\ 0125 3056 JR NC,?0030
\ 0127 ?0029:
112 {
113 list_active++;
\ 0127 2A0000 LD HL,(list_active)
\ 012A 23 INC HL
\ 012B 220000 LD (list_active),HL
114 if(list_active/GroupDefine==cur_group)
\ 012E 010600 LD BC,6
\ 0131 EB EX DE,HL
\ 0132 CD0000 CALL LWRD ?US_DIV_L02
\ 0135 2A0000 LD HL,(cur_group)
\ 0138 A7 AND A
\ 0139 ED52 SBC HL,DE
\ 013B 2011 JR NZ,?0032
\ 013D ?0031:
115 {
116 ShowDirectory(top,bottom,list_active-1,list_active,string_id,DiskFlag); //zxs change
\ 013D DD6EEE LD L,(IX-18)
\ 0140 E5 PUSH HL
\ 0141 DD6E0A LD L,(IX+10)
\ 0144 E5 PUSH HL
\ 0145 3A0000 LD A,(list_active)
\ 0148 4F LD C,A
\ 0149 C5 PUSH BC
\ 014A C6FF ADD A,255
\ 014C 182D JR ?0107
117 }
118 else
\ 014E ?0032:
119 {
120 cur_group=cur_group+1;
\ 014E 210100 LD HL,1
121
122 top=(list_active/GroupDefine)*GroupDefine; //顶的序号
\ 0151 CD7A04 CALL LWRD ?0121
123 bottom=top+GroupDefine-1; //底的序号
124 if(bottom>(list_total_num-1))
\ 0154 300B JR NC,?0035
\ 0156 ?0034:
125 bottom=list_total_num-1;
\ 0156 21FFFF LD HL,65535
\ 0159 ED4B0000 LD BC,(list_total_num)
\ 015D 09 ADD HL,BC
\ 015E E5 PUSH HL
\ 015F FDE1 POP IY
\ 0161 ?0035:
126
127 DecodeOnePage(top,bottom,type,string_id);
\ 0161 DD6E0A LD L,(IX+10)
\ 0164 E5 PUSH HL
\ 0165 DD6E04 LD L,(IX+4)
\ 0168 E5 PUSH HL
\ 0169 CD5A04 CALL LWRD ?0119
\ 016C E1 POP HL
\ 016D E1 POP HL
128 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 016E DD6EEE LD L,(IX-18)
\ 0171 E5 PUSH HL
\ 0172 DD6E0A LD L,(IX+10)
\ 0175 E5 PUSH HL
\ 0176 3A0000 LD A,(list_active)
\ 0179 4F LD C,A
\ 017A C5 PUSH BC
\ 017B ?0107:
\ 017B 1849 JR ?0111
\ 017D ?0033:
129 }
130 }
131 else
\ 017D ?0030:
132 {
133 list_active = 0;
\ 017D 210000 LD HL,0
\ 0180 220000 LD (list_active),HL
134 cur_group=0;
\ 0183 220000 LD (cur_group),HL
135 top=0; //顶的序号
136 bottom=top+GroupDefine-1; //底的序号
\ 0186 FD210500 LD IY,5
137 if(bottom>(list_total_num-1))
\ 018A AF XOR A
\ 018B DD77EC LD (IX-20),A
\ 018E DD77ED LD (IX-19),A
\ 0191 2B DEC HL
\ 0192 03 INC BC
\ 0193 09 ADD HL,BC
\ 0194 FDE5 PUSH IY
\ 0196 C1 POP BC
\ 0197 A7 AND A
\ 0198 ED42 SBC HL,BC
\ 019A 300B JR NC,?0038
\ 019C ?0037:
138 bottom=list_total_num-1;
\ 019C 21FFFF LD HL,65535
\ 019F ED4B0000 LD BC,(list_total_num)
\ 01A3 09 ADD HL,BC
\ 01A4 E5 PUSH HL
\ 01A5 FDE1 POP IY
\ 01A7 ?0038:
139 DecodeOnePage(top,bottom,type,string_id);
\ 01A7 DD6E0A LD L,(IX+10)
\ 01AA E5 PUSH HL
\ 01AB DD6E04 LD L,(IX+4)
\ 01AE E5 PUSH HL
\ 01AF FDE5 PUSH IY
\ 01B1 C1 POP BC
\ 01B2 5F LD E,A
\ 01B3 53 LD D,E
\ 01B4 CD6304 CALL LWRD ?0118
\ 01B7 E1 POP HL
\ 01B8 E1 POP HL
140 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 01B9 DD6EEE LD L,(IX-18)
\ 01BC E5 PUSH HL
\ 01BD DD6E0A LD L,(IX+10)
\ 01C0 E5 PUSH HL
\ 01C1 3A0000 LD A,(list_active)
\ 01C4 4F LD C,A
\ 01C5 C5 PUSH BC
\ 01C6 ?0111:
\ 01C6 4F LD C,A
\ 01C7 C5 PUSH BC
\ 01C8 CD6B04 CALL LWRD ?0120
\ 01CB E1 POP HL
\ 01CC E1 POP HL
\ 01CD E1 POP HL
\ 01CE E1 POP HL
\ 01CF ?0036:
\ 01CF ?0040:
141 }
142 while(ap_get_message() != 0);
\ 01CF CD0000 CALL LWRD ap_get_message
\ 01D2 B7 OR A
\ 01D3 20FA JR NZ,?0036
\ 01D5 ?0041:
143
144
145 break;
\ 01D5 ?0039:
\ 01D5 C3EC00 JP LWRD ?0025
\ 01D8 ?0042:
146
147 case AP_KEY_PREV:
148 case AP_KEY_PREV | AP_KEY_HOLD :
149 if(list_active >0)
\ 01D8 2A0000 LD HL,(list_active)
\ 01DB 7D LD A,L
\ 01DC B4 OR H
\ 01DD 2851 JR Z,?0044
\ 01DF ?0043:
150 {
151 list_active--;
\ 01DF 2B DEC HL
\ 01E0 220000 LD (list_active),HL
152 if(list_active/GroupDefine==cur_group)
\ 01E3 010600 LD BC,6
\ 01E6 EB EX DE,HL
\ 01E7 CD0000 CALL LWRD ?US_DIV_L02
\ 01EA 2A0000 LD HL,(cur_group)
\ 01ED ED52 SBC HL,DE
\ 01EF 2010 JR NZ,?0046
\ 01F1 ?0045:
153 {
154 ShowDirectory(top,bottom,list_active+1,list_active,string_id,DiskFlag);
\ 01F1 DD6EEE LD L,(IX-18)
\ 01F4 E5 PUSH HL
\ 01F5 DD6E0A LD L,(IX+10)
\ 01F8 E5 PUSH HL
\ 01F9 3A0000 LD A,(list_active)
\ 01FC 4F LD C,A
\ 01FD C5 PUSH BC
\ 01FE 3C INC A
\ 01FF 182D JR ?0108
155 }
156 else
\ 0201 ?0046:
157 {
158 cur_group=cur_group-1;
\ 0201 21FFFF LD HL,65535
159
160 top=(list_active/GroupDefine)*GroupDefine; //顶的序号
\ 0204 CD7A04 CALL LWRD ?0121
161 bottom=top+GroupDefine-1; //底的序号
162 if(bottom>(list_total_num-1))
\ 0207 300B JR NC,?0049
\ 0209 ?0048:
163 bottom=list_total_num-1;
\ 0209 21FFFF LD HL,65535
\ 020C ED4B0000 LD BC,(list_total_num)
\ 0210 09 ADD HL,BC
\ 0211 E5 PUSH HL
\ 0212 FDE1 POP IY
\ 0214 ?0049:
164
165 DecodeOnePage(top,bottom,type,string_id);
\ 0214 DD6E0A LD L,(IX+10)
\ 0217 E5 PUSH HL
\ 0218 DD6E04 LD L,(IX+4)
\ 021B E5 PUSH HL
\ 021C CD5A04 CALL LWRD ?0119
\ 021F E1 POP HL
\ 0220 E1 POP HL
166 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 0221 DD6EEE LD L,(IX-18)
\ 0224 E5 PUSH HL
\ 0225 DD6E0A LD L,(IX+10)
\ 0228 E5 PUSH HL
\ 0229 3A0000 LD A,(list_active)
\ 022C 4F LD C,A
\ 022D C5 PUSH BC
\ 022E ?0108:
\ 022E 1840 JR ?0112
\ 0230 ?0047:
167 }
168 }
169 else
\ 0230 ?0044:
170 {
171 list_active= list_total_num - 1;
\ 0230 21FFFF LD HL,65535
\ 0233 ED4B0000 LD BC,(list_total_num)
\ 0237 09 ADD HL,BC
\ 0238 220000 LD (list_active),HL
172 cur_group=(list_total_num - 1)/GroupDefine;
\ 023B 010600 LD BC,6
\ 023E CDAE04 CALL LWRD ?0122
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -