📄 adc-serial.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-79926 Fri Apr 3 09:41:00 2009
Licensed to: ONE
1 processor 16F877A
2 opt pw 79
3 psect __Z79926RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text2,local,class=CODE,delta=2
6 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
7 0000
8 0000
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17
18 psect __Z79926RS_
19 0190
20 0190
21
22 psect text0
23 0550 _send
24 ; _count assigned to ?a_send+0
25 0000 _send$count set ?a_send
26 ;_count stored from w
27 0550 0183 clrf 3 ;select bank 0
28 0551 00B2 movwf ?a_send
29 ;ADC-SERIAL.C: 7: TXEN=1;
30 0552 1683 bsf 3,5
31 0553 1698 bsf 24,5
32 ;ADC-SERIAL.C: 8: TXREG=count;
33 0554 1283 bcf 3,5
34 0555 0832 movf ?a_send,w
35 0556 0099 movwf 25 ;volatile
36 0557 l3
37 ;ADC-SERIAL.C: 9: while(1)
38 ;ADC-SERIAL.C: 10: {
39 0557 1683 bsf 3,5
40 0558 1C98 btfss 24,1
41 0559 2D57 goto l3
42 ;ADC-SERIAL.C: 13: }
43 055A 1283 bcf 3,5
44 055B 0008 return
45 ;ADC-SERIAL.C: 14: main()
46 ;ADC-SERIAL.C: 15: {
47 055C _main
48 ; _a_1 assigned to ?a_main+0
49 0000 _main$a_1 set ?a_main
50 ; _a_10 assigned to ?a_main+1
51 0000 _main$a_10 set ?a_main+1
52 ; _a_100 assigned to ?a_main+2
53 0000 _main$a_100 set ?a_main+2
54 ; _b assigned to ?a_main+3
55 0000 _main$b set ?a_main+3
56 ; _point_1 assigned to ?a_main+4
57 0000 _main$point_1 set ?a_main+4
58 ; _point_2 assigned to ?a_main+5
59 0000 _main$point_2 set ?a_main+5
60 ; _i assigned to ?a_main+6
61 0000 _main$i set ?a_main+6
62 ; _j assigned to ?a_main+7
63 0000 _main$j set ?a_main+7
64 ; _y assigned to ?a_main+8
65 0000 _main$y set ?a_main+8
66 ; _c assigned to ?a_main+9
67 0000 _main$c set ?a_main+9
68 ; _d assigned to ?a_main+11
69 0000 _main$d set ?a_main+11
70 ; _a assigned to ?a_main+13
71 0000 _main$a set ?a_main+13
72 ; _k assigned to ?a_main+15
73 0000 _main$k set ?a_main+15
74 055C l8
75 ;ADC-SERIAL.C: 16: while(1)
76 ;ADC-SERIAL.C: 17: {
77 055C 302E movlw 46
78 055D 1283 bcf 3,5
79 055E 1303 bcf 3,6 ;carry unused
80 055F 00A3 movwf ?a_main+3
81 ;ADC-SERIAL.C: 19: float k;
82 0560 3019 movlw 25
83 0561 1683 bsf 3,5
84 0562 0099 movwf 25 ;volatile
85 ;ADC-SERIAL.C: 23: TXSTA=0x24;
86 0563 3024 movlw 36
87 0564 0098 movwf 24 ;volatile
88 ;ADC-SERIAL.C: 24: RCSTA=0x90;
89 0565 3090 movlw -112
90 0566 1283 bcf 3,5
91 0567 0098 movwf 24 ;volatile
92 ;ADC-SERIAL.C: 25: TRISC=0xf0;
93 0568 30F0 movlw -16
94 0569 1683 bsf 3,5
95 056A 0087 movwf 7 ;volatile
96 ;ADC-SERIAL.C: 28: ADCON1=0x80;
97 056B 3080 movlw -128
98 056C 009F movwf 31 ;volatile
99 ;ADC-SERIAL.C: 29: ADCON0=0x20;
100 056D 3020 movlw 32
101 056E 1283 bcf 3,5
102 056F 009F movwf 31 ;volatile
103 ;ADC-SERIAL.C: 30: ADON=1;
104 0570 141F bsf 31,0
105 ;ADC-SERIAL.C: 31: i=0x22;
106 0571 3022 movlw 34
107 0572 00A6 movwf ?a_main+6
108 ;ADC-SERIAL.C: 32: while(--i){}
109 0573 l10
110 0573 0BA6 decfsz ?a_main+6
111 0574 2D73 goto l10
112 ;ADC-SERIAL.C: 33: ADGO=1;
113 0575 151F bsf 31,2
114 ;ADC-SERIAL.C: 34: while(ADGO){}
115 0576 l13
116 0576 191F btfsc 31,2
117 0577 2D76 goto l13
118 ;ADC-SERIAL.C: 35: a=ADRESH;
119 0578 081E movf 30,w ;volatile
120 0579 00AD movwf ?a_main+13
121 057A 01AE clrf ?a_main+14
122 ;ADC-SERIAL.C: 36: a=a<<8;
123 057B 00AE movwf ?a_main+14
124 057C 01AD clrf ?a_main+13
125 ;ADC-SERIAL.C: 37: a=a+ADRESL;
126 057D 1683 bsf 3,5
127 057E 081E movf 30,w ;volatile
128 057F 1283 bcf 3,5
129 0580 07AD addwf ?a_main+13
130 0581 1803 btfsc 3,0
131 0582 0AAE incf ?a_main+14
132 ;ADC-SERIAL.C: 38: for(y=1000;y>0;y--)
133 0583 30E8 movlw -24
134 0584 00A8 movwf ?a_main+8
135 0585 l16
136 ;ADC-SERIAL.C: 39: for(j=100;j>0;j--);
137 0585 3064 movlw 100
138 0586 00A7 movwf ?a_main+7
139 0587 l19
140 0587 0BA7 decfsz ?a_main+7
141 0588 2D87 goto l19
142 0589 0BA8 decfsz ?a_main+8
143 058A 2D85 goto l16
144 ;ADC-SERIAL.C: 41: k=1.0*a*5/1023;
145 058B 082E movf ?a_main+14,w
146 058C 00F1 movwf btemp+1
147 058D 082D movf ?a_main+13,w
148 058E 00F0 movwf btemp
149 058F 120A 118A 277F fcall lwtoft
150 0592 01F3 clrf btemp+3
151 0593 3080 movlw 128
152 0594 00F4 movwf btemp+4
153 0595 303F movlw 63
154 0596 00F5 movwf btemp+5
155 0597 120A 118A 2702 fcall ftmul
156 059A 01F3 clrf btemp+3
157 059B 30A0 movlw 160
158 059C 00F4 movwf btemp+4
159 059D 3040 movlw 64
160 059E 00F5 movwf btemp+5
161 059F 120A 118A 2702 fcall ftmul
162 05A2 30C0 movlw 192
163 05A3 00F3 movwf btemp+3
164 05A4 307F movlw 127
165 05A5 00F4 movwf btemp+4
166 05A6 3044 movlw 68
167 05A7 00F5 movwf btemp+5
168 05A8 120A 118A 26CA fcall ftdiv
169 05AB 0870 movf btemp,w
170 05AC 00AF movwf ?a_main+15
171 05AD 0871 movf btemp+1,w
172 05AE 00B0 movwf ?a_main+16
173 05AF 0872 movf btemp+2,w
174 05B0 00B1 movwf ?a_main+17
175 ;ADC-SERIAL.C: 43: a_100=(unsigned char)k/100+4
+ 8;
176 05B1 082F movf ?a_main+15,w
177 05B2 00F0 movwf btemp
178 05B3 0830 movf ?a_main+16,w
179 05B4 00F1 movwf btemp+1
180 05B5 0831 movf ?a_main+17,w
181 05B6 00F2 movwf btemp+2
182 05B7 120A 118A 2743 fcall fttol
183 05BA 0870 movf btemp,w
184 05BB 3064 movlw 100
185 05BC 00F1 movwf btemp+1
186 05BD 0870 movf btemp,w
187 05BE 120A 118A 2782 fcall lbdiv
188 05C1 3E30 addlw 48
189 05C2 00A2 movwf ?a_main+2
190 ;ADC-SERIAL.C: 44: a_10=(unsigned char)k%100/10
+ +48;
191 05C3 082F movf ?a_main+15,w
192 05C4 00F0 movwf btemp
193 05C5 0830 movf ?a_main+16,w
194 05C6 00F1 movwf btemp+1
195 05C7 0831 movf ?a_main+17,w
196 05C8 00F2 movwf btemp+2
197 05C9 120A 118A 2743 fcall fttol
198 05CC 0870 movf btemp,w
199 05CD 3064 movlw 100
200 05CE 00F1 movwf btemp+1
201 05CF 0870 movf btemp,w
202 05D0 120A 118A 2782 fcall lbmod
203 05D3 0870 movf btemp,w
204 05D4 300A movlw 10
205 05D5 00F1 movwf btemp+1
206 05D6 0870 movf btemp,w
207 05D7 120A 118A 2782 fcall lbdiv
208 05DA 3E30 addlw 48
209 05DB 00A1 movwf ?a_main+1
210 ;ADC-SERIAL.C: 45: a_1=(unsigned char)k%100%10+
+ 48;
211 05DC 082F movf ?a_main+15,w
212 05DD 00F0 movwf btemp
213 05DE 0830 movf ?a_main+16,w
214 05DF 00F1 movwf btemp+1
215 05E0 0831 movf ?a_main+17,w
216 05E1 00F2 movwf btemp+2
217 05E2 120A 118A 2743 fcall fttol
218 05E5 0870 movf btemp,w
219 05E6 3064 movlw 100
220 05E7 00F1 movwf btemp+1
221 05E8 0870 movf btemp,w
222 05E9 120A 118A 2782 fcall lbmod
223 05EC 0870 movf btemp,w
224 05ED 300A movlw 10
225 05EE 00F1 movwf btemp+1
226 05EF 0870 movf btemp,w
227 05F0 120A 118A 2782 fcall lbmod
228 05F3 0870 movf btemp,w
229 05F4 3E30 addlw 48
230 05F5 00A0 movwf ?a_main
231 ;ADC-SERIAL.C: 46: c=k*10;
232 05F6 082F movf ?a_main+15,w
233 05F7 00F3 movwf btemp+3
234 05F8 0830 movf ?a_main+16,w
235 05F9 00F4 movwf btemp+4
236 05FA 0831 movf ?a_main+17,w
237 05FB 00F5 movwf btemp+5
238 05FC 01F0 clrf btemp
239 05FD 3020 movlw 32
240 05FE 00F1 movwf btemp+1
241 05FF 3041 movlw 65
242 0600 00F2 movwf btemp+2
243 0601 120A 118A 2702 fcall ftmul
244 0604 120A 118A 2743 fcall fttol
245 0607 0870 movf btemp,w
246 0608 00A9 movwf ?a_main+9
247 0609 0871 movf btemp+1,w
248 060A 00AA movwf ?a_main+10
249 ;ADC-SERIAL.C: 47: d=k*100;
250 060B 082F movf ?a_main+15,w
251 060C 00F3 movwf btemp+3
252 060D 0830 movf ?a_main+16,w
253 060E 00F4 movwf btemp+4
254 060F 0831 movf ?a_main+17,w
255 0610 00F5 movwf btemp+5
256 0611 01F0 clrf btemp
257 0612 30C8 movlw 200
258 0613 00F1 movwf btemp+1
259 0614 3042 movlw 66
260 0615 00F2 movwf btemp+2
261 0616 120A 118A 2702 fcall ftmul
262 0619 120A 118A 2743 fcall fttol
263 061C 0870 movf btemp,w
264 061D 00AB movwf ?a_main+11
265 061E 0871 movf btemp+1,w
266 061F 00AC movwf ?a_main+12
267 ;ADC-SERIAL.C: 48: point_1=c%1000%100%10+48;
268 0620 30E8 movlw 232
269 0621 00F2 movwf btemp+2
270 0622 3003 movlw 3
271 0623 00F3 movwf btemp+3
272 0624 082A movf ?a_main+10,w
273 0625 00F1 movwf btemp+1
274 0626 0829 movf ?a_main+9,w
275 0627 00F0 movwf btemp
276 0628 120A 118A 27B8 fcall lwmod
277 062B 3064 movlw 100
278 062C 00F2 movwf btemp+2
279 062D 3000 movlw 0
280 062E 01F3 clrf btemp+3
281 062F 120A 118A 27B8 fcall lwmod
282 0632 300A movlw 10
283 0633 00F2 movwf btemp+2
284 0634 3000 movlw 0
285 0635 01F3 clrf btemp+3
286 0636 120A 118A 27B8 fcall lwmod
287 0639 0870 movf btemp,w
288 063A 3E30 addlw 48
289 063B 00A4 movwf ?a_main+4
290 ;ADC-SERIAL.C: 49: point_2=d%10000%1000%100%10+
+ 48;
291 063C 3010 movlw 16
292 063D 00F2 movwf btemp+2
293 063E 3027 movlw 39
294 063F 00F3 movwf btemp+3
295 0640 082C movf ?a_main+12,w
296 0641 00F1 movwf btemp+1
297 0642 082B movf ?a_main+11,w
298 0643 00F0 movwf btemp
299 0644 120A 118A 27B8 fcall lwmod
300 0647 30E8 movlw 232
301 0648 00F2 movwf btemp+2
302 0649 3003 movlw 3
303 064A 00F3 movwf btemp+3
304 064B 120A 118A 27B8 fcall lwmod
305 064E 3064 movlw 100
306 064F 00F2 movwf btemp+2
307 0650 3000 movlw 0
308 0651 01F3 clrf btemp+3
309 0652 120A 118A 27B8 fcall lwmod
310 0655 300A movlw 10
311 0656 00F2 movwf btemp+2
312 0657 3000 movlw 0
313 0658 01F3 clrf btemp+3
314 0659 120A 118A 27B8 fcall lwmod
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -