📄 pic_tea5767.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL2
Tue Feb 17 19:06:13 2009
1 processor 16F877A
2 opt pw 79
3 psect __Z49231UD_,global,delta=1
4 psect rdata_0,global,class=BANK0,space=1,delta
+ =1
5 psect idata_0,global,class=CODE,delta=2
6 psect text3,local,class=CODE,delta=2
7 psect text8,local,class=CODE,delta=2
8 psect text14,local,class=CODE,delta=2
9 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
10 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20 0000
21
22 psect rdata_0
23 0034 _tea5767_write_data
24 0034 ds 1
25 0035 ds 1
26 0036 ds 1
27 0037 ds 1
28 0038 ds 1
29 0000 _delay$delay_time set ?_delay
30
31 psect idata_0
32 07FB 3429 retlw 41
33 07FC 34C2 retlw -62
34 07FD 3420 retlw 32
35 07FE 3411 retlw 17
36 07FF 3400 retlw 0
37
38 psect text3
39 04C9 _lcd_disp
40 ; _adr assigned to ?a_lcd_disp+0
41 0000 _lcd_disp$adr set ?a_lcd_disp
42 ;_adr stored from w
43 04C9 0183 clrf 3 ;select bank 0
44 04CA 00AD movwf ?a_lcd_disp
45 ;pic_tea5767.c: 73: lcd_command_writedata(0x00,
+ adr);
46 04CB 00AE movwf ?_lcd_command_writedata
47 04CC 3000 movlw 0
48 04CD 25E0 fcall _lcd_command_writedata
49 ;pic_tea5767.c: 74: lcd_command_writedata(0xff,
+ disp_data);
50 04CE 082C movf ?_lcd_disp,w
51 04CF 00AE movwf ?_lcd_command_writedata
52 04D0 30FF movlw -1
53 04D1 2DE0 ljmp _lcd_command_writedata
54 ;pic_tea5767.c: 110: void get_frequency(void)
55 ;pic_tea5767.c: 111: {
56 04D2 _get_frequency
57 ; _hlsi assigned to ?a_get_frequency+0
58 0000 _get_frequency$hlsi set ?a_get_frequency
59 ; _npll assigned to ?a_get_frequency+1
60 0000 _get_frequency$npll set ?a_get_frequency+1
61 ;pic_tea5767.c: 112: unsigned char hlsi;
62 04D2 0183 clrf 3 ;select bank 0
63 04D3 01B0 clrf ?a_get_frequency+1
64 04D4 01B1 clrf ?a_get_frequency+2
65 04D5 01B2 clrf ?a_get_frequency+3
66 04D6 01B3 clrf ?a_get_frequency+4
67 ;pic_tea5767.c: 115: npll = (double)pll;
68 04D7 0821 movf _pll+1,w ;volatile
69 04D8 00F1 movwf btemp+1
70 04D9 0820 movf _pll,w ;volatile
71 04DA 00F0 movwf btemp
72 04DB 120A 118A 2760 fcall lwtofl
+ 120A 118A
73 04E0 0870 movf btemp,w
74 04E1 00B0 movwf ?a_get_frequency+1
75 04E2 0871 movf btemp+1,w
76 04E3 00B1 movwf ?a_get_frequency+2
77 04E4 0872 movf btemp+2,w
78 04E5 00B2 movwf ?a_get_frequency+3
79 04E6 0873 movf btemp+3,w
80 04E7 00B3 movwf ?a_get_frequency+4
81 ;pic_tea5767.c: 116: hlsi = tea5767_write_data[
+ 2] & 0x10;
82 04E8 0836 movf _tea5767_write_data+2,w ;volatile
83 04E9 3910 andlw 16
84 04EA 00AF movwf ?a_get_frequency
85 ;pic_tea5767.c: 117: if (hlsi)
86 04EB 08AF movf ?a_get_frequency
87 04EC 1903 btfsc 3,2
88 04ED 2D18 goto l23
89 ;pic_tea5767.c: 118: frequency =(unsigned long)
+ ((double)(npll) * (double)8.192 - 225);
90 04EE 0830 movf ?a_get_frequency+1,w
91 04EF 00F4 movwf btemp+4
92 04F0 0831 movf ?a_get_frequency+2,w
93 04F1 00F5 movwf btemp+5
94 04F2 0832 movf ?a_get_frequency+3,w
95 04F3 00F6 movwf btemp+6
96 04F4 0833 movf ?a_get_frequency+4,w
97 04F5 00F7 movwf btemp+7
98 04F6 306F movlw 111
99 04F7 00F0 movwf btemp
100 04F8 3012 movlw 18
101 04F9 00F1 movwf btemp+1
102 04FA 3003 movlw 3
103 04FB 00F2 movwf btemp+2
104 04FC 3041 movlw 65
105 04FD 00F3 movwf btemp+3
106 04FE 120A 118A 2766 fcall flmul
107 0501 01F4 clrf btemp+4
108 0502 01F5 clrf btemp+5
109 0503 3061 movlw 97
110 0504 00F6 movwf btemp+6
111 0505 3043 movlw 67
112 0506 00F7 movwf btemp+7
113 0507 120A 118A 26E1 fcall flsub
114 050A 120A 118A 270A fcall fltol
+ 120A 118A
115 050F 0870 movf btemp,w
116 0510 00A2 movwf _frequency ;volatile
117 0511 0871 movf btemp+1,w
118 0512 00A3 movwf _frequency+1 ;volatile
119 0513 0872 movf btemp+2,w
120 0514 00A4 movwf _frequency+2 ;volatile
121 0515 0873 movf btemp+3,w
122 0516 00A5 movwf _frequency+3 ;volatile
123 ;pic_tea5767.c: 119: else
124 0517 0008 return
125 0518 l23
126 ;pic_tea5767.c: 120: frequency = (unsigned long
+ )((double)(npll) * (double)8.192 + 225);
127 0518 0830 movf ?a_get_frequency+1,w
128 0519 00F4 movwf btemp+4
129 051A 0831 movf ?a_get_frequency+2,w
130 051B 00F5 movwf btemp+5
131 051C 0832 movf ?a_get_frequency+3,w
132 051D 00F6 movwf btemp+6
133 051E 0833 movf ?a_get_frequency+4,w
134 051F 00F7 movwf btemp+7
135 0520 306F movlw 111
136 0521 00F0 movwf btemp
137 0522 3012 movlw 18
138 0523 00F1 movwf btemp+1
139 0524 3003 movlw 3
140 0525 00F2 movwf btemp+2
141 0526 3041 movlw 65
142 0527 00F3 movwf btemp+3
143 0528 120A 118A 2766 fcall flmul
144 052B 01F4 clrf btemp+4
145 052C 01F5 clrf btemp+5
146 052D 3061 movlw 97
147 052E 00F6 movwf btemp+6
148 052F 3043 movlw 67
149 0530 00F7 movwf btemp+7
150 0531 120A 118A 26E3 fcall fladd
151 0534 120A 118A 270A fcall fltol
+ 120A 118A
152 0539 0870 movf btemp,w
153 053A 00A2 movwf _frequency ;volatile
154 053B 0871 movf btemp+1,w
155 053C 00A3 movwf _frequency+1 ;volatile
156 053D 0872 movf btemp+2,w
157 053E 00A4 movwf _frequency+2 ;volatile
158 053F 0873 movf btemp+3,w
159 0540 00A5 movwf _frequency+3 ;volatile
160 ;pic_tea5767.c: 121: }
161 0541 0008 return
162 ;pic_tea5767.c: 93: void send_init(void)
163 ;pic_tea5767.c: 94: {
164 0542 _send_init
165 ;pic_tea5767.c: 95: INTCON = 0x00;
166 0542 018B clrf 11 ;volatile
167 ;pic_tea5767.c: 96: SSPSTAT = 0x00;
168 0543 1683 bsf 3,5
169 0544 1303 bcf 3,6 ;carry unused
170 0545 0194 clrf 20 ;volatile
171 ;pic_tea5767.c: 97: SSPCON = 0x00;
172 0546 1283 bcf 3,5
173 0547 0194 clrf 20 ;volatile
174 ;pic_tea5767.c: 98: SSPCON2 = 0x00;
175 0548 1683 bsf 3,5
176 0549 0191 clrf 17 ;volatile
177 ;pic_tea5767.c: 99: TRISC3 = 1;
178 054A 1587 bsf 7,3
179 ;pic_tea5767.c: 100: TRISC4 = 1;
180 054B 1607 bsf 7,4
181 ;pic_tea5767.c: 101: SSPIF = 0;
182 054C 1283 bcf 3,5
183 054D 118C bcf 12,3
184 ;pic_tea5767.c: 102: SSPIE = 0;
185 054E 1683 bsf 3,5
186 054F 118C bcf 12,3
187 ;pic_tea5767.c: 103: SSPSTAT = 0x40;
188 0550 3040 movlw 64
189 0551 0094 movwf 20 ;volatile
190 ;pic_tea5767.c: 104: SSPCON = 0x08;
191 0552 3008 movlw 8
192 0553 1283 bcf 3,5
193 0554 0094 movwf 20 ;volatile
194 ;pic_tea5767.c: 105: SSPCON2 = 0x00;
195 0555 1683 bsf 3,5
196 0556 0191 clrf 17 ;volatile
197 ;pic_tea5767.c: 106: SSPADD = 0x04;
198 0557 3004 movlw 4
199 0558 0093 movwf 19 ;volatile
200 ;pic_tea5767.c: 107: SSPEN = 1;
201 0559 1283 bcf 3,5
202 055A 1694 bsf 20,5
203 ;pic_tea5767.c: 108: }
204 055B 0008 return
205 ;pic_tea5767.c: 134: void radio_write(void)
206 ;pic_tea5767.c: 135: {
207 055C _radio_write
208 ; _i assigned to ?a_radio_write+0
209 0000 _radio_write$i set ?a_radio_write
210 ;pic_tea5767.c: 136: unsigned char i;
211 055C 2542 fcall _send_init
212 ;pic_tea5767.c: 139: SEN = 1;
213 055D 1683 bsf 3,5
214 055E 1411 bsf 17,0
215 ;pic_tea5767.c: 140: for( i = 2; --i;);
216 055F 3002 movlw 2
217 0560 1283 bcf 3,5
218 0561 00AC movwf ?a_radio_write
219 0562 l32
220 0562 0BAC decfsz ?a_radio_write
221 0563 2D62 goto l32
222 ;pic_tea5767.c: 141: while (!SSPIF);
223 0564 l33
224 0564 1D8C btfss 12,3
225 0565 2D64 goto l33
226 ;pic_tea5767.c: 142: SSPIF = 0;
227 0566 118C bcf 12,3
228 ;pic_tea5767.c: 143: SSPBUF = 0xc0;
229 0567 30C0 movlw -64
230 0568 0093 movwf 19 ;volatile
231 ;pic_tea5767.c: 144: while (!SSPIF);
232 0569 l36
233 0569 1D8C btfss 12,3
234 056A 2D69 goto l36
235 ;pic_tea5767.c: 145: SSPIF = 0;
236 056B 118C bcf 12,3
237 ;pic_tea5767.c: 146: for (i = 0; i < 5; i ++)
238 056C 01AC clrf ?a_radio_write
239 056D l39
240 ;pic_tea5767.c: 147: {
241 ;pic_tea5767.c: 148: SSPBUF = tea5767_write_dat
+ a[i];
242 056D 082C movf ?a_radio_write,w
243 056E 3E34 addlw _tea5767_write_data
244 056F 0084 movwf 4
245 0570 1383 bcf 3,7
246 0571 0800 movf 0,w
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -