navi_ui.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 720 行 · 第 1/3 页
LST
720 行
\ 00F9 C1 POP BC
\ 00FA CD0000 CALL LWRD PutS
61
62 //显示当前活动项
63
64 ResShowPic(FILEBCK, explorer_str_x_def-2, menu_pos_list[active%NAVI_GROUP]-4);
\ 00FD 0606 LD B,6
\ 00FF DD7E02 LD A,(IX+2)
\ 0102 CD4703 CALL LWRD ?0061
\ 0105 C5 PUSH BC
\ 0106 0E1E LD C,30
\ 0108 112C00 LD DE,44
\ 010B CD5B03 CALL LWRD ?0062
\ 010E F1 POP AF
65 ResShowPic(DHTHK,194, menu_pos_list[active%NAVI_GROUP]+5);
\ 010F 0606 LD B,6
\ 0111 DD7E02 LD A,(IX+2)
\ 0114 CD0000 CALL LWRD ?UC_MOD_L01
\ 0117 4F LD C,A
\ 0118 0600 LD B,0
\ 011A 210000 LD HL,menu_pos_list
\ 011D 09 ADD HL,BC
\ 011E 7E LD A,(HL)
\ 011F C605 ADD A,5
\ 0121 4F LD C,A
\ 0122 C5 PUSH BC
\ 0123 0EC2 LD C,194
\ 0125 112700 LD DE,39
\ 0128 CD5B03 CALL LWRD ?0062
\ 012B F1 POP AF
66 if(*(navi_buff+(active)*30)==1)
\ 012C DD4E02 LD C,(IX+2)
\ 012F CD8C03 CALL LWRD ?0066
\ 0132 200B JR NZ,?0011
\ 0134 ?0010:
67 ResShowPic(MDIR,10,menu_pos_list[active%NAVI_GROUP]-4);
\ 0134 CD4703 CALL LWRD ?0061
\ 0137 C5 PUSH BC
\ 0138 0E0A LD C,10
\ 013A 11AF00 LD DE,175
\ 013D 1814 JR ?0045
68 else
\ 013F ?0011:
69 ResShowPic(MFILE,13,menu_pos_list[active%NAVI_GROUP]-1);
\ 013F CD0000 CALL LWRD ?UC_MOD_L01
\ 0142 4F LD C,A
\ 0143 0600 LD B,0
\ 0145 210000 LD HL,menu_pos_list
\ 0148 09 ADD HL,BC
\ 0149 7E LD A,(HL)
\ 014A C6FF ADD A,255
\ 014C 4F LD C,A
\ 014D C5 PUSH BC
\ 014E 0E0D LD C,13
\ 0150 11C600 LD DE,198
\ 0153 ?0045:
\ 0153 CD5B03 CALL LWRD ?0062
\ 0156 F1 POP AF
\ 0157 ?0012:
70
71 region_scroll.y = menu_pos_list[active%NAVI_GROUP]-2;
\ 0157 CD2E03 CALL LWRD ?0060
72 memcpy(scroll_buf,&(navi_buff+(active)*30+1),27); //取要滚动的数据到buf
\ 015A DD4E02 LD C,(IX+2)
\ 015D CD7A03 CALL LWRD ?0065
73 ScrollString(scroll_buf,TRUE,g_comval.langid,®ion_scroll);
\ 0160 E5 PUSH HL
\ 0161 210C00 LD HL,g_comval+12
\ 0164 4E LD C,(HL)
\ 0165 C5 PUSH BC
\ 0166 CD2103 CALL LWRD ?0059
\ 0169 E1 POP HL
\ 016A E1 POP HL
74 if(strlen(scroll_buf)<20)
\ 016B CD9E03 CALL LWRD ?0067
\ 016E 3003 JR NC,?0014
\ 0170 ?0013:
75 ScrollFlag=0;
\ 0170 AF XOR A
\ 0171 1802 JR ?0046
76 else
\ 0173 ?0014:
77 ScrollFlag=1;
\ 0173 3E01 LD A,1
\ 0175 ?0046:
\ 0175 C31B03 JP LWRD ?0052
\ 0178 ?0015:
78 }
79 else
\ 0178 ?0006:
80 {
81 if(direct==0)
\ 0178 AF XOR A
\ 0179 DDB60E OR (IX+14)
\ 017C 203C JR NZ,?0018
\ 017E ?0017:
82 {
83 if((CurTotalNum-file_active+active)>NAVI_GROUP)
\ 017E 2A0000 LD HL,(CurTotalNum)
\ 0181 DD4E0A LD C,(IX+10)
\ 0184 DD460B LD B,(IX+11)
\ 0187 ED42 SBC HL,BC
\ 0189 EB EX DE,HL
\ 018A 2A0200 LD HL,(CurTotalNum+2)
\ 018D DD4E0C LD C,(IX+12)
\ 0190 DD460D LD B,(IX+13)
\ 0193 ED42 SBC HL,BC
\ 0195 E5 PUSH HL
\ 0196 D5 PUSH DE
\ 0197 DD6E02 LD L,(IX+2)
\ 019A 5F LD E,A
\ 019B 63 LD H,E
\ 019C 57 LD D,A
\ 019D C1 POP BC
\ 019E 09 ADD HL,BC
\ 019F EB EX DE,HL
\ 01A0 C1 POP BC
\ 01A1 ED4A ADC HL,BC
\ 01A3 E5 PUSH HL
\ 01A4 D5 PUSH DE
\ 01A5 4F LD C,A
\ 01A6 47 LD B,A
\ 01A7 210600 LD HL,6
\ 01AA CD0000 CALL LWRD ?SL_CMP_L03
\ 01AD 3837 JR C,?0057
\ 01AF ?0019:
84 list_num = NAVI_GROUP;
85 else
\ 01AF ?0020:
86 list_num = CurTotalNum-file_active+active;
\ 01AF 3A0000 LD A,(CurTotalNum)
\ 01B2 DD960A SUB (IX+10)
\ 01B5 DD8602 ADD A,(IX+2)
\ 01B8 1831 JR ?0053
\ 01BA ?0021:
\ 01BA ?0018:
87 }
88 else if(direct==2) //尾处理
\ 01BA 47 LD B,A
\ 01BB 05 DEC B
\ 01BC 05 DEC B
\ 01BD 202A JR NZ,?0024
\ 01BF ?0023:
89 {
90 if(CurTotalNum%NAVI_GROUP==0)
\ 01BF 68 LD L,B
\ 01C0 60 LD H,B
\ 01C1 E5 PUSH HL
\ 01C2 2E06 LD L,6
\ 01C4 E5 PUSH HL
\ 01C5 ED4B0200 LD BC,(CurTotalNum+2)
\ 01C9 2A0000 LD HL,(CurTotalNum)
\ 01CC CD0000 CALL LWRD ?SL_MOD_L03
\ 01CF 7D LD A,L
\ 01D0 B4 OR H
\ 01D1 B1 OR C
\ 01D2 B0 OR B
\ 01D3 2814 JR Z,?0024
\ 01D5 ?0025:
91 list_num = NAVI_GROUP;
92 else
\ 01D5 ?0026:
93 list_num=CurTotalNum%NAVI_GROUP;
\ 01D5 210000 LD HL,0
\ 01D8 E5 PUSH HL
\ 01D9 2E06 LD L,6
\ 01DB E5 PUSH HL
\ 01DC ED4B0200 LD BC,(CurTotalNum+2)
\ 01E0 2A0000 LD HL,(CurTotalNum)
\ 01E3 CD0000 CALL LWRD ?SL_MOD_L03
\ 01E6 ?0057:
\ 01E6 7D LD A,L
\ 01E7 1802 JR ?0053
\ 01E9 ?0027:
94 }
95 else
\ 01E9 ?0024:
96 list_num = NAVI_GROUP;
\ 01E9 3E06 LD A,6
\ 01EB ?0053:
\ 01EB 320200 LD (list_num),A
\ 01EE ?0028:
\ 01EE ?0022:
97
98 ResShowPic(MENUTWO,0,0); //显示背景画面
\ 01EE 0E00 LD C,0
\ 01F0 C5 PUSH BC
\ 01F1 11C300 LD DE,195
\ 01F4 CD5B03 CALL LWRD ?0062
\ 01F7 F1 POP AF
99 ResShowMultiString(MDIRNAVI, g_comval.langid, list_str_x_def, list_str_y_def);//显示菜单头
\ 01F8 0E94 LD C,148
\ 01FA C5 PUSH BC
\ 01FB 0E16 LD C,22
\ 01FD C5 PUSH BC
\ 01FE ED4B0C00 LD BC,(g_comval+12)
\ 0202 11AF01 LD DE,431
\ 0205 3E00 LD A,BYTE3 ResShowMultiString
\ 0207 210000 LD HL,LWRD ResShowMultiString
\ 020A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 020D F1 POP AF
\ 020E F1 POP AF
100 ResShowPic(DHT,194,8);
\ 020F 0E08 LD C,8
\ 0211 C5 PUSH BC
\ 0212 CD5603 CALL LWRD ?0063
\ 0215 F1 POP AF
101
102 for(i=0;i<list_num;i++)
\ 0216 210000 LD HL,0
\ 0219 ?0049:
\ 0219 220000 LD (i),HL
\ 021C ?0030:
\ 021C ED4B0200 LD BC,(list_num)
\ 0220 0600 LD B,0
\ 0222 CD0000 CALL LWRD ?SS_CMP_L02
\ 0225 D2F502 JP NC,?0029
\ 0228 ?0031:
103 {
104 output8(0x4e,input8(0x4e) | 0x08);
\ 0228 DB4E IN A,(78)
\ 022A CBDF SET 3,A
\ 022C D34E OUT (78),A
105 if(i==active%NAVI_GROUP)
\ 022E 0606 LD B,6
\ 0230 DD7E02 LD A,(IX+2)
\ 0233 CD0000 CALL LWRD ?UC_MOD_L01
\ 0236 4F LD C,A
\ 0237 0600 LD B,0
\ 0239 A7 AND A
\ 023A ED42 SBC HL,BC
\ 023C 204E JR NZ,?0034
\ 023E ?0033:
106 {
107 ResShowPic(FILEBCK, explorer_str_x_def-2, menu_pos_list[i]-4);
\ 023E 210000 LD HL,menu_pos_list
\ 0241 ED4B0000 LD BC,(i)
\ 0245 09 ADD HL,BC
\ 0246 7E LD A,(HL)
\ 0247 C6FC ADD A,252
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?