searchhandle.lst
来自「MP3 整个 SDK」· LST 代码 · 共 1,099 行 · 第 1/4 页
LST
1,099 行
\ 020D CDF201 CALL LWRD ?0141
132 fmSendCommand(MC_SETVOLUME,FMStatus.volume);
\ 0210 ED4B0600 LD BC,(FMStatus+6)
\ 0214 0600 LD B,0
\ 0216 1E40 LD E,64
\ 0218 CDF401 CALL LWRD ?0142
133 fmSendCommand(MC_RESTORE,(int)&radio_param);
\ 021B 010000 LD BC,radio_param
\ 021E 1E45 LD E,69
\ 0220 CDF401 CALL LWRD ?0142
134 Search_Flag=fmSendCommand(MC_SEARCH,Direct);
\ 0223 210200 LD HL,2
\ 0226 39 ADD HL,SP
\ 0227 4E LD C,(HL)
\ 0228 0600 LD B,0
\ 022A 1E0A LD E,10
\ 022C CDF401 CALL LWRD ?0142
\ 022F E5 PUSH HL
\ 0230 210200 LD HL,2
\ 0233 39 ADD HL,SP
\ 0234 C1 POP BC
\ 0235 71 LD (HL),C
135 if(Search_Flag) //搜台成功后,MUTE释放
\ 0236 AF XOR A
\ 0237 B1 OR C
\ 0238 2811 JR Z,?0073
\ 023A ?0072:
136 {
137 if(FMStatus.volume)
\ 023A 3A0600 LD A,(FMStatus+6)
\ 023D B7 OR A
\ 023E 2803 JR Z,?0075
\ 0240 ?0074:
138 fmSendCommand(MC_MUTE,releaseMUTE);
\ 0240 CDEF01 CALL LWRD ?0140
\ 0243 ?0075:
139 fmSendCommand(MC_GETSTATUS,(int)&FMStatus);
\ 0243 010000 LD BC,FMStatus
\ 0246 1E83 LD E,131
\ 0248 CDF401 CALL LWRD ?0142
\ 024B ?0073:
140 }
141 Updateflag=1;
\ 024B 3E01 LD A,1
\ 024D 320000 LD (Updateflag),A
142 ShowFreqInFM();
\ 0250 3E00 LD A,BYTE3 ShowFreqInFM
\ 0252 21B102 LD HL,LWRD ShowFreqInFM
\ 0255 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
143 for(i=0;i<0x3999;i++)
\ 0258 DD210000 LD IX,0
\ 025C ?0077:
\ 025C 0199B9 LD BC,47513
\ 025F DDE5 PUSH IX
\ 0261 E1 POP HL
\ 0262 3E80 LD A,128
\ 0264 AC XOR H
\ 0265 67 LD H,A
\ 0266 ED42 SBC HL,BC
\ 0268 3004 JR NC,?0076
\ 026A ?0078:
\ 026A DD23 INC IX
\ 026C 18EE JR ?0077
\ 026E ?0076:
144 {
145 }
146 return Search_Flag;
\ 026E 210000 LD HL,0
\ 0271 39 ADD HL,SP
\ 0272 6E LD L,(HL)
147 }
\ 0273 C3E701 JP LWRD ?0071
\ 0276 ui_show_FMdata:
148
149 void ui_show_FMdata(char *buf, uchar x, uchar y)
150 {
\ 0276 DDE5 PUSH IX
\ 0278 C5 PUSH BC
\ 0279 D5 PUSH DE
\ 027A DDE1 POP IX
\ 027C ?0081:
151 while(1)
152 {
153 if(*buf!=0)main_ResShowPic(FMNUM0+*buf-0x30, x, y);
\ 027C AF XOR A
\ 027D DDB600 OR (IX+0)
\ 0280 2829 JR Z,?0080
\ 0282 ?0083:
\ 0282 210800 LD HL,8
\ 0285 39 ADD HL,SP
\ 0286 4E LD C,(HL)
\ 0287 C5 PUSH BC
\ 0288 210200 LD HL,2
\ 028B 39 ADD HL,SP
\ 028C 4E LD C,(HL)
\ 028D DD5E00 LD E,(IX+0)
\ 0290 1600 LD D,0
\ 0292 210900 LD HL,9
\ 0295 CD4100 CALL LWRD ?0138
\ 0298 F1 POP AF
154 else
\ 0299 ?0084:
155 break;
\ 0299 ?0085:
156 output8(0x4e,input8(0x4e)|0x08);
\ 0299 DB4E IN A,(78)
\ 029B CBDF SET 3,A
\ 029D D34E OUT (78),A
157 *buf++;
158 x+=25;
\ 029F 210000 LD HL,0
\ 02A2 39 ADD HL,SP
\ 02A3 7E LD A,(HL)
\ 02A4 C619 ADD A,25
\ 02A6 77 LD (HL),A
159 }
160 }
\ 02A7 DD23 INC IX
\ 02A9 18D1 JR ?0081
\ 02AB ?0080:
\ 02AB E1 POP HL
\ 02AC DDE1 POP IX
\ 02AE C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 02B1 ShowFreqInFM:
161
162
163 void ShowFreqInFM()
164 {
\ 02B1 C5 PUSH BC
\ 02B2 D5 PUSH DE
\ 02B3 FDE5 PUSH IY
\ 02B5 DDE5 PUSH IX
\ 02B7 DD210000 LD IX,0
\ 02BB DD39 ADD IX,SP
\ 02BD 21F6FF LD HL,65526
\ 02C0 39 ADD HL,SP
\ 02C1 F9 LD SP,HL
165 char buf[4];
166 long i;
167 int k,h;
168 char FMTab[5];
169
170 //频率换算及转换成ASCII码
171 i=0x10000+FMStatus.freq;
\ 02C2 2A0100 LD HL,(FMStatus+1)
\ 02C5 010000 LD BC,0
\ 02C8 C5 PUSH BC
\ 02C9 E5 PUSH HL
\ 02CA 69 LD L,C
\ 02CB 60 LD H,B
\ 02CC C1 POP BC
\ 02CD 09 ADD HL,BC
\ 02CE EB EX DE,HL
\ 02CF 210100 LD HL,1
\ 02D2 C1 POP BC
\ 02D3 ED4A ADC HL,BC
\ 02D5 4D LD C,L
\ 02D6 44 LD B,H
\ 02D7 EB EX DE,HL
\ 02D8 DD75F6 LD (IX-10),L
\ 02DB DD74F7 LD (IX-9),H
\ 02DE DD71F8 LD (IX-8),C
\ 02E1 DD70F9 LD (IX-7),B
172 if((i%100)>49)
\ 02E4 110000 LD DE,0
\ 02E7 D5 PUSH DE
\ 02E8 1E64 LD E,100
\ 02EA D5 PUSH DE
\ 02EB CD0000 CALL LWRD ?SL_MOD_L03
\ 02EE C5 PUSH BC
\ 02EF E5 PUSH HL
\ 02F0 4A LD C,D
\ 02F1 42 LD B,D
\ 02F2 213100 LD HL,49
\ 02F5 CD0000 CALL LWRD ?SL_CMP_L03
\ 02F8 69 LD L,C
\ 02F9 60 LD H,B
\ 02FA 302E JR NC,?0087
\ 02FC ?0086:
173 {
174 i=i/100+1;
\ 02FC E5 PUSH HL
\ 02FD D5 PUSH DE
\ 02FE DD4EF8 LD C,(IX-8)
\ 0301 DD46F9 LD B,(IX-7)
\ 0304 DD6EF6 LD L,(IX-10)
\ 0307 DD66F7 LD H,(IX-9)
\ 030A CD0000 CALL LWRD ?SL_DIV_L03
\ 030D C5 PUSH BC
\ 030E E5 PUSH HL
\ 030F 210100 LD HL,1
\ 0312 C1 POP BC
\ 0313 09 ADD HL,BC
\ 0314 EB EX DE,HL
\ 0315 6C LD L,H
\ 0316 C1 POP BC
\ 0317 ED4A ADC HL,BC
\ 0319 4D LD C,L
\ 031A 44 LD B,H
\ 031B EB EX DE,HL
\ 031C DD75F6 LD (IX-10),L
\ 031F DD74F7 LD (IX-9),H
\ 0322 DD71F8 LD (IX-8),C
\ 0325 DD70F9 LD (IX-7),B
175 }
176 else
\ 0328 1804 JR ?0088
\ 032A ?0087:
177 i=i/100;
\ 032A 39 ADD HL,SP
\ 032B CD0000 CALL LWRD ?SL_DIVASG_L03
\ 032E ?0088:
178 k=i/10;
\ 032E 210000 LD HL,0
\ 0331 E5 PUSH HL
\ 0332 2E0A LD L,10
\ 0334 E5 PUSH HL
\ 0335 DD4EF8 LD C,(IX-8)
\ 0338 DD46F9 LD B,(IX-7)
\ 033B DD6EF6 LD L,(IX-10)
\ 033E DD66F7 LD H,(IX-9)
\ 0341 CD0000 CALL LWRD ?SL_DIV_L03
\ 0344 E5 PUSH HL
\ 0345 FDE1 POP IY
179 h=(i%10)*10;
\ 0347 010000 LD BC,0
\ 034A C5 PUSH BC
\ 034B 0E0A LD C,10
\ 034D C5 PUSH BC
\ 034E DD4EF8 LD C,(IX-8)
\ 0351 DD46F9 LD B,(IX-7)
\ 0354 DD6EF6 LD L,(IX-10)
\ 0357 DD66F7 LD H,(IX-9)
\ 035A CD0000 CALL LWRD ?SL_MOD_L03
\ 035D 29 ADD HL,HL
\ 035E 4D LD C,L
\ 035F 44 LD B,H
\ 0360 29 ADD HL,HL
\ 0361 29 ADD HL,HL
\ 0362 09 ADD HL,BC
\ 0363 DD75FE LD (IX-2),L
180 if(k<100)*itoa_2(k,buf);
\ 0366 016480 LD BC,32868
\ 0369 FDE5 PUSH IY
\ 036B E1 POP HL
\ 036C 78 LD A,B
\ 036D AC XOR H
\ 036E 67 LD H,A
\ 036F ED42 SBC HL,BC
\ 0371 210400 LD HL,4
\ 0374 3011 JR NC,?0090
\ 0376 ?0089:
\ 0376 39 ADD HL,SP
\ 0377 4D LD C,L
\ 0378 44 LD B,H
\ 0379 FDE5 PUSH IY
\ 037B E1 POP HL
\ 037C 5D LD E,L
\ 037D 3E00 LD A,BYTE3 itoa_2
\ 037F 210000 LD HL,LWRD itoa_2
\ 0382 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
181 else
\ 0385 180E JR ?0091
\ 0387 ?0090:
182 *itoa_3(k,buf);
\ 0387 39 ADD HL,SP
\ 0388 4D LD C,L
\ 0389 44 LD B,H
\ 038A FDE5 PUSH IY
\ 038C D1 POP DE
\ 038D 3E00 LD A,BYTE3 itoa_3
\ 038F 210000 LD HL,LWRD itoa_3
\ 0392 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0395 ?0091:
183 strcpy(Freqtab,buf);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?