navi.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 963 行 · 第 1/4 页
LST
963 行
\ 00DC DD6EEE LD L,(IX-18)
\ 00DF DD66EF LD H,(IX-17)
\ 00E2 CD0000 CALL LWRD ?SL_CMP_L03
\ 00E5 304D JR NC,?0014
\ 00E7 ?0013:
68 {
69 g_active_list++;
\ 00E7 CD0000 CALL LWRD ?L_INC_L03
\ 00EA DD75EE LD (IX-18),L
\ 00ED DD74EF LD (IX-17),H
\ 00F0 DD71F0 LD (IX-16),C
\ 00F3 DD70F1 LD (IX-15),B
70 active_list++;
\ 00F6 DD34F8 INC (IX-8)
71 if(active_list%NAVI_GROUP==0)
\ 00F9 0606 LD B,6
\ 00FB DD7EF8 LD A,(IX-8)
\ 00FE CD0000 CALL LWRD ?UC_MOD_L01
\ 0101 B7 OR A
\ 0102 2015 JR NZ,?0016
\ 0104 ?0015:
72 {
73 need_read = 1;
74 active_list = 0;
75 old_list = 0;
76 need_draw = TRUE;
77 direct=0;
78 head =1;
\ 0104 DD36FD01 LD (IX-3),1
\ 0108 DD77F8 LD (IX-8),A
\ 010B DD36FB01 LD (IX-5),1
\ 010F DD77FC LD (IX-4),A
\ 0112 DD36F901 LD (IX-7),1
79 break;
\ 0116 C3B604 JP LWRD ?0061
\ 0119 ?0016:
80
81 }
82 ui_Navi_list(active_list,old_list,g_active_list,0,0);
\ 0119 0E00 LD C,0
\ 011B C5 PUSH BC
\ 011C C5 PUSH BC
\ 011D DD6EF0 LD L,(IX-16)
\ 0120 DD66F1 LD H,(IX-15)
\ 0123 E5 PUSH HL
\ 0124 DD6EEE LD L,(IX-18)
\ 0127 DD66EF LD H,(IX-17)
\ 012A E5 PUSH HL
\ 012B CDD504 CALL LWRD ?0070
\ 012E E1 POP HL
\ 012F E1 POP HL
\ 0130 E1 POP HL
\ 0131 E1 POP HL
83 }
84 else //到列表尾,回到列表头
\ 0132 182D JR ?0017
\ 0134 ?0014:
85 {
86 active_list = 0;
87 g_active_list = 0;
88 old_list=0;
89 need_draw = TRUE;
90 Navfileoffset = CurListoffset;
\ 0134 ED4B0200 LD BC,(CurListoffset+2)
\ 0138 2A0000 LD HL,(CurListoffset)
\ 013B 220400 LD (Navfileoffset),HL
\ 013E ED430600 LD (Navfileoffset+2),BC
91
92 direct=0;
93 need_read = TRUE;
94 head=0;
\ 0142 DD36F800 LD (IX-8),0
\ 0146 AF XOR A
\ 0147 DD77EE LD (IX-18),A
\ 014A DD77EF LD (IX-17),A
\ 014D DD77F0 LD (IX-16),A
\ 0150 DD77F1 LD (IX-15),A
\ 0153 DD36FB01 LD (IX-5),1
\ 0157 DD77FC LD (IX-4),A
\ 015A DD36FD01 LD (IX-3),1
\ 015E DD77F9 LD (IX-7),A
\ 0161 ?0017:
\ 0161 ?0019:
95 }
96 while(ap_get_message() != 0);
\ 0161 CD0000 CALL LWRD ap_get_message
\ 0164 B7 OR A
\ 0165 20FA JR NZ,?0017
\ 0167 ?0020:
97 break;
\ 0167 ?0018:
\ 0167 C3B604 JP LWRD ?0061
\ 016A ?0021:
98
99 case AP_KEY_PREV:
100 case AP_KEY_PREV | AP_KEY_HOLD:
101 if(g_active_list==0)
\ 016A DD7EEE LD A,(IX-18)
\ 016D DDB6EF OR (IX-17)
\ 0170 DDB6F0 OR (IX-16)
\ 0173 DDB6F1 OR (IX-15)
\ 0176 C25B02 JP NZ,?0023
\ 0179 ?0022:
102 {
103 if(CurTotalNum<=NAVI_GROUP)
\ 0179 2A0A00 LD HL,(CurTotalNum+2)
\ 017C E5 PUSH HL
\ 017D 2A0800 LD HL,(CurTotalNum)
\ 0180 E5 PUSH HL
\ 0181 4F LD C,A
\ 0182 47 LD B,A
\ 0183 210600 LD HL,6
\ 0186 CD0000 CALL LWRD ?SL_CMP_L03
\ 0189 3814 JR C,?0025
\ 018B ?0024:
104 {
105 head = 0;
106 Navfileoffset=CurListoffset;
\ 018B ED4B0200 LD BC,(CurListoffset+2)
\ 018F 2A0000 LD HL,(CurListoffset)
\ 0192 220400 LD (Navfileoffset),HL
\ 0195 ED430600 LD (Navfileoffset+2),BC
\ 0199 DD77F9 LD (IX-7),A
107 }
108 else
\ 019C C31F02 JP LWRD ?0026
\ 019F ?0025:
109 {
110 if(CurTotalNum%NAVI_GROUP==0)
\ 019F 60 LD H,B
\ 01A0 C5 PUSH BC
\ 01A1 E5 PUSH HL
\ 01A2 ED4B0A00 LD BC,(CurTotalNum+2)
\ 01A6 2A0800 LD HL,(CurTotalNum)
\ 01A9 CD0000 CALL LWRD ?SL_MOD_L03
\ 01AC 7D LD A,L
\ 01AD B4 OR H
\ 01AE B1 OR C
\ 01AF B0 OR B
\ 01B0 2013 JR NZ,?0028
\ 01B2 ?0027:
111 {
112 Navfileoffset=CurListoffset+sizeof(Location_Path_t)+(CurTotalNum-NAVI_GROUP-1)*sizeof(file_info_t);
\ 01B2 21FFFF LD HL,65535
\ 01B5 E5 PUSH HL
\ 01B6 21F9FF LD HL,65529
\ 01B9 E5 PUSH HL
\ 01BA 2A0800 LD HL,(CurTotalNum)
\ 01BD C1 POP BC
\ 01BE 09 ADD HL,BC
\ 01BF EB EX DE,HL
\ 01C0 2A0A00 LD HL,(CurTotalNum+2)
\ 01C3 182C JR ?0065
113 }
114 else
\ 01C5 ?0028:
115 {
116 Navfileoffset=CurListoffset+sizeof(Location_Path_t)+((CurTotalNum-1-(CurTotalNum)%NAVI_GROUP))*sizeof(file_info_t);
\ 01C5 210000 LD HL,0
\ 01C8 E5 PUSH HL
\ 01C9 2E06 LD L,6
\ 01CB E5 PUSH HL
\ 01CC ED4B0A00 LD BC,(CurTotalNum+2)
\ 01D0 2A0800 LD HL,(CurTotalNum)
\ 01D3 CD0000 CALL LWRD ?SL_MOD_L03
\ 01D6 59 LD E,C
\ 01D7 50 LD D,B
\ 01D8 4D LD C,L
\ 01D9 44 LD B,H
\ 01DA 2A0800 LD HL,(CurTotalNum)
\ 01DD ED42 SBC HL,BC
\ 01DF 4D LD C,L
\ 01E0 44 LD B,H
\ 01E1 2A0A00 LD HL,(CurTotalNum+2)
\ 01E4 ED52 SBC HL,DE
\ 01E6 E5 PUSH HL
\ 01E7 C5 PUSH BC
\ 01E8 21FFFF LD HL,65535
\ 01EB C1 POP BC
\ 01EC 09 ADD HL,BC
\ 01ED EB EX DE,HL
\ 01EE 21FFFF LD HL,65535
\ 01F1 ?0065:
\ 01F1 C1 POP BC
\ 01F2 CDE304 CALL LWRD ?0072
\ 01F5 C5 PUSH BC
\ 01F6 E5 PUSH HL
\ 01F7 2A0000 LD HL,(CurListoffset)
\ 01FA C1 POP BC
\ 01FB 09 ADD HL,BC
\ 01FC EB EX DE,HL
\ 01FD 2A0200 LD HL,(CurListoffset+2)
\ 0200 C1 POP BC
\ 0201 ED4A ADC HL,BC
\ 0203 E5 PUSH HL
\ 0204 D5 PUSH DE
\ 0205 214000 LD HL,64
\ 0208 C1 POP BC
\ 0209 09 ADD HL,BC
\ 020A EB EX DE,HL
\ 020B 210000 LD HL,0
\ 020E C1 POP BC
\ 020F ED4A ADC HL,BC
\ 0211 4D LD C,L
\ 0212 44 LD B,H
\ 0213 EB EX DE,HL
\ 0214 220400 LD (Navfileoffset),HL
\ 0217 ED430600 LD (Navfileoffset+2),BC
\ 021B ?0029:
117 }
118 head = 1;
\ 021B DD36F901 LD (IX-7),1
\ 021F ?0026:
119 }
120 g_active_list = CurTotalNum-1;
\ 021F 21FFFF LD HL,65535
\ 0222 E5 PUSH HL
\ 0223 E5 PUSH HL
\ 0224 2A0800 LD HL,(CurTotalNum)
\ 0227 C1 POP BC
\ 0228 09 ADD HL,BC
\ 0229 EB EX DE,HL
\ 022A 2A0A00 LD HL,(CurTotalNum+2)
\ 022D C1 POP BC
\ 022E ED4A ADC HL,BC
\ 0230 4D LD C,L
\ 0231 44 LD B,H
\ 0232 EB EX DE,HL
\ 0233 DD75EE LD (IX-18),L
\ 0236 DD74EF LD (IX-17),H
\ 0239 DD71F0 LD (IX-16),C
\ 023C DD70F1 LD (IX-15),B
121 active_list = (CurTotalNum-1)%NAVI_GROUP;
\ 023F 110000 LD DE,0
\ 0242 D5 PUSH DE
\ 0243 1E06 LD E,6
\ 0245 D5 PUSH DE
\ 0246 CD0000 CALL LWRD ?SL_MOD_L03
\ 0249 DD75F8 LD (IX-8),L
122 old_list=active_list;
123 need_read = TRUE;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?