📄 mcp2510.lst
字号:
200 025D 1803 btfsc 3,0
201 025E 0F73 incfsz btemp+3,w
202 025F 07FB addwf btemp+11
203 0260 084C movf ?_mcp_read_can_id+1,w
204 0261 0084 movwf 4
205 0262 1383 bcf 3,7
206 0263 0878 movf btemp+8,w
207 0264 0080 movwf 0
208 0265 0A84 incf 4
209 0266 0879 movf btemp+9,w
210 0267 0080 movwf 0
211 0268 0A84 incf 4
212 0269 087A movf btemp+10,w
213 026A 0080 movwf 0
214 026B 0A84 incf 4
215 026C 087B movf btemp+11,w
216 026D 0080 movwf 0
217 ;mcp2510.c: 89: *can_id <<= 16;
218 026E 084C movf ?_mcp_read_can_id+1,w
219 026F 0084 movwf 4
220 0270 3010 movlw 16
221 0271 00F0 movwf btemp
222 0272 3003 movlw 3
223 0273 u55
224 0273 1003 bcf 3,0
225 0274 0D80 rlf 0
226 0275 0F84 incfsz 4
227 0276 0D80 rlf 0
228 0277 0F84 incfsz 4
229 0278 0D80 rlf 0
230 0279 0F84 incfsz 4
231 027A 0D80 rlf 0
232 027B 0284 subwf 4
233 027C 0BF0 decfsz btemp
234 027D 2A73 goto u55
235 ;mcp2510.c: 90: *can_id = *can_id +(tbufdata[2]
+ <<8) + tbufdata[3];
236 027E 084C movf ?_mcp_read_can_id+1,w
237 027F 0084 movwf 4
238 0280 1383 bcf 3,7
239 0281 0800 movf 0,w
240 0282 00F0 movwf btemp
241 0283 0A84 incf 4
242 0284 0800 movf 0,w
243 0285 00F1 movwf btemp+1
244 0286 0A84 incf 4
245 0287 0800 movf 0,w
246 0288 00F2 movwf btemp+2
247 0289 0A84 incf 4
248 028A 0800 movf 0,w
249 028B 00F3 movwf btemp+3
250 028C 0851 movf ?a_mcp_read_can_id+4,w
251 028D 00F4 movwf btemp+4
252 028E 01F5 clrf btemp+5
253 028F 01F6 clrf btemp+6
254 0290 01F7 clrf btemp+7
255 0291 0850 movf ?a_mcp_read_can_id+3,w
256 0292 00FD movwf code_ptr+1
257 0293 01FC clrf code_ptr
258 0294 087C movf code_ptr,w
259 0295 00F8 movwf btemp+8
260 0296 087D movf code_ptr+1,w
261 0297 00F9 movwf btemp+9
262 0298 3000 movlw 0
263 0299 1BF9 btfsc btemp+9,7
264 029A 30FF movlw 255
265 029B 00FA movwf btemp+10
266 029C 00FB movwf btemp+11
267 029D 0874 movf btemp+4,w
268 029E 07F8 addwf btemp+8
269 029F 0875 movf btemp+5,w
270 02A0 1803 btfsc 3,0
271 02A1 0F75 incfsz btemp+5,w
272 02A2 07F9 addwf btemp+9
273 02A3 0876 movf btemp+6,w
274 02A4 1803 btfsc 3,0
275 02A5 0F76 incfsz btemp+6,w
276 02A6 07FA addwf btemp+10
277 02A7 0877 movf btemp+7,w
278 02A8 1803 btfsc 3,0
279 02A9 0A77 incf btemp+7,w
280 02AA 07FB addwf btemp+11
281 02AB 0870 movf btemp,w
282 02AC 0778 addwf btemp+8,w
283 02AD 00F4 movwf btemp+4
284 02AE 0879 movf btemp+9,w
285 02AF 00F5 movwf btemp+5
286 02B0 0871 movf btemp+1,w
287 02B1 1803 btfsc 3,0
288 02B2 0F71 incfsz btemp+1,w
289 02B3 07F5 addwf btemp+5
290 02B4 087A movf btemp+10,w
291 02B5 00F6 movwf btemp+6
292 02B6 0872 movf btemp+2,w
293 02B7 1803 btfsc 3,0
294 02B8 0F72 incfsz btemp+2,w
295 02B9 07F6 addwf btemp+6
296 02BA 087B movf btemp+11,w
297 02BB 00F7 movwf btemp+7
298 02BC 0873 movf btemp+3,w
299 02BD 1803 btfsc 3,0
300 02BE 0F73 incfsz btemp+3,w
301 02BF 07F7 addwf btemp+7
302 02C0 084C movf ?_mcp_read_can_id+1,w
303 02C1 0084 movwf 4
304 02C2 0874 movf btemp+4,w
305 02C3 0080 movwf 0
306 02C4 0A84 incf 4
307 02C5 0875 movf btemp+5,w
308 02C6 0080 movwf 0
309 02C7 0A84 incf 4
310 02C8 0876 movf btemp+6,w
311 02C9 0080 movwf 0
312 02CA 0A84 incf 4
313 02CB 0877 movf btemp+7,w
314 02CC 0080 movwf 0
315 ;mcp2510.c: 91: *ext = 1;
316 02CD 084B movf ?_mcp_read_can_id,w
317 02CE 0084 movwf 4
318 02CF 0180 clrf 0
319 02D0 0A80 incf 0
320 ;mcp2510.c: 92: }
321 02D1 0008 return
322 02D2 _mcp_read_can
323 ; _buffer assigned to ?a_mcp_read_can+0
324 0000 _mcp_read_can$buffer set ?a_mcp_read_can
325 ; _ctrl assigned to ?a_mcp_read_can+1
326 0000 _mcp_read_can$ctrl set ?a_mcp_read_can+1
327 ; _mcp_addr assigned to ?a_mcp_read_can+2
328 0000 _mcp_read_can$mcp_addr set ?a_mcp_read_can+2
329 ;_buffer stored from w
330 02D2 0183 clrf 3 ;select bank 0
331 02D3 00C8 movwf ?a_mcp_read_can
332 ;mcp2510.c: 100: uchar mcp_addr = buffer*16 + 0
+ x21, ctrl;
333 02D4 0E48 swapf ?a_mcp_read_can,w
334 02D5 39F0 andlw 240
335 02D6 3E21 addlw 33
336 02D7 00CA movwf ?a_mcp_read_can+2
337 ;mcp2510.c: 101: mcp_read_can_id( mcp_addr, ext
+ , can_id );
338 02D8 0843 movf ?_mcp_read_can,w
339 02D9 00CB movwf ?_mcp_read_can_id
340 02DA 0844 movf ?_mcp_read_can+1,w
341 02DB 00CC movwf ?_mcp_read_can_id+1
342 02DC 084A movf ?a_mcp_read_can+2,w
343 02DD 21E4 fcall _mcp_read_can_id
344 ;mcp2510.c: 102: mcp_read( mcp_addr-1, &ctrl, 1
+ );
345 02DE 3049 movlw ?a_mcp_read_can+1
346 02DF 00D2 movwf ?_mcp_read
347 02E0 01D3 clrf ?_mcp_read+1
348 02E1 0AD3 incf ?_mcp_read+1
349 02E2 034A decf ?a_mcp_read_can+2,w
350 02E3 21C1 120A 118A fcall _mcp_read
351 ;mcp2510.c: 103: mcp_read( mcp_addr+4, dlc, 1 )
+ ;
352 02E6 0845 movf ?_mcp_read_can+2,w
353 02E7 00D2 movwf ?_mcp_read
354 02E8 01D3 clrf ?_mcp_read+1
355 02E9 0AD3 incf ?_mcp_read+1
356 02EA 084A movf ?a_mcp_read_can+2,w
357 02EB 3E04 addlw 4
358 02EC 21C1 120A 118A fcall _mcp_read
359 ;mcp2510.c: 105: *rtr = 1;
360 02EF 0846 movf ?_mcp_read_can+3,w
361 02F0 0084 movwf 4
362 02F1 1383 bcf 3,7
363 02F2 0180 clrf 0
364 ;mcp2510.c: 104: if ( (ctrl & 0x08)) {
365 02F3 19C9 btfsc ?a_mcp_read_can+1,3
366 02F4 0A80 incf 0
367 ;mcp2510.c: 106: } else {
368 ;mcp2510.c: 107: *rtr = 0;
369 ;mcp2510.c: 108: }
370 ;mcp2510.c: 109: *dlc &= 0x0F;
371 02F5 0845 movf ?_mcp_read_can+2,w
372 02F6 0084 movwf 4
373 02F7 300F movlw 15
374 02F8 0580 andwf 0
375 ;mcp2510.c: 110: mcp_read( mcp_addr+5, data, *d
+ lc );
376 02F9 0847 movf ?_mcp_read_can+4,w
377 02FA 00D2 movwf ?_mcp_read
378 02FB 0845 movf ?_mcp_read_can+2,w
379 02FC 0084 movwf 4
380 02FD 0800 movf 0,w
381 02FE 00D3 movwf ?_mcp_read+1
382 02FF 084A movf ?a_mcp_read_can+2,w
383 0300 3E05 addlw 5
384 0301 29C1 ljmp _mcp_read
385
386 psect text2
387 0EB3 _mcp_write
388 ; _MCPaddr assigned to ?a_mcp_write+0
389 0000 _mcp_write$MCPaddr set ?a_mcp_write
390 ; _loopCnt assigned to ?a_mcp_write+1
391 0000 _mcp_write$loopCnt set ?a_mcp_write+1
392 ;_MCPaddr stored from w
393 0EB3 0183 clrf 3 ;select bank 0
394 0EB4 00E8 movwf ?a_mcp_write
395 ;mcp2510.c: 65: uchar loopCnt;
396 0EB5 120A 158A 205B fcall _SPI_mcp_select
397 ;mcp2510.c: 68: SPI_mcp_WR_address( MCPaddr );
398 0EB8 0868 movf ?a_mcp_write,w
399 0EB9 120A 158A 20ED fcall _SPI_mcp_WR_address
+ 120A 158A
400 ;mcp2510.c: 69: for (loopCnt=0; loopCnt < lengt
+ h; loopCnt++) {
401 0EBE 01E9 clrf ?a_mcp_write+1
402 0EBF 2ECF goto l12
403 0EC0 l9
404 ;mcp2510.c: 71: SPI_putch( *writedata );
405 0EC0 0866 movf ?_mcp_write+1,w
406 0EC1 00FD movwf code_ptr+1
407 0EC2 0865 movf ?_mcp_write,w
408 0EC3 120A 118A 2071 fcall string_table
409 0EC6 120A 158A 2089 fcall _SPI_putch
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -