📄 lx.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-51037 Wed May 21 22:10:25 2008
Licensed to: ONE
1 processor 16F877A
2 opt pw 79
3 psect __Z51037RS_,global,delta=1
4 psect strings,global,class=STRING,delta=2
5 psect const1,local,class=CONST,delta=2
6 psect rdata_3,global,class=BANK3,space=1,delta
+ =1
7 psect idata_3,global,class=CODE,delta=2
8 psect text2,local,class=CODE,delta=2
9 psect text6,local,class=CODE,delta=2
10 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
11 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22
23 psect __Z51037RS_
24 0192
25 0192
26
27 psect const1
28 003F 0782 addwf 2
29 0040 _table
30 0040 343F retlw 63
31 0041 3400 retlw 0
32 0042 3406 retlw 6
33 0043 3400 retlw 0
34 0044 345B retlw 91
35 0045 3400 retlw 0
36 0046 344F retlw 79
37 0047 3400 retlw 0
38 0048 3466 retlw 102
39 0049 3400 retlw 0
40 004A 346D retlw 109
41 004B 3400 retlw 0
42 004C 347D retlw 125
43 004D 3400 retlw 0
44 004E 3407 retlw 7
45 004F 3400 retlw 0
46 0050 347F retlw 127
47 0051 3400 retlw 0
48 0052 346F retlw 111
49 0053 3400 retlw 0
50
51 psect rdata_3
52 0190 _s
53 0190 ds 1
54 0191 ds 1
55
56 psect idata_3
57 07FE 3400 retlw 0
58 07FF 3400 retlw 0
59
60 psect text2
61 078B _fasong
62 078B 0183 clrf 3 ;select bank 0
63 078C 082A movf ?_fasong,w
64 078D 0093 movwf 19 ;volatile
65 078E l6
66 ;lx.c: 30: do
67 ;lx.c: 31: {;}while(SSPIF==0);
68 078E 1D8C btfss 12,3
69 078F 2F8E goto l6
70 ;lx.c: 32: SSPIF=0;
71 0790 118C bcf 12,3
72 ;lx.c: 33: }
73 0791 0008 return
74 ;lx.c: 48: void display()
75 ;lx.c: 49: {RC7=0;
76 0792 _display
77 0792 0183 clrf 3 ;select bank 0
78 0793 1387 bcf 7,7
79 ;lx.c: 50: for(k=0;k<=1;k++)
80 0794 01A4 clrf _k
81 0795 01A5 clrf _k+1
82 0796 2FB2 goto l17
83 0797 l14
84 ;lx.c: 51: {data=s[k];
85 0797 0824 movf _k,w
86 0798 3E90 addlw _s^(0+256)
87 0799 0084 movwf 4
88 079A 1783 bsf 3,7
89 079B 0800 movf 0,w
90 079C 00A0 movwf _data
91 079D 01A1 clrf _data+1
92 ;lx.c: 52: data=table[data];
93 079E 3000 movlw _table shr (0+8)
94 079F 008A movwf 10
95 07A0 0820 movf _data,w
96 07A1 0720 addwf _data,w
97 07A2 00F0 movwf btemp
98 07A3 203F call ((_table+-1)& (0+2047))| (($)& (0+-2048))
99 07A4 00A0 movwf _data
100 07A5 0A70 incf btemp,w
101 07A6 203F call ((_table+-1)& (0+2047))| (($)& (0+-2048))
102 07A7 00A1 movwf _data+1
103 ;lx.c: 53: fasong(data);
104 07A8 0820 movf _data,w
105 07A9 00AA movwf ?_fasong
106 07AA 0821 movf _data+1,w
107 07AB 00AB movwf ?_fasong+1
108 07AC 120A 118A 278B fcall _fasong
109 ;lx.c: 54: }RC7=1;
110 07AF 0AA4 incf _k
111 07B0 1903 btfsc 3,2
112 07B1 0AA5 incf _k+1
113 07B2 l17
114 07B2 3000 movlw 0
115 07B3 0225 subwf _k+1,w
116 07B4 3002 movlw 2
117 07B5 1903 btfsc 3,2
118 07B6 0224 subwf _k,w
119 07B7 1C03 btfss 3,0
120 07B8 2F97 goto l14
121 07B9 1787 bsf 7,7
122 ;lx.c: 55: }
123 07BA 0008 return
124 07BB _tmr1int
125 07BB 0183 clrf 3 ;select bank 0
126 07BC 100C bcf 12,0
127 ;lx.c: 20: TMR1ON=0;
128 07BD 1010 bcf 16,0
129 ;lx.c: 21: T1CON=0x0F;
130 07BE 300F movlw 15
131 07BF 0090 movwf 16 ;volatile
132 ;lx.c: 22: TMR1H=0x80;
133 07C0 3080 movlw -128
134 07C1 008F movwf 15 ;volatile
135 ;lx.c: 23: TMR1L=0x00;
136 07C2 018E clrf 14 ;volatile
137 ;lx.c: 24: TMR1ON=1;
138 07C3 1410 bsf 16,0
139 ;lx.c: 26: }
140 07C4 0008 return
141 ;lx.c: 35: void jisuan()
142 ;lx.c: 36: {tmr1int();
143 07C5 _jisuan
144 07C5 27BB fcall _tmr1int
145 07C6 l10
146 ;lx.c: 37: do{;}while(TMR1IF==0);
147 07C6 1C0C btfss 12,0
148 07C7 2FC6 goto l10
149 ;lx.c: 38: TMR1IF=0;
150 07C8 100C bcf 12,0
151 ;lx.c: 39: s1=s1+1;
152 07C9 0AA6 incf _s1
153 07CA 1903 btfsc 3,2
154 07CB 0AA7 incf _s1+1
155 ;lx.c: 40: if(s1==10)
156 07CC 0826 movf _s1,w
157 07CD 3A0A xorlw 10
158 07CE 0427 iorwf _s1+1,w
159 07CF 1D03 btfss 3,2
160 07D0 2FDD goto l11
161 ;lx.c: 41: {s1=0;
162 07D1 01A6 clrf _s1
163 07D2 01A7 clrf _s1+1
164 ;lx.c: 42: s2=s2+1;
165 07D3 0AA8 incf _s2
166 07D4 1903 btfsc 3,2
167 07D5 0AA9 incf _s2+1
168 ;lx.c: 43: if(s2==10)s2=0;
169 07D6 0828 movf _s2,w
170 07D7 3A0A xorlw 10
171 07D8 0429 iorwf _s2+1,w
172 07D9 1D03 btfss 3,2
173 07DA 2FDD goto l11
174 07DB 01A8 clrf _s2
175 07DC 01A9 clrf _s2+1
176 ;lx.c: 44: }
177 07DD l11
178 ;lx.c: 45: s[0]=s1;
179 07DD 0826 movf _s1,w
180 07DE 1683 bsf 3,5
181 07DF 1703 bsf 3,6
182 07E0 0090 movwf _s^(0+384)
183 ;lx.c: 46: s[1]=s2;
184 07E1 1283 bcf 3,5
185 07E2 1303 bcf 3,6 ;carry unused
186 07E3 0828 movf _s2,w
187 07E4 1683 bsf 3,5
188 07E5 1703 bsf 3,6
189 07E6 0091 movwf (_s+1)^(0+384)
190 ;lx.c: 47: }
191 07E7 0183 clrf 3 ;select bank 0
192 07E8 0008 return
193 07E9 _spiint
194 ;lx.c: 11: SSPCON=0X30;
195 07E9 3030 movlw 48
196 07EA 0183 clrf 3 ;select bank 0
197 07EB 0094 movwf 20 ;volatile
198 ;lx.c: 12: SSPSTAT=0XC0;
199 07EC 30C0 movlw -64
200 07ED 1683 bsf 3,5
201 07EE 0094 movwf 20 ;volatile
202 ;lx.c: 13: TRISC=0X03;
203 07EF 3003 movlw 3
204 07F0 0087 movwf 7 ;volatile
205 ;lx.c: 15: ADCON1=0X0F;
206 07F1 300F movlw 15
207 07F2 009F movwf 31 ;volatile
208 ;lx.c: 16: }
209 07F3 1283 bcf 3,5
210 07F4 0008 return
211 ;lx.c: 56: main()
212 ;lx.c: 57: { OPTION=0XFF;
213 07F5 _main
214 07F5 30FF movlw -1
215 07F6 1683 bsf 3,5
216 07F7 1303 bcf 3,6 ;carry unused
217 07F8 0081 movwf 1
218 ;lx.c: 59: (GIE = 0);
219 07F9 138B bcf 11,7
220 ;lx.c: 60: spiint();
221 07FA 27E9 fcall _spiint
222 07FB l20
223 ;lx.c: 61: while(1)
224 ;lx.c: 62: {jisuan();
225 07FB 27C5 fcall _jisuan
226 ;lx.c: 64: display();
227 07FC 2792 fcall _display
228 ;lx.c: 65: }
229 07FD 2FFB goto l20
230
231 psect text6
232 0000
233 0000
234 0000
235 0000
236 0000
237 0000
238 0000
239 0000
240 0000
241 0000
242 0000
243 0000
244 0000
245 0000
246 0000
247 0000
248 0000
249 0000
250 0000
251 0000
252 0000
253 0000
254 0000
255 0000
256 0000
257 0000
258 0000
259 0000
260 0000
261 0000
262 0000
263 0000
264 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -