fm_drv.lst
来自「MP3 整个 SDK」· LST 代码 · 共 211 行
LST
211 行
################################################################################
# #
# IAR Systems Z80/64180 Assembler V3.03A/WIN 25/Dec/106 17:01:38 #
# #
# Target option = z80 #
# Source file = d:\case_i_d90f\ap\ap_radio\philips\fm_drv.msa #
# List file = d:\case_i_d90f\ap\ap_radio\list\fm_drv.lst #
# Object file = d:\case_i_d90f\ap\ap_radio\obj\fm_drv.r01 #
# Command line = -v0 -OD:\case_i_d90f\ap\ap_radio\Obj\ -s+ -M<> #
# -w+ -r -LD:\case_i_d90f\ap\ap_radio\List\ -t8 #
# -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\ #
# D:\CASE_I_D90F\AP\AP_RADIO\PHILIPS\FM_DRV.msa #
# #
# (c) Copyright IAR Systems 1996 #
################################################################################
1 000000 /***************************************************
*****************************************
2 000000 PHILIPS TEA5767 FM module driver
3 000000 为3961准备的汇编与C的转接口
4 000000 writen by GONGJIAN. for 3961
5 000000 last update 05-3-30 14:57
6 000000 ****************************************************
******
******
******
******
******
******
****/
7 000000 public FM_Init
8 000000 public FM_Exit
9 000000 public FM_SetFreq
10 000000 public FM_MUTE
11 000000 public FM_SetAudioMode
12 000000 public FM_Standby
13 000000 public FM_Search
14 000000 public FM_GetStatus
15 000000 public FM_VolumeSet
16 000000
17 000000 extern FM_INIT_Drv
18 000000 extern FM_EXIT_Drv
19 000000 extern FM_SETFREQ_Drv
20 000000 extern FM_SEARCH_Drv
21 000000 extern FM_SETMUTE_Drv
22 000000 extern FM_STANDBY_Drv
23 000000 extern FM_STEREO_Drv
24 000000 extern FM_GETSTATUS_Drv
25 000000 extern FM_VolumeSet_Drv
26 000000 extern FM_result
27 000000 extern buffer
28 000000 //==================================================
================
29 000000
30 000000 RSEG FM_CTRL_D
31 000000
32 000000 //==============================
33 000000 FM_Init:
34 000000 D5 PUSH DE
35 000001 E5 PUSH HL
36 000002
37 000002 21.... LD HL,LWRD buffer
38 000005 7B LD A,E //band info.
39 000006 77 LD (HL),A
40 000007 23 INC HL
41 000008 79 LD A,C //search lev
42 000009 77 LD (HL),A
43 00000A 23 INC HL
44 00000B 3E01 LD A,01H //13MHZ or 32.7
68KHZ crystal
45 00000D 77 LD (HL),A
46 00000E 11.... LD DE,LWRD buffer
47 000011 CD.... CALL LWRD FM_INIT_Drv //INitializatio
n FM
48 000014 3A.... LD A,(LWRD FM_result)
49 000017
50 000017 E1 POP HL
51 000018 D1 POP DE
52 000019 C9 RET
53 00001A //===============================
54 00001A
55 00001A //============================== =
56 00001A FM_Exit:
57 00001A F5 PUSH AF
58 00001B CD.... CALL LWRD FM_EXIT_Drv //disable bus
59 00001E
60 00001E F1 POP AF
61 00001F C9 RET
62 000020
63 000020 //===============================
64 000020
65 000020 //===============================
66 000020 FM_SetFreq:
67 000020 D5 PUSH DE
68 000021 E5 PUSH HL
69 000022 21.... LD HL,LWRD buffer //buffer中为频率
值,3byte
70 000025 73 LD (HL),E
71 000026 23 INC HL
72 000027 72 LD (HL),D
73 000028 11.... LD DE,LWRD buffer
74 00002B CD.... CALL LWRD FM_SETFREQ_Drv
75 00002E 3A.... LD A,(LWRD FM_result)
76 000031 E1 POP HL
77 000032 D1 POP DE
78 000033 C9 RET
79 000034 //===============================
80 000034
81 000034 //===============================
82 000034 FM_MUTE:
83 000034 D5 PUSH DE
84 000035 7B LD A,E
85 000036 11.... LD DE,LWRD buffer
86 000039 12 LD (DE),A
87 00003A CD.... CALL LWRD FM_SETMUTE_Drv
88 00003D 3A.... LD A,(LWRD FM_result)
89 000040 D1 POP DE
90 000041 C9 RET
91 000042 //===============================
92 000042
93 000042 //===============================
94 000042 FM_SetAudioMode:
95 000042 D5 PUSH DE
96 000043 7B LD A,E
97 000044 11.... LD DE,LWRD buffer
98 000047 12 LD (DE),A
99 000048 CD.... CALL LWRD FM_STEREO_Drv
100 00004B 3A.... LD A,(LWRD FM_result)
101 00004E D1 POP DE
102 00004F C9 RET
103 000050 //===============================
104 000050
105 000050 //===============================
106 000050 FM_Standby:
107 000050 D5 PUSH DE
108 000051 11.... LD DE,LWRD buffer
109 000054 3E01 LD A,01H
110 000056 12 LD (DE),A
111 000057 CD.... CALL LWRD FM_STANDBY_Drv
112 00005A 3A.... LD A,(LWRD FM_result)
113 00005D D1 POP DE
114 00005E C9 RET
115 00005F //=================================
116 00005F
117 00005F //=================================
118 00005F FM_Search:
119 00005F D5 PUSH DE
120 000060 E5 PUSH HL
121 000061 21.... LD HL,LWRD buffer //buffer中为
频率值,2byte
122 000064 73 LD (HL),E
123 000065 23 INC HL
124 000066 72 LD (HL),D
125 000067 23 INC HL
126 000068 79 LD A,C
127 000069 77 LD (HL),A // Search di
rect
128 00006A
129 00006A 11.... LD DE,LWRD buffer
130 00006D CD.... CALL LWRD FM_SEARCH_Drv
131 000070 3A.... LD A,(LWRD FM_result)
132 000073 E1 POP HL
133 000074 D1 POP DE
134 000075 C9 RET
135 000076 //===========================================
136 000076
137 000076 //===========================================
138 000076 FM_GetStatus:
139 000076 D5 PUSH DE
140 000077 11.... LD DE,LWRD buffer
141 00007A CD.... CALL LWRD FM_GETSTATUS_Drv
142 00007D 21.... LD HL,LWRD buffer
143 000080
144 000080 D1 POP DE
145 000081
146 000081 7E LD A,(HL)
147 000082 12 LD (DE),A
148 000083 13 INC DE
149 000084 23 INC HL
150 000085 7E LD A,(HL)
151 000086 12 LD (DE),A
152 000087 23 INC HL
153 000088 13 INC DE
154 000089 7E LD A,(HL)
155 00008A 12 LD (DE),A
156 00008B 3A.... LD A,(LWRD FM_result)
157 00008E C9 RET
158 00008F //==============================================
159 00008F FM_VolumeSet:
160 00008F D5 PUSH DE
161 000090 7B LD A,E
162 000091 11.... LD DE,LWRD buffer
163 000094 12 LD (DE),A
164 000095 CD.... CALL LWRD FM_VolumeSet_Drv
165 000098 3A.... LD A,(LWRD FM_result)
166 00009B D1 POP DE
167 00009C C9 RET
168 00009D //==============================================
169 00009D END
##############################
# CRC:8CED #
# Errors: 0 #
# Warnings: 0 #
# Bytes: 157 #
##############################
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?