autosearchhandle.lst
来自「MP3 整个 SDK」· LST 代码 · 共 1,436 行 · 第 1/5 页
LST
1,436 行
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 25/Dec/106 17:01:37 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d90f\ap\ap_radio\autosearchhandle.c #
# List file = d:\case_i_d90f\ap\ap_radio\list\autosearchhandle.lst#
# Object file = d:\case_i_d90f\ap\ap_radio\obj\autosearchhandle.r01 #
# ASM file = d:\case_i_d90f\ap\ap_radio\list\autosearchhandle.s01#
# Command line = -v0 -mb -OD:\case_i_d90f\ap\ap_radio\Obj\ -e -K -w #
# -gA -s9 -RCODE -r0 -DNAPDEBUG #
# -LD:\case_i_d90f\ap\ap_radio\List\ -q -t8 #
# -AD:\case_i_d90f\ap\ap_radio\List\ #
# -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\ #
# D:\CASE_I_D90F\AP\AP_RADIO\AutoSearchHandle.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME autosearchhandle(17)
\ 0000 RSEG CODE_2(0)
\ 0000 RSEG CSTR(0)
\ 0000 RSEG UDATA0(0)
\ 0000 PUBLIC AutoSearchHandle
\ 0000 PUBLIC AutoTabNum
\ 0000 PUBLIC CleanStationCount
\ 0000 PUBLIC FMAutoTab
\ 0000 EXTERN FMStatus
\ 0000 EXTERN Freqtab
\ 0000 EXTERN GetBattery
\ 0000 EXTERN ResShowPic
\ 0000 PUBLIC RestartSearch
\ 0000 PUBLIC Search_Show2
\ 0000 PUBLIC ShowFreqInFM2
\ 0000 PUBLIC ShowStationCount
\ 0000 EXTERN TryPlayingHandle
\ 0000 EXTERN Updateflag
\ 0000 EXTERN ap_get_message
\ 0000 EXTERN ap_handle_hotkey
\ 0000 EXTERN fmSendCommand
\ 0000 EXTERN g_comval
\ 0000 EXTERN itoa_2
\ 0000 EXTERN itoa_3
\ 0000 EXTERN radio_param
\ 0000 EXTERN ui_show_FMdata
\ 0000 EXTERN ui_show_batt
\ 0000 EXTERN ui_show_data
\ 0000 EXTERN ui_show_volfm
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?US_DIV_L02
\ 0000 EXTERN ?SL_DIV_L03
\ 0000 EXTERN ?SL_MOD_L03
\ 0000 EXTERN ?SL_CMP_L03
\ 0000 EXTERN ?SL_DIVASG_L03
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 EXTERN ?STRCPY_L11
\ 0000 EXTERN ?STRCAT_L11
\ 0000 RSEG CODE_2
\ 0000 ShowStationCount:
1 /*
2 *******************************************************************************
3 * ACTOS AP
4 * main ap of sdk 3.0
5 *
6 * (c) Copyright, Actions Co,Ld.
7 * All Right Reserved
8 *
9 * $Id: AutoSearchHandle.c,v 1.1.1.1 2006/05/22 03:24:00 selina Exp $
10 *******************************************************************************
11 */
12
13 #pragma codeseg(CODE_2)
14
15 #include "ap_radio.h"
16 #include "actos.h"
17
18 //extern slider_t slider;
19 extern comval_t F_comval;
20 extern WORD FMStationTab[40]; // 前20个是US, 后20个是JP.
21 extern fm_play_status_t FMStatus;
22 extern FMRADIO_param_t radio_param;
23 extern char Freqtab[10];
24 extern char Updateflag;
25 WORD FMAutoTab[20]; // 全自动收台,预存台.
26 BYTE AutoTabNum; // 预存台数.
27
28 extern int TryPlayingHandle(void);
29 /*
30 ********************************************************************************
31 * Description : 显示电台号.
32 *
33 * Arguments :
34 *
35 * Returns :
36 *
37 * Notes :
38 *
39 ********************************************************************************
40 */
41 void ShowStationCount(int count)
42 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
\ 0002 F5 PUSH AF
\ 0003 F5 PUSH AF
43
44
45 char FMTab[3];
46 ResShowPic(FMCH,95,8);
\ 0004 0E08 LD C,8
\ 0006 C5 PUSH BC
\ 0007 CD3800 CALL LWRD ?0173
\ 000A F1 POP AF
47 itoa_2(count,FMTab);
\ 000B 210000 LD HL,0
\ 000E 39 ADD HL,SP
\ 000F 4D LD C,L
\ 0010 44 LD B,H
\ 0011 210400 LD HL,4
\ 0014 39 ADD HL,SP
\ 0015 5E LD E,(HL)
\ 0016 3E00 LD A,BYTE3 itoa_2
\ 0018 210000 LD HL,LWRD itoa_2
\ 001B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
48 ui_show_data(FMTab,114,8);
\ 001E 0E08 LD C,8
\ 0020 C5 PUSH BC
\ 0021 0E72 LD C,114
\ 0023 210200 LD HL,2
\ 0026 39 ADD HL,SP
\ 0027 EB EX DE,HL
\ 0028 3E00 LD A,BYTE3 ui_show_data
\ 002A 210000 LD HL,LWRD ui_show_data
\ 002D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0030 E1 POP HL
49
50
51 }
\ 0031 E1 POP HL
\ 0032 E1 POP HL
\ 0033 E1 POP HL
\ 0034 C1 POP BC
\ 0035 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0038 ?0173:
\ 0038 0E5F LD C,95
\ 003A 113400 LD DE,52
\ 003D ?0174:
\ 003D 3E00 LD A,BYTE3 ResShowPic
\ 003F 210000 LD HL,LWRD ResShowPic
\ 0042 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0045 CleanStationCount:
52 /*
53 ********************************************************************************
54 * Description : 清除电台号
55 *
56 * Arguments :
57 *
58 * Returns :
59 *
60 * Notes :
61 *
62 ********************************************************************************
63 */
64 void CleanStationCount(void)
65 {
\ 0045 C5 PUSH BC
\ 0046 D5 PUSH DE
66 ResShowPic(FMCHBG,95,8);
\ 0047 0E08 LD C,8
\ 0049 C5 PUSH BC
\ 004A 0E5F LD C,95
\ 004C 113500 LD DE,53
\ 004F CD3D00 CALL LWRD ?0174
\ 0052 F1 POP AF
67 }
\ 0053 D1 POP DE
\ 0054 C1 POP BC
\ 0055 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0058 ShowFreqInFM2:
68
69 /*
70 ********************************************************************************
71 * Description : 显示全自动搜台界面
72 *
73 * Arguments :
74 *
75 * Returns :
76 *
77 * Notes :
78 *
79 ********************************************************************************
80 */
81 void ShowFreqInFM2()
82 {
\ 0058 C5 PUSH BC
\ 0059 D5 PUSH DE
\ 005A FDE5 PUSH IY
\ 005C DDE5 PUSH IX
\ 005E DD210000 LD IX,0
\ 0062 DD39 ADD IX,SP
\ 0064 21F0FF LD HL,65520
\ 0067 39 ADD HL,SP
\ 0068 F9 LD SP,HL
83 // char buf[4]={"FM"};
84 char buf[4];
85 long i;
86 int k,h;
87 char FMTab[5];
88
89 i=0x10000+FMStatus.freq;
\ 0069 2A0100 LD HL,(FMStatus+1)
\ 006C 010000 LD BC,0
\ 006F C5 PUSH BC
\ 0070 E5 PUSH HL
\ 0071 69 LD L,C
\ 0072 60 LD H,B
\ 0073 C1 POP BC
\ 0074 09 ADD HL,BC
\ 0075 EB EX DE,HL
\ 0076 210100 LD HL,1
\ 0079 C1 POP BC
\ 007A ED4A ADC HL,BC
\ 007C 4D LD C,L
\ 007D 44 LD B,H
\ 007E EB EX DE,HL
\ 007F DD75F0 LD (IX-16),L
\ 0082 DD74F1 LD (IX-15),H
\ 0085 DD71F2 LD (IX-14),C
\ 0088 DD70F3 LD (IX-13),B
90 if((i%100)>49)
\ 008B 110000 LD DE,0
\ 008E D5 PUSH DE
\ 008F 1E64 LD E,100
\ 0091 D5 PUSH DE
\ 0092 CD0000 CALL LWRD ?SL_MOD_L03
\ 0095 C5 PUSH BC
\ 0096 E5 PUSH HL
\ 0097 4A LD C,D
\ 0098 42 LD B,D
\ 0099 213100 LD HL,49
\ 009C CD0000 CALL LWRD ?SL_CMP_L03
\ 009F 69 LD L,C
\ 00A0 60 LD H,B
\ 00A1 302E JR NC,?0003
\ 00A3 ?0002:
91 {
92 i=i/100+1;
\ 00A3 E5 PUSH HL
\ 00A4 D5 PUSH DE
\ 00A5 DD4EF2 LD C,(IX-14)
\ 00A8 DD46F3 LD B,(IX-13)
\ 00AB DD6EF0 LD L,(IX-16)
\ 00AE DD66F1 LD H,(IX-15)
\ 00B1 CD0000 CALL LWRD ?SL_DIV_L03
\ 00B4 C5 PUSH BC
\ 00B5 E5 PUSH HL
\ 00B6 210100 LD HL,1
\ 00B9 C1 POP BC
\ 00BA 09 ADD HL,BC
\ 00BB EB EX DE,HL
\ 00BC 6C LD L,H
\ 00BD C1 POP BC
\ 00BE ED4A ADC HL,BC
\ 00C0 4D LD C,L
\ 00C1 44 LD B,H
\ 00C2 EB EX DE,HL
\ 00C3 DD75F0 LD (IX-16),L
\ 00C6 DD74F1 LD (IX-15),H
\ 00C9 DD71F2 LD (IX-14),C
\ 00CC DD70F3 LD (IX-13),B
93 }
94 else
\ 00CF 1804 JR ?0004
\ 00D1 ?0003:
95 i=i/100;
\ 00D1 39 ADD HL,SP
\ 00D2 CD0000 CALL LWRD ?SL_DIVASG_L03
\ 00D5 ?0004:
96 k=i/10;
\ 00D5 210000 LD HL,0
\ 00D8 E5 PUSH HL
\ 00D9 2E0A LD L,10
\ 00DB E5 PUSH HL
\ 00DC DD4EF2 LD C,(IX-14)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?