📄 main.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-34349 Thu Oct 26 15:45:39 2006
Licensed to: ONE
1 processor 16F877A
2 opt pw 79
3 psect __Z34349RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text2,local,class=CODE,delta=2
6 psect strings,global,class=STRING,delta=2
7 psect rbss_1,global,class=BANK1,space=1,delta=
+ 1
8 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19
20 psect __Z34349RS_
21 0190
22 0190
23 ;mcp2510.h: 247: extern void mcp_read_can ( uch
+ ar buffer, uchar* ext, unsigned long* can_id,
24 ;mcp2510.h: 257: extern void mcp_write_can (uch
+ ar buffer, uchar ext, unsigned long can_id,
25 ; param _len assigned to ?_paraProtocol+0
26 0000 _paraProtocol$len set ?_paraProtocol
27
28 psect text0
29 0302 _paraProtocol
30 ; _buf assigned to ?a_paraProtocol+0
31 0000 _paraProtocol$buf set ?a_paraProtocol
32 ; _i assigned to ?a_paraProtocol+1
33 0000 _paraProtocol$i set ?a_paraProtocol+1
34 ; _j assigned to ?a_paraProtocol+3
35 0000 _paraProtocol$j set ?a_paraProtocol+3
36 ;_buf stored from w
37 0302 0183 clrf 3 ;select bank 0
38 0303 00BC movwf ?a_paraProtocol
39 ;main.c: 52: int i,j;
40 0304 0084 movwf 4
41 0305 1383 bcf 3,7
42 0306 0E00 swapf 0,w
43 0307 390F andlw 15
44 0308 3A04 xorlw 4
45 0309 1903 btfsc 3,2
46 030A 2BD8 goto l5
47 030B 2BFD goto l3
48 ;main.c: 56: {
49 030C l6
50 ;main.c: 58: {
51 ;main.c: 60: {
52 030C 0A3C incf ?a_paraProtocol,w
53 030D 0084 movwf 4
54 030E 1383 bcf 3,7
55 030F 0800 movf 0,w
56 0310 00BD movwf ?a_paraProtocol+1
57 0311 01BE clrf ?a_paraProtocol+2
58 ;main.c: 62: i <<=8;
59 0312 00BE movwf ?a_paraProtocol+2
60 0313 01BD clrf ?a_paraProtocol+1
61 ;main.c: 63: i |= buf[2];
62 0314 083C movf ?a_paraProtocol,w
63 0315 3E02 addlw 2
64 0316 0084 movwf 4
65 0317 0800 movf 0,w
66 0318 04BD iorwf ?a_paraProtocol+1
67 ;main.c: 64: j = buf[3];
68 0319 083C movf ?a_paraProtocol,w
69 031A 3E03 addlw 3
70 031B 0084 movwf 4
71 031C 0800 movf 0,w
72 031D 00BF movwf ?a_paraProtocol+3
73 031E 01C0 clrf ?a_paraProtocol+4
74 ;main.c: 65: j <<=8;
75 031F 00C0 movwf ?a_paraProtocol+4
76 0320 01BF clrf ?a_paraProtocol+3
77 ;main.c: 66: j |=buf[4];
78 0321 083C movf ?a_paraProtocol,w
79 0322 3E04 addlw 4
80 0323 0084 movwf 4
81 0324 0800 movf 0,w
82 0325 04BF iorwf ?a_paraProtocol+3
83 ;main.c: 67: if((i>220) && (j<220))
84 0326 083E movf ?a_paraProtocol+2,w
85 0327 3A80 xorlw 128
86 0328 00F0 movwf btemp
87 0329 3080 movlw 128
88 032A 0270 subwf btemp,w
89 032B 30DD movlw 221
90 ;set bank bits for (((?a_paraProtocol+1)))
91 032C 1903 btfsc 3,2
92 032D 023D subwf ?a_paraProtocol+1,w
93 032E 1C03 btfss 3,0
94 032F 2BFD goto l3
95 0330 0840 movf ?a_paraProtocol+4,w
96 0331 3A80 xorlw 128
97 0332 00F0 movwf btemp
98 0333 3080 movlw 128
99 0334 0270 subwf btemp,w
100 0335 30DC movlw 220
101 ;set bank bits (((?a_paraProtocol+3)))
102 0336 1903 btfsc 3,2
103 0337 023F subwf ?a_paraProtocol+3,w
104 0338 1803 btfsc 3,0
105 0339 2BFD goto l3
106 ;main.c: 68: set_voltrange(i,j);
107 033A 083D movf ?a_paraProtocol+1,w
108 033B 00C5 movwf ?_set_voltrange
109 033C 083E movf ?a_paraProtocol+2,w
110 033D 00C6 movwf ?_set_voltrange+1
111 033E 083F movf ?a_paraProtocol+3,w
112 033F 00C7 movwf ?_set_voltrange+2
113 0340 0840 movf ?a_paraProtocol+4,w
114 0341 00C8 movwf ?_set_voltrange+3
115 0342 120A 158A 23CB fcall _set_voltrange
+ 120A 118A
116 ;main.c: 69: }
117 ;main.c: 70: break;
118 0347 2BFD goto l3
119 0348 l8
120 ;main.c: 71: case 2:
121 ;main.c: 72: {
122 0348 3043 movlw 67
123 0349 1683 bsf 3,5
124 034A 00CD movwf _mcptBUF^(0+128)
125 ;main.c: 74: mcptBUF[1]= gMax_Volt>>8;
126 034B 082C movf (_gMax_Volt+1)^(0+128),w
127 034C 00CE movwf (_mcptBUF+1)^(0+128)
128 ;main.c: 75: mcptBUF[2]= gMax_Volt;
129 034D 082B movf _gMax_Volt^(0+128),w
130 034E 00CF movwf (_mcptBUF+2)^(0+128)
131 ;main.c: 76: mcptBUF[3]= gMin_Volt>>8;
132 034F 082E movf (_gMin_Volt+1)^(0+128),w
133 0350 00D0 movwf (_mcptBUF+3)^(0+128)
134 ;main.c: 77: mcptBUF[4]= gMin_Volt;
135 0351 082D movf _gMin_Volt^(0+128),w
136 0352 00D1 movwf (_mcptBUF+4)^(0+128)
137 ;main.c: 78: canWrite(1, mcptBUF, 5, 0);
138 0353 1283 bcf 3,5
139 0354 01C5 clrf ?_canWrite
140 0355 0AC5 incf ?_canWrite
141 0356 01C6 clrf ?_canWrite+1
142 0357 01C7 clrf ?_canWrite+2
143 0358 01C8 clrf ?_canWrite+3
144 0359 30CD movlw _mcptBUF
145 035A 00C9 movwf ?_canWrite+4
146 035B 3080 movlw 128
147 035C 00CA movwf ?_canWrite+5
148 035D 3005 movlw 5
149 035E 00CB movwf ?_canWrite+6
150 035F 01CC clrf ?_canWrite+7
151 0360 01CD clrf ?_canWrite+8
152 0361 120A 158A 2180 fcall _canWrite
153 ;main.c: 79: printf("%x %x\n",gMax_Volt,gMin_Vo
+ lt);
154 0364 30F0 movlw low (((packed_strings shl (0+1)+8))| (0+
+ 16384))
155 0365 00C6 movwf ?_printf+1
156 0366 3042 movlw high (((packed_strings shl (0+1)+8))| (0
+ +16384))
157 0367 00C7 movwf ?_printf+2
158 0368 1683 bsf 3,5
159 0369 082D movf _gMin_Volt^(0+128),w
160 036A 1283 bcf 3,5
161 036B 00C3 movwf ?a_paraProtocol+7
162 036C 1683 bsf 3,5
163 036D 082E movf (_gMin_Volt+1)^(0+128),w
164 036E 1283 bcf 3,5
165 036F 00C4 movwf ?a_paraProtocol+8
166 0370 1683 bsf 3,5
167 0371 082B movf _gMax_Volt^(0+128),w
168 0372 1283 bcf 3,5
169 0373 00C1 movwf ?a_paraProtocol+5
170 0374 1683 bsf 3,5
171 0375 082C movf (_gMax_Volt+1)^(0+128),w
172 0376 1283 bcf 3,5
173 0377 00C2 movwf ?a_paraProtocol+6
174 0378 3041 movlw ?a_paraProtocol+5
175 0379 00C5 movwf ?_printf
176 037A 120A 158A 2061 fcall _printf
+ 120A 118A
177 ;main.c: 80: }
178 037F 2BFD goto l3
179 0380 l9
180 ;main.c: 83: case 4:
181 ;main.c: 84: {
182 0380 0A3C incf ?a_paraProtocol,w
183 0381 0084 movwf 4
184 0382 1383 bcf 3,7
185 0383 3015 movlw 21
186 0384 0200 subwf 0,w
187 0385 1C03 btfss 3,0
188 0386 2BFD goto l3
189 ;main.c: 86: set_maxtemp(buf[1]);
190 0387 0A3C incf ?a_paraProtocol,w
191 0388 0084 movwf 4
192 0389 0800 movf 0,w
193 038A 120A 158A 240C fcall _set_maxtemp
+ 120A 118A
194 ;main.c: 87: }
195 ;main.c: 88: break;
196 038F 2BFD goto l3
197 0390 l11
198 ;main.c: 89: case 5:
199 ;main.c: 90: {
200 0390 3046 movlw 70
201 0391 1683 bsf 3,5
202 0392 00CD movwf _mcptBUF^(0+128)
203 ;main.c: 92: mcptBUF[1]= gMax_Temp;
204 0393 082A movf _gMax_Temp^(0+128),w
205 0394 2BAC goto L4
206 ;main.c: 93: canWrite(1, mcptBUF, 2, 0);
207 ;main.c: 94: }
208 0395 l12
209 ;main.c: 97: case 7:
210 ;main.c: 98: {
211 0395 3048 movlw 72
212 0396 1683 bsf 3,5
213 0397 00CD movwf _mcptBUF^(0+128)
214 ;main.c: 101: mcptBUF[1]= gCurVolt>>8;
215 0398 0829 movf (_gCurVolt+1)^(0+128),w
216 0399 00CE movwf (_mcptBUF+1)^(0+128)
217 ;main.c: 102: mcptBUF[2]= (unsigned char)gCurVo
+ lt;
218 039A 0828 movf _gCurVolt^(0+128),w
219 039B 00CF movwf (_mcptBUF+2)^(0+128)
220 ;main.c: 103: canWrite(1, mcptBUF, 3, 0);
221 039C 1283 bcf 3,5
222 039D 01C5 clrf ?_canWrite
223 039E 0AC5 incf ?_canWrite
224 039F 01C6 clrf ?_canWrite+1
225 03A0 01C7 clrf ?_canWrite+2
226 03A1 01C8 clrf ?_canWrite+3
227 03A2 30CD movlw _mcptBUF
228 03A3 00C9 movwf ?_canWrite+4
229 03A4 3080 movlw 128
230 03A5 00CA movwf ?_canWrite+5
231 03A6 3003 movlw 3
232 03A7 2BB8 goto L2
233 ;main.c: 104: }
234 03A8 l13
235 ;main.c: 107: case 9:
236 ;main.c: 108: {
237 03A8 304A movlw 74
238 03A9 1683 bsf 3,5
239 03AA 00CD movwf _mcptBUF^(0+128)
240 ;main.c: 110: mcptBUF[1]= gCurTemp;
241 03AB 0825 movf _gCurTemp^(0+128),w
242 03AC L4
243 03AC 00CE movwf (_mcptBUF+1)^(0+128)
244 ;main.c: 111: canWrite(1, mcptBUF, 2, 0);
245 03AD 1283 bcf 3,5
246 03AE 01C5 clrf ?_canWrite
247 03AF 0AC5 incf ?_canWrite
248 03B0 01C6 clrf ?_canWrite+1
249 03B1 01C7 clrf ?_canWrite+2
250 03B2 01C8 clrf ?_canWrite+3
251 03B3 30CD movlw _mcptBUF
252 03B4 00C9 movwf ?_canWrite+4
253 03B5 3080 movlw 128
254 03B6 00CA movwf ?_canWrite+5
255 03B7 3002 movlw 2
256 03B8 L2
257 03B8 00CB movwf ?_canWrite+6
258 03B9 01CC clrf ?_canWrite+7
259 03BA 01CD clrf ?_canWrite+8
260 03BB 120A 158A 2180 fcall _canWrite
+ 120A 118A
261 ;main.c: 112: }
262 03C0 2BFD goto l3
263 03C1 l14
264 ;main.c: 115: case 0x0B:
265 ;main.c: 116: {
266 03C1 1683 bsf 3,5
267 03C2 01AF clrf _gOffLineCnt^(0+128)
268 ;main.c: 118: if(gVoltSta==0)
269 03C3 08B2 movf _gVoltSta^(0+128)
270 03C4 1903 btfsc 3,2
271 03C5 2BD0 goto L3
272 ;main.c: 119: {
273 ;main.c: 121: }
274 03C6 0B32 decfsz _gVoltSta^(0+128),w
275 03C7 2BFD goto l3
276 03C8 2BFD goto l3
277 ;main.c: 123: {
278 ;main.c: 128: break;
279 03C9 l18
280 ;main.c: 129: case 0x0C:
281 ;main.c: 130: {
282 03C9 0A3C incf ?a_paraProtocol,w
283 03CA 0084 movwf 4
284 03CB 1383 bcf 3,7
285 03CC 0B00 decfsz 0,w
286 03CD 2BD3 goto l19
287 ;main.c: 132: {
288 03CE 1683 bsf 3,5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -