📄 1.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-88888 Sat May 17 23:11:23 2008
Licensed to: ONE TWO
1 processor 16F877A
2 opt pw 79
3 psect __Z88888RS_,global,delta=1
4 psect strings,global,class=STRING,delta=2
5 psect const1,local,class=CONST,delta=2
6 psect text9,local,class=CODE,delta=2
7 psect intcode,global,class=CODE,delta=2
8 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
9 psect intret,global,class=CODE,delta=2
10 psect intentry,global,class=CODE,delta=2
11 psect intsave,global,class=BANK0,space=1,delta
+ =1
12 psect text10,local,class=CODE,delta=2
13 psect text13,local,class=CODE,delta=2
14 psect rbss_2,global,class=BANK2,space=1,delta=
+ 1
15 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
16 psect rbss_1,global,class=BANK1,space=1,delta=
+ 1
17 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26 0000
27 0000
28
29 psect __Z88888RS_
30 0190
31 0190
32
33 psect const1
34 004A 0782 addwf 2
35 004B _web
36 004B 3446 retlw 70
37 004C 3472 retlw 114
38 004D 3465 retlw 101
39 004E 3471 retlw 113
40 004F 3475 retlw 117
41 0050 3465 retlw 101
42 0051 346E retlw 110
43 0052 3463 retlw 99
44 0053 3479 retlw 121
45 0054 3420 retlw 32
46 0055 3420 retlw 32
47 0056 3420 retlw 32
48 0057 3420 retlw 32
49 0058 3420 retlw 32
50 0059 3420 retlw 32
51 005A 3420 retlw 32
52 005B 3420 retlw 32
53 005C 3420 retlw 32
54 005D 3400 retlw 0
55
56 psect intcode
57 ;1.c: 31: void interrupt cplint(void)
58 ;1.c: 32: {
59 000D _cplint
60 000D int_func
61 ;1.c: 33: if(CCP1IF==1)
62 000D 0183 clrf 3 ;select bank 0
63 000E 1D0C btfss 12,2
64 000F 2827 goto l21
65 ;1.c: 34: {CCP1IF=0;
66 0010 110C bcf 12,2
67 ;1.c: 35: TMR1IF=0;
68 0011 100C bcf 12,0
69 ;1.c: 37: cplu.cple[0]=CCPR1L;
70 0012 0815 movf 21,w ;volatile
71 0013 00A0 movwf _cplu
72 ;1.c: 38: cplu.cple[1]=CCPR1H;
73 0014 0816 movf 22,w ;volatile
74 0015 00A1 movwf _cplu+1
75 ;1.c: 39: cplz[data]=cplu.y1;
76 0016 1703 bsf 3,6
77 0017 0811 movf _data^(0+256),w
78 0018 0711 addwf _data^(0+256),w
79 0019 3EA0 addlw _cplz
80 001A 0084 movwf 4
81 001B 1383 bcf 3,7
82 001C 1303 bcf 3,6 ;carry unused
83 001D 0820 movf _cplu,w
84 001E 0080 movwf 0
85 001F 0A84 incf 4
86 0020 0821 movf _cplu+1,w
87 0021 0080 movwf 0
88 ;1.c: 40: CCP1CON=CCP1CON^0x01;
89 0022 3001 movlw 1
90 0023 0697 xorwf 23 ;volatile
91 ;1.c: 41: data++;
92 0024 1703 bsf 3,6
93 0025 0A91 incf _data^(0+256)
94 ;1.c: 42: count--;
95 0026 0390 decf _count^(0+256)
96 ;1.c: 44: }
97 0027 l21
98 0027 1303 bcf 3,6 ;carry unused
99 0028 1283 bcf 3,5
100
101 psect intsave_0
102 007C saved_w
103 007C ds 1
104
105 psect intret
106 0029 0834 movf saved_fsr,w
107 002A 0084 movwf 4 ;restore FSR
108 002B 0835 movf saved_pclath,w
109 002C 008A movwf 10
110 002D int_restore
111 002D 0833 movf saved_status,w
112 002E 0083 movwf 3
113 002F 0EFC swapf saved_w
114 0030 0E7C swapf saved_w,w
115 0031 0009 retfie
116
117 psect intentry
118 0004 int_entry
119 0004 00FC movwf saved_w
120 0005 0803 movf 3,w
121 0006 0183 clrf 3
122 0007 00B3 movwf saved_status
123 0008 0804 movf 4,w
124 0009 00B4 movwf saved_fsr
125 000A 080A movf 10,w
126 000B 00B5 movwf saved_pclath
127 000C 018A clrf 10
128
129 psect intsave
130 0033 saved_status
131 0033 ds 1
132 0034 saved_fsr
133 0034 ds 1
134 0035 saved_pclath
135 0035 ds 1
136
137 psect text10
138 ;1.c: 47: void period()
139 ;1.c: 48: {
140 0527 _period
141 ;1.c: 49: T5=cplz[10]-cplz[0];
142 0527 1683 bsf 3,5
143 0528 1303 bcf 3,6 ;carry unused
144 0529 0835 movf (_cplz+21)^(0+128),w
145 052A 00F1 movwf btemp+1
146 052B 0834 movf (_cplz+20)^(0+128),w
147 052C 00F0 movwf btemp
148 052D 0820 movf _cplz^(0+128),w
149 052E 02F0 subwf btemp
150 052F 1C03 btfss 3,0
151 0530 03F1 decf btemp+1
152 0531 0821 movf (_cplz+1)^(0+128),w
153 0532 02F1 subwf btemp+1
154 0533 0870 movf btemp,w
155 0534 1283 bcf 3,5
156 0535 1703 bsf 3,6
157 0536 0093 movwf _T5^(0+256)
158 0537 0871 movf btemp+1,w
159 0538 0094 movwf (_T5+1)^(0+256)
160 ;1.c: 50: RE5=(double)T5;
161 0539 00F1 movwf btemp+1
162 053A 0813 movf _T5^(0+256),w
163 053B 00F0 movwf btemp
164 053C 120A 118A 279A fcall awtoft
165 053F 0870 movf btemp,w
166 0540 0097 movwf _RE5^(0+256)
167 0541 0871 movf btemp+1,w
168 0542 0098 movwf (_RE5+1)^(0+256)
169 0543 0872 movf btemp+2,w
170 0544 0099 movwf (_RE5+2)^(0+256)
171 ;1.c: 51: RE5=RE5/5;
172 0545 01F3 clrf btemp+3
173 0546 30A0 movlw 160
174 0547 00F4 movwf btemp+4
175 0548 3040 movlw 64
176 0549 00F5 movwf btemp+5
177 054A 3017 movlw _RE5^(0+256)
178 054B 0084 movwf 4
179 054C 1783 bsf 3,7
180 054D 120A 118A 2723 fcall ftdiv_f
+ 120A 118A
181 ;1.c: 52: }
182 0552 0183 clrf 3 ;select bank 0
183 0553 0008 return
184 ;1.c: 54: void frequency()
185 ;1.c: 55: {
186 0554 _frequency
187 ;1.c: 56: period();
188 0554 2527 fcall _period
189 ;1.c: 57: RE5=1000000/RE5;
190 0555 1703 bsf 3,6
191 0556 0817 movf _RE5^(0+256),w
192 0557 00F3 movwf btemp+3
193 0558 0818 movf (_RE5+1)^(0+256),w
194 0559 00F4 movwf btemp+4
195 055A 0819 movf (_RE5+2)^(0+256),w
196 055B 00F5 movwf btemp+5
197 055C 3024 movlw 36
198 055D 00F0 movwf btemp
199 055E 3074 movlw 116
200 055F 00F1 movwf btemp+1
201 0560 3049 movlw 73
202 0561 00F2 movwf btemp+2
203 0562 120A 118A 272C fcall ftdiv
+ 120A 118A
204 0567 0870 movf btemp,w
205 0568 0097 movwf _RE5^(0+256)
206 0569 0871 movf btemp+1,w
207 056A 0098 movwf (_RE5+1)^(0+256)
208 056B 0872 movf btemp+2,w
209 056C 0099 movwf (_RE5+2)^(0+256)
210 ;1.c: 58: }
211 056D 1303 bcf 3,6 ;carry unused
212 056E 0008 return
213 ;lcd.h: 115: void delay()
214 ;lcd.h: 116: {
215 056F _delay
216 ; _i assigned to ?a_delay+0
217 0000 _delay$i set ?a_delay
218 ;lcd.h: 117: int i;
219 056F 0183 clrf 3 ;select bank 0
220 0570 01B1 clrf ?a_delay
221 0571 01B2 clrf ?a_delay+1
222 0572 l15
223 0572 0AB1 incf ?a_delay
224 0573 1903 btfsc 3,2
225 0574 0AB2 incf ?a_delay+1
226 0575 0832 movf ?a_delay+1,w
227 0576 3A80 xorlw 128
228 0577 00F0 movwf btemp
229 0578 3093 movlw 147
230 0579 0270 subwf btemp,w
231 057A 3088 movlw 136
232 ;set bank bits for (((?a_delay+0)))
233 057B 1903 btfsc 3,2
234 057C 0231 subwf ?a_delay,w
235 057D 1803 btfsc 3,0
236 057E 0008 return
237 057F 2D72 goto l15
238 ;lcd.h: 90: void write(char x)
239 ;lcd.h: 91: {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -