ui_directory.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,139 行 · 第 1/4 页
LST
1,139 行
\ 039F ?0087:
263 }
264 if (fselDirNo[fselDirLayer] > 0)
\ 039F 4F LD C,A
\ 03A0 0600 LD B,0
\ 03A2 210000 LD HL,fselDirNo
\ 03A5 09 ADD HL,BC
\ 03A6 7E LD A,(HL)
\ 03A7 B7 OR A
\ 03A8 285C JR Z,?0092
\ 03AA ?0088:
265 {
266 fselEntCurrentDir(temp_record.name);
\ 03AA 110D00 LD DE,temp_record+13
\ 03AD 3E00 LD A,BYTE3 fselEntCurrentDir
\ 03AF 210000 LD HL,LWRD fselEntCurrentDir
\ 03B2 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
267
268 init_dir_buf();
\ 03B5 CD8404 CALL LWRD ?0117
269 list_active=0;
\ 03B8 68 LD L,B
\ 03B9 60 LD H,B
\ 03BA 220000 LD (list_active),HL
270 cur_group=0;
\ 03BD 220000 LD (cur_group),HL
271 top=0; //顶的序号
272 bottom=top+GroupDefine-1; //底的序号
\ 03C0 FD210500 LD IY,5
273 if(bottom>(list_total_num-1))
\ 03C4 AF XOR A
\ 03C5 DD77EC LD (IX-20),A
\ 03C8 DD77ED LD (IX-19),A
\ 03CB 2B DEC HL
\ 03CC ED4B0000 LD BC,(list_total_num)
\ 03D0 09 ADD HL,BC
\ 03D1 FDE5 PUSH IY
\ 03D3 C1 POP BC
\ 03D4 A7 AND A
\ 03D5 ED42 SBC HL,BC
\ 03D7 302D JR NC,?0092
\ 03D9 ?0090:
274 bottom=list_total_num-1;
\ 03D9 21FFFF LD HL,65535
\ 03DC ED4B0000 LD BC,(list_total_num)
\ 03E0 09 ADD HL,BC
\ 03E1 E5 PUSH HL
\ 03E2 FDE1 POP IY
\ 03E4 ?0091:
\ 03E4 ?0089:
275 }
276 }
277 else
\ 03E4 1820 JR ?0092
\ 03E6 ?0085:
278 {
279 if(fselDirLayer==0)
\ 03E6 B7 OR A
\ 03E7 2009 JR NZ,?0094
\ 03E9 ?0093:
280 fselDirNo[fselDirLayer] = 0;
\ 03E9 4F LD C,A
\ 03EA 41 LD B,C
\ 03EB 210000 LD HL,fselDirNo
\ 03EE 09 ADD HL,BC
\ 03EF 70 LD (HL),B
281 else
\ 03F0 1804 JR ?0095
\ 03F2 ?0094:
282 fselDirLayer--;
\ 03F2 210000 LD HL,fselDirLayer
\ 03F5 35 DEC (HL)
\ 03F6 ?0095:
283
284 fselGetLocation(location); //更新location
\ 03F6 DD5E02 LD E,(IX+2)
\ 03F9 DD5603 LD D,(IX+3)
\ 03FC 3E00 LD A,BYTE3 fselGetLocation
\ 03FE 210000 LD HL,LWRD fselGetLocation
\ 0401 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
285 return RESULT_NULL;
\ 0404 185E JR ?0109
286 }
\ 0406 ?0092:
\ 0406 ?0083:
287 }
288 DecodeOnePage(top,bottom,type,string_id);
\ 0406 DD6E0A LD L,(IX+10)
\ 0409 E5 PUSH HL
\ 040A DD6E04 LD L,(IX+4)
\ 040D E5 PUSH HL
\ 040E CD8C04 CALL LWRD ?0119
\ 0411 E1 POP HL
\ 0412 E1 POP HL
289 ap_message_init(NULL);
\ 0413 110000 LD DE,0
\ 0416 3E00 LD A,BYTE3 ap_message_init
\ 0418 210000 LD HL,LWRD ap_message_init
\ 041B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
290 ShowDirectory(top,bottom,list_active,list_active,string_id,DiskFlag);
\ 041E DD6EEE LD L,(IX-18)
\ 0421 E5 PUSH HL
\ 0422 DD6E0A LD L,(IX+10)
\ 0425 E5 PUSH HL
\ 0426 2A0000 LD HL,(list_active)
\ 0429 E5 PUSH HL
\ 042A E5 PUSH HL
\ 042B FDE5 PUSH IY
\ 042D C1 POP BC
\ 042E DD5EEC LD E,(IX-20)
\ 0431 DD56ED LD D,(IX-19)
\ 0434 3E00 LD A,BYTE3 ShowDirectory
\ 0436 210000 LD HL,LWRD ShowDirectory
\ 0439 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 043C E1 POP HL
\ 043D E1 POP HL
\ 043E E1 POP HL
\ 043F E1 POP HL
291 break;
\ 0440 1831 JR ?0027
\ 0442 ?0096:
292
293 case AP_MSG_WAIT_TIMEOUT:
294 fselSetLocationC(location);
\ 0442 CD7604 CALL LWRD ?0116
295 return RESULT_IGNORE;
\ 0445 213400 LD HL,52
296 case AP_MSG_SD_OUT:
\ 0448 181D JR ?0106
\ 044A ?0097:
297 //如在游览SD卡,但SD卡又被拔出,就返回拔出信号
298 if (location->disk == 'H')
\ 044A DD6E02 LD L,(IX+2)
\ 044D DD6603 LD H,(IX+3)
\ 0450 7E LD A,(HL)
\ 0451 FE48 CP 72
\ 0453 201E JR NZ,?0027
\ 0455 ?0098:
299 {
300 return RESULT_SD_OUT;
\ 0455 213600 LD HL,54
301 }
\ 0458 180D JR ?0106
\ 045A ?0099:
302 break;
\ 045A ?0100:
303
304 case AP_MSG_SD_IN:
305 break;
\ 045A ?0101:
306
307 default:
308 key=ap_handle_hotkey(key);
\ 045A CD0000 CALL LWRD ap_handle_hotkey
\ 045D DD77EF LD (IX-17),A
309 if(key == RESULT_REDRAW)
\ 0460 FE32 CP 50
\ 0462 2008 JR NZ,?0103
\ 0464 ?0102:
310 {
311 return 0; //界面不能重画直接返回
\ 0464 ?0109:
\ 0464 210000 LD HL,0
312 }
\ 0467 ?0106:
\ 0467 FDE1 POP IY
\ 0469 C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 046C ?0103:
313 else if(key != 0)
\ 046C AF XOR A
\ 046D DDB6EF OR (IX-17)
\ 0470 C2AC02 JP NZ,?0058
\ 0473 ?0104:
314 {
315 goto LongTime;
\ 0473 ?0105:
316 }
317 break;
\ 0473 ?0027:
318 } //switch() end
319 }//while(1) end
320 }
\ 0473 C3F800 JP LWRD ?0025
\ 0476 ?0116:
\ 0476 DD5E02 LD E,(IX+2)
\ 0479 DD5603 LD D,(IX+3)
\ 047C 3E00 LD A,BYTE3 fselSetLocationC
\ 047E 210000 LD HL,LWRD fselSetLocationC
\ 0481 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0484 ?0117:
\ 0484 3E00 LD A,BYTE3 init_dir_buf
\ 0486 210000 LD HL,LWRD init_dir_buf
\ 0489 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 048C ?0119:
\ 048C FDE5 PUSH IY
\ 048E C1 POP BC
\ 048F DD5EEC LD E,(IX-20)
\ 0492 DD56ED LD D,(IX-19)
\ 0495 ?0118:
\ 0495 3E00 LD A,BYTE3 DecodeOnePage
\ 0497 210000 LD HL,LWRD DecodeOnePage
\ 049A C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 049D ?0120:
\ 049D ED4B0000 LD BC,(cur_group)
\ 04A1 09 ADD HL,BC
\ 04A2 220000 LD (cur_group),HL
\ 04A5 010600 LD BC,6
\ 04A8 ED5B0000 LD DE,(list_active)
\ 04AC CD0000 CALL LWRD ?US_DIV_L02
\ 04AF EB EX DE,HL
\ 04B0 29 ADD HL,HL
\ 04B1 4D LD C,L
\ 04B2 44 LD B,H
\ 04B3 29 ADD HL,HL
\ 04B4 09 ADD HL,BC
\ 04B5 DD75EC LD (IX-20),L
\ 04B8 DD74ED LD (IX-19),H
\ 04BB 010500 LD BC,5
\ 04BE 09 ADD HL,BC
\ 04BF E5 PUSH HL
\ 04C0 FDE1 POP IY
\ 04C2 21FFFF LD HL,65535
\ 04C5 ED4B0000 LD BC,(list_total_num)
\ 04C9 09 ADD HL,BC
\ 04CA FDE5 PUSH IY
\ 04CC C1 POP BC
\ 04CD A7 AND A
\ 04CE ED42 SBC HL,BC
\ 04D0 C9 RET
\ 04D1 ?0121:
\ 04D1 EB EX DE,HL
\ 04D2 CD0000 CALL LWRD ?US_DIV_L02
\ 04D5 ED530000 LD (cur_group),DE
\ 04D9 EB EX DE,HL
\ 04DA 29 ADD HL,HL
\ 04DB 4D LD C,L
\ 04DC 44 LD B,H
\ 04DD 29 ADD HL,HL
\ 04DE 09 ADD HL,BC
\ 04DF DD75EC LD (IX-20),L
\ 04E2 DD74ED LD (IX-19),H
\ 04E5 010500 LD BC,5
\ 04E8 09 ADD HL,BC
\ 04E9 E5 PUSH HL
\ 04EA FDE1 POP IY
\ 04EC C9 RET
\ 04ED ?0122:
\ 04ED DB4E IN A,(78)
\ 04EF CBDF SET 3,A
\ 04F1 D34E OUT (78),A
\ 04F3 010600 LD BC,6
\ 04F6 ED5B0000 LD DE,(list_active)
\ 04FA CD0000 CALL LWRD ?US_MOD_L02
\ 04FD 0E4B LD C,75
\ 04FF CD0000 CALL LWRD ?S_MUL_L02
\ 0502 210000 LD HL,OnePageRecord
\ 0505 19 ADD HL,DE
\ 0506 4D LD C,L
\ 0507 44 LD B,H
\ 0508 110000 LD DE,temp_record
\ 050B 3E00 LD A,BYTE3 TransOneRecord
\ 050D 210000 LD HL,LWRD TransOneRecord
\ 0510 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0513 3A0B00 LD A,(temp_record+11)
\ 0516 320000 LD (fselDirLayer),A
\ 0519 210100 LD HL,temp_record+1
\ 051C 4F LD C,A
\ 051D 0600 LD B,0
\ 051F 09 ADD HL,BC
\ 0520 46 LD B,(HL)
\ 0521 C9 RET
\ 0000 RSEG CSTR
\ 0000 ?0011:
\ 0000 3A DEFB ':'
\ 0001 00 DEFB 0
\ 0002 END
Errors: none
Warnings: none
Code size: 1314
Constant size: 2
Static variable size: Data(0) Iram(0)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?