📄 navi_read.lst
字号:
\ 0251 46 LD B,(HL)
\ 0252 23 INC HL
\ 0253 66 LD H,(HL)
\ 0254 68 LD L,B
\ 0255 010000 LD BC,0
\ 0258 C5 PUSH BC
\ 0259 E5 PUSH HL
\ 025A 2A0000 LD HL,(CurTotalNum)
\ 025D C1 POP BC
\ 025E 09 ADD HL,BC
\ 025F EB EX DE,HL
\ 0260 2A0200 LD HL,(CurTotalNum+2)
\ 0263 C1 POP BC
\ 0264 ED4A ADC HL,BC
\ 0266 E5 PUSH HL
\ 0267 D5 PUSH DE
\ 0268 21FFFF LD HL,65535
\ 026B C1 POP BC
\ 026C 09 ADD HL,BC
\ 026D EB EX DE,HL
\ 026E 21FFFF LD HL,65535
\ 0271 C1 POP BC
\ 0272 ED4A ADC HL,BC
\ 0274 4D LD C,L
\ 0275 44 LD B,H
\ 0276 EB EX DE,HL
\ 0277 3E06 LD A,6
\ 0279 CD0000 CALL LWRD ?L_LSH_L03
\ 027C C5 PUSH BC
\ 027D E5 PUSH HL
\ 027E 2A0000 LD HL,(CurListoffset)
\ 0281 C1 POP BC
\ 0282 09 ADD HL,BC
\ 0283 EB EX DE,HL
\ 0284 2A0200 LD HL,(CurListoffset+2)
\ 0287 C1 POP BC
\ 0288 ED4A ADC HL,BC
\ 028A E5 PUSH HL
\ 028B D5 PUSH DE
\ 028C 214000 LD HL,64
\ 028F C1 POP BC
\ 0290 09 ADD HL,BC
\ 0291 EB EX DE,HL
\ 0292 210000 LD HL,0
\ 0295 C1 POP BC
\ 0296 ED4A ADC HL,BC
\ 0298 4D LD C,L
\ 0299 44 LD B,H
\ 029A EB EX DE,HL
\ 029B DD75F0 LD (IX-16),L
\ 029E DD74F1 LD (IX-15),H
\ 02A1 DD71F2 LD (IX-14),C
\ 02A4 DD70F3 LD (IX-13),B
\ 02A7 ?0021:
111 while(count<NAVI_GROUP)
\ 02A7 DD7EEE LD A,(IX-18)
\ 02AA FE06 CP 6
\ 02AC D29703 JP NC,?0020
\ 02AF ?0022:
112 {
113 if(Navfileoffset<End)
\ 02AF DD6EF2 LD L,(IX-14)
\ 02B2 DD66F3 LD H,(IX-13)
\ 02B5 E5 PUSH HL
\ 02B6 DD6EF0 LD L,(IX-16)
\ 02B9 DD66F1 LD H,(IX-15)
\ 02BC E5 PUSH HL
\ 02BD ED4B0200 LD BC,(Navfileoffset+2)
\ 02C1 2A0000 LD HL,(Navfileoffset)
\ 02C4 CD0000 CALL LWRD ?SL_CMP_L03
\ 02C7 D29703 JP NC,?0020
\ 02CA ?0023:
114 {
115 if(Navfileoffset%512==0)
\ 02CA 210000 LD HL,0
\ 02CD E5 PUSH HL
\ 02CE 2602 LD H,2
\ 02D0 E5 PUSH HL
\ 02D1 2A0000 LD HL,(Navfileoffset)
\ 02D4 CD0000 CALL LWRD ?SL_MOD_L03
\ 02D7 7D LD A,L
\ 02D8 B4 OR H
\ 02D9 B1 OR C
\ 02DA B0 OR B
\ 02DB 2015 JR NZ,?0028
\ 02DD ?0025:
116 {
117 if(!Navi_read(Navfileoffset))
\ 02DD ED4B0200 LD BC,(Navfileoffset+2)
\ 02E1 ED5B0000 LD DE,(Navfileoffset)
\ 02E5 CD9D03 CALL LWRD ?0039
\ 02E8 2C INC L
\ 02E9 2D DEC L
\ 02EA 2006 JR NZ,?0028
\ 02EC ?0027:
118 {
119
120 result=FALSE;
\ 02EC DD75EF LD (IX-17),L
121 break;
\ 02EF C39703 JP LWRD ?0020
\ 02F2 ?0028:
\ 02F2 ?0026:
122 }
123
124
125
126 }
127 if(*(buffer+Navfileoffset%512)!=3)
\ 02F2 210000 LD HL,0
\ 02F5 E5 PUSH HL
\ 02F6 2602 LD H,2
\ 02F8 E5 PUSH HL
\ 02F9 ED4B0200 LD BC,(Navfileoffset+2)
\ 02FD 2A0000 LD HL,(Navfileoffset)
\ 0300 CD0000 CALL LWRD ?SL_MOD_L03
\ 0303 010000 LD BC,buffer
\ 0306 09 ADD HL,BC
\ 0307 7E LD A,(HL)
\ 0308 FE03 CP 3
\ 030A 287C JR Z,?0030
\ 030C ?0029:
128 {
129 //memcpy(navi_buff+count*16,buffer+Navfileoffset%512,16);
130 memcpy(navi_buff+count*30,buffer+Navfileoffset%512,1);
\ 030C 010100 LD BC,1
\ 030F CDB403 CALL LWRD ?0042
\ 0312 210000 LD HL,navi_buff
\ 0315 19 ADD HL,DE
\ 0316 EB EX DE,HL
\ 0317 68 LD L,B
\ 0318 60 LD H,B
\ 0319 E5 PUSH HL
\ 031A 2602 LD H,2
\ 031C E5 PUSH HL
\ 031D ED4B0200 LD BC,(Navfileoffset+2)
\ 0321 2A0000 LD HL,(Navfileoffset)
\ 0324 CD0000 CALL LWRD ?SL_MOD_L03
\ 0327 010000 LD BC,buffer
\ 032A 09 ADD HL,BC
\ 032B 010100 LD BC,1
\ 032E EDB0 LDIR
131 memcpy(navi_buff+count*30+1,buffer+Navfileoffset%512+17,27);
\ 0330 210100 LD HL,navi_buff+1
\ 0333 CDB403 CALL LWRD ?0042
\ 0336 19 ADD HL,DE
\ 0337 EB EX DE,HL
\ 0338 D5 PUSH DE
\ 0339 48 LD C,B
\ 033A C5 PUSH BC
\ 033B 0602 LD B,2
\ 033D C5 PUSH BC
\ 033E ED4B0200 LD BC,(Navfileoffset+2)
\ 0342 2A0000 LD HL,(Navfileoffset)
\ 0345 CD0000 CALL LWRD ?SL_MOD_L03
\ 0348 EB EX DE,HL
\ 0349 211100 LD HL,buffer+17
\ 034C 19 ADD HL,DE
\ 034D D1 POP DE
\ 034E 011B00 LD BC,27
\ 0351 EDB0 LDIR
132 navi_buff[count*30+27]=0;
\ 0353 211B00 LD HL,navi_buff+27
\ 0356 DD4EEE LD C,(IX-18)
\ 0359 111E00 LD DE,30
\ 035C CD0000 CALL LWRD ?S_MUL_L02
\ 035F 19 ADD HL,DE
\ 0360 70 LD (HL),B
133 memcpy(navi_buff+count*30+28,buffer+Navfileoffset%512+13,2);
\ 0361 211C00 LD HL,navi_buff+28
\ 0364 59 LD E,C
\ 0365 CDB703 CALL LWRD ?0043
\ 0368 19 ADD HL,DE
\ 0369 EB EX DE,HL
\ 036A D5 PUSH DE
\ 036B 48 LD C,B
\ 036C C5 PUSH BC
\ 036D 0602 LD B,2
\ 036F C5 PUSH BC
\ 0370 ED4B0200 LD BC,(Navfileoffset+2)
\ 0374 2A0000 LD HL,(Navfileoffset)
\ 0377 CD0000 CALL LWRD ?SL_MOD_L03
\ 037A EB EX DE,HL
\ 037B 210D00 LD HL,buffer+13
\ 037E 19 ADD HL,DE
\ 037F D1 POP DE
\ 0380 010200 LD BC,2
\ 0383 EDB0 LDIR
134
135 count++;
\ 0385 DD34EE INC (IX-18)
\ 0388 ?0030:
136 }
137 Navfileoffset=Navfileoffset+sizeof(file_info_t);
\ 0388 210000 LD HL,Navfileoffset
\ 038B 010000 LD BC,0
\ 038E 114000 LD DE,64
\ 0391 CD0000 CALL LWRD ?L_ADDASG_L03
138
139 }
140 else
\ 0394 ?0024:
141 break;
\ 0394 ?0031:
\ 0394 C3A702 JP LWRD ?0021
\ 0397 ?0020:
142
143 }
144
145 return result;
\ 0397 DD6EEF LD L,(IX-17)
146
147 }
\ 039A ?0032:
\ 039A C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 039D ?0039:
\ 039D 3E00 LD A,BYTE3 Navi_read
\ 039F 210000 LD HL,LWRD Navi_read
\ 03A2 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 03A5 ?0041:
\ 03A5 DD4E04 LD C,(IX+4)
\ 03A8 DD4605 LD B,(IX+5)
\ 03AB ?0040:
\ 03AB DD6E02 LD L,(IX+2)
\ 03AE DD6603 LD H,(IX+3)
\ 03B1 C30000 JP LWRD ?SL_MOD_L03
\ 03B4 ?0042:
\ 03B4 DD5EEE LD E,(IX-18)
\ 03B7 ?0043:
\ 03B7 50 LD D,B
\ 03B8 0E1E LD C,30
\ 03BA C30000 JP LWRD ?S_MUL_L02
148
\ 0000 RSEG APD_NAVI_READ
\ 0000 file_info:
\ 0040 DEFS 64
\ 0040 g_path_info:
\ 0080 DEFS 64
\ 0080 END
Errors: none
Warnings: none
Code size: 957
Constant size: 0
Static variable size: Data(128) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -