navi.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 963 行 · 第 1/4 页
LST
963 行
\ 03C6 C5 PUSH BC
\ 03C7 2E06 LD L,6
\ 03C9 E5 PUSH HL
\ 03CA DD4EF0 LD C,(IX-16)
\ 03CD DD46F1 LD B,(IX-15)
\ 03D0 DD6EEE LD L,(IX-18)
\ 03D3 DD66EF LD H,(IX-17)
\ 03D6 CD0000 CALL LWRD ?SL_DIV_L03
\ 03D9 C5 PUSH BC
\ 03DA E5 PUSH HL
\ 03DB 010000 LD BC,0
\ 03DE 210600 LD HL,6
\ 03E1 CD0000 CALL LWRD ?L_MUL_L03
\ 03E4 CDE804 CALL LWRD ?0073
\ 03E7 C5 PUSH BC
\ 03E8 E5 PUSH HL
\ 03E9 2A0000 LD HL,(CurListoffset)
\ 03EC C1 POP BC
\ 03ED 09 ADD HL,BC
\ 03EE EB EX DE,HL
\ 03EF 2A0200 LD HL,(CurListoffset+2)
\ 03F2 C1 POP BC
\ 03F3 ED4A ADC HL,BC
\ 03F5 4D LD C,L
\ 03F6 44 LD B,H
\ 03F7 EB EX DE,HL
\ 03F8 220400 LD (Navfileoffset),HL
\ 03FB ED430600 LD (Navfileoffset+2),BC
178 head= 1;
\ 03FF DD36F901 LD (IX-7),1
179 }
180 else
\ 0403 1845 JR ?0051
\ 0405 ?0049:
181 {
182 head =0;
183 Navfileoffset = CurListoffset;
\ 0405 ED4B0200 LD BC,(CurListoffset+2)
\ 0409 2A0000 LD HL,(CurListoffset)
\ 040C 220400 LD (Navfileoffset),HL
\ 040F ED430600 LD (Navfileoffset+2),BC
\ 0413 DD36F900 LD (IX-7),0
\ 0417 ?0050:
184 }
185 }
186 else
\ 0417 1831 JR ?0051
\ 0419 ?0047:
187 {
188 save_list = g_active_list;
189 save_active = active_list;
190 Navfileoffset = CurListoffset;
191 g_active_list = 0;
\ 0419 DD4EF0 LD C,(IX-16)
\ 041C DD46F1 LD B,(IX-15)
\ 041F DD6EEE LD L,(IX-18)
\ 0422 DD66EF LD H,(IX-17)
\ 0425 DD75F2 LD (IX-14),L
\ 0428 DD74F3 LD (IX-13),H
\ 042B DD71F4 LD (IX-12),C
\ 042E DD70F5 LD (IX-11),B
192 active_list = 0;
\ 0431 DD46F8 LD B,(IX-8)
\ 0434 DD70FF LD (IX-1),B
193 head = 0;
\ 0437 AF XOR A
\ 0438 DD77EE LD (IX-18),A
\ 043B DD77EF LD (IX-17),A
\ 043E DD77F0 LD (IX-16),A
\ 0441 DD77F1 LD (IX-15),A
\ 0444 DD77F8 LD (IX-8),A
\ 0447 DD77F9 LD (IX-7),A
\ 044A ?0051:
194 }
195 old_list=active_list;
196 need_draw = TRUE;
197 direct=0;
198 need_read = TRUE;
\ 044A DD46F8 LD B,(IX-8)
\ 044D DD36FB01 LD (IX-5),1
\ 0451 DD36FC00 LD (IX-4),0
\ 0455 DD36FD01 LD (IX-3),1
199 continue;
\ 0459 C35800 JP LWRD ?0005
\ 045C ?0045:
200 }
201 else //是文件
202 {
203 return (check_file_type( g_active_list));
\ 045C DD4EF0 LD C,(IX-16)
\ 045F DD46F1 LD B,(IX-15)
\ 0462 DD5EEE LD E,(IX-18)
\ 0465 DD56EF LD D,(IX-17)
\ 0468 3E00 LD A,BYTE3 check_file_type
\ 046A 210000 LD HL,LWRD check_file_type
\ 046D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
204 }
\ 0470 184B JR ?0064
205 // while(ap_get_message() != 0);
206 break;
\ 0472 ?0052:
207 case AP_KEY_MODE | AP_KEY_LONG: //确认退出
208 break;
\ 0472 ?0053:
209
210 case AP_MSG_WAIT_TIMEOUT:
211 result = RESULT_IGNORE;
\ 0472 FD213400 LD IY,52
212 break;
\ 0476 183E JR ?0061
\ 0478 ?0054:
213
214 default:
215 key = ap_handle_hotkey(key);
\ 0478 CD0000 CALL LWRD ap_handle_hotkey
\ 047B DD77FE LD (IX-2),A
216 if(key == RESULT_REDRAW)
\ 047E FE32 CP 50
\ 0480 2006 JR NZ,?0056
\ 0482 ?0055:
217 need_draw = TRUE;
\ 0482 DD36FB01 LD (IX-5),1
218 else
\ 0486 180C JR ?0059
\ 0488 ?0056:
219 if(key != 0)
\ 0488 AF XOR A
\ 0489 DDB6FE OR (IX-2)
\ 048C 2806 JR Z,?0059
\ 048E ?0058:
220 {
221 result = key;
\ 048E 4F LD C,A
\ 048F 0600 LD B,0
\ 0491 C5 PUSH BC
\ 0492 FDE1 POP IY
\ 0494 ?0059:
\ 0494 ?0057:
222 }
223 if(ScrollFlag)
\ 0494 3A0000 LD A,(ScrollFlag)
\ 0497 B7 OR A
\ 0498 281C JR Z,?0061
\ 049A ?0060:
224 ui_Navi_list(active_list,old_list,g_active_list, direct,1); //滚动屏幕
\ 049A 0E01 LD C,1
\ 049C C5 PUSH BC
\ 049D DD6EFC LD L,(IX-4)
\ 04A0 E5 PUSH HL
\ 04A1 DD6EF0 LD L,(IX-16)
\ 04A4 DD66F1 LD H,(IX-15)
\ 04A7 E5 PUSH HL
\ 04A8 DD6EEE LD L,(IX-18)
\ 04AB DD66EF LD H,(IX-17)
\ 04AE E5 PUSH HL
\ 04AF CDD504 CALL LWRD ?0070
\ 04B2 E1 POP HL
\ 04B3 E1 POP HL
\ 04B4 E1 POP HL
\ 04B5 E1 POP HL
\ 04B6 ?0061:
225 break;
\ 04B6 ?0011:
226 } //switch
227
228 if(result!=0)
\ 04B6 FDE5 PUSH IY
\ 04B8 E1 POP HL
\ 04B9 7D LD A,L
\ 04BA B4 OR H
\ 04BB 2805 JR Z,?0063
\ 04BD ?0062:
229 {
230 //output8(0x27,IO27Bak&0xfe);
231 //FS_FClose(Navifp);
232 // output8(0x27,IO27Bak);
233 return result;
234 }
\ 04BD ?0064:
\ 04BD FDE1 POP IY
\ 04BF C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 04C2 ?0063:
235 }//while
236 }
\ 04C2 C35800 JP LWRD ?0005
\ 04C5 ?0068:
\ 04C5 ED4B0600 LD BC,(Navfileoffset+2)
\ 04C9 ED5B0400 LD DE,(Navfileoffset)
\ 04CD ?0067:
\ 04CD 3E00 LD A,BYTE3 Navi_read_head
\ 04CF 210000 LD HL,LWRD Navi_read_head
\ 04D2 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 04D5 ?0070:
\ 04D5 DD4EFA LD C,(IX-6)
\ 04D8 ?0071:
\ 04D8 DD5EF8 LD E,(IX-8)
\ 04DB ?0069:
\ 04DB 3E00 LD A,BYTE3 ui_Navi_list
\ 04DD 210000 LD HL,LWRD ui_Navi_list
\ 04E0 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 04E3 ?0072:
\ 04E3 ED4A ADC HL,BC
\ 04E5 4D LD C,L
\ 04E6 44 LD B,H
\ 04E7 EB EX DE,HL
\ 04E8 ?0073:
\ 04E8 3E06 LD A,6
\ 04EA C30000 JP LWRD ?L_LSH_L03
\ 04ED ?0074:
\ 04ED DD6EEE LD L,(IX-18)
\ 04F0 DD66EF LD H,(IX-17)
\ 04F3 DD4EF0 LD C,(IX-16)
\ 04F6 DD46F1 LD B,(IX-15)
\ 04F9 CD0000 CALL LWRD ?L_DEC_L03
\ 04FC DD75EE LD (IX-18),L
\ 04FF DD74EF LD (IX-17),H
\ 0502 DD71F0 LD (IX-16),C
\ 0505 DD70F1 LD (IX-15),B
\ 0508 C9 RET
\ 0000 RSEG UDATA0
\ 0000 CurListoffset:
\ 0004 DEFS 4
\ 0004 Navfileoffset:
\ 0008 DEFS 4
\ 0008 CurTotalNum:
\ 000C DEFS 4
\ 0000 RSEG APD_NAVI
\ 0000 navi_buff:
\ 00B4 DEFS 180
\ 00B4 buffer:
\ 02B4 DEFS 512
\ 02B4 END
Errors: none
Warnings: none
Code size: 1289
Constant size: 0
Static variable size: Data(704) Iram(0)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?