?? cdc.lst
字號:
248 000610 E0DC bz l90
249 000612 0A03 xorlw 3
250 000614 E0E8 bz l91
251 000616 0A01 xorlw 1
252 000618 E0EB bz l92
253 00061A 0012 return
254 ;cdc.c: 144: }
255 ;cdc.c: 167: void CDCInitEP(void)
256 ;cdc.c: 168: {
257 00061C _CDCInitEP:
258 000000
259 ;cdc.c: 170: line_coding.b.dwDTERate._dword = 11
+ 5200;
260 00061C 0100 movlb _line_coding shr (0+8)
261 00061E 6BF8 clrf (_line_coding+3)& (0+255),b
262 000620 0E01 movlw 1
263 000622 6FF7 movwf (_line_coding+2)& (0+255),b
264 000624 0EC2 movlw 194
265 000626 6FF6 movwf (_line_coding+1)& (0+255),b
266 000628 6BF5 clrf _line_coding& (0+255),b
267 ;cdc.c: 171: line_coding.b.bCharFormat = 0x00;
268 00062A 6BF9 clrf (_line_coding+4)& (0+255),b
269 ;cdc.c: 172: line_coding.b.bParityType = 0x00;
270 00062C 6BFA clrf (_line_coding+5)& (0+255),b
271 ;cdc.c: 173: line_coding.b.bDataBits = 0x08;
272 00062E 0E08 movlw 8
273 000630 CFE8 F0FB movff wreg,_line_coding+6
274 ;cdc.c: 175: cdc_trf_state = 0;
275 000634 0103 movlb _cdc_trf_state shr (0+8)
276 000636 6B63 clrf _cdc_trf_state& (0+255),b
277 ;cdc.c: 176: cdc_rx_len = 0;
278 000638 0103 movlb _cdc_rx_len shr (0+8)
279 00063A 6B62 clrf _cdc_rx_len& (0+255),b
280 ;cdc.c: 178: UEP2 = 0x0A|0x10;
281 00063C 0E1A movlw 26
282 00063E 6E72 movwf 3954,c ;volatile
283 ;cdc.c: 179: UEP3 = 0x0E|0x10;
284 000640 0E1E movlw 30
285 000642 6E73 movwf 3955,c ;volatile
286 ;cdc.c: 192: ep[2].in.b.ADR = (byte*)cdc_notice;
287 000644 0104 movlb 4
288 000646 6B16 clrf 22,b
289 000648 0E05 movlw 5
290 00064A 6F17 movwf 23,b
291 ;cdc.c: 193: ep[2].in.a.Stat._byte = 0x00|0x40;
292 00064C 0E40 movlw 64
293 00064E CFE8 F414 movff wreg,1044
294 ;cdc.c: 195: ep[3].out.a.Cnt = sizeof(cdc_data_r
+ x);
295 000652 CFE8 F419 movff wreg,1049
296 ;cdc.c: 196: ep[3].out.b.ADR = (byte*)cdc_data_r
+ x;
297 000656 6B1A clrf 26,b
298 000658 0E06 movlw 6
299 00065A 6F1B movwf 27,b
300 ;cdc.c: 197: ep[3].out.a.Stat._byte = 0x80|0x00|
+ 0x08;
301 00065C 0E88 movlw -120
302 00065E CFE8 F418 movff wreg,1048
303 ;cdc.c: 199: ep[3].in.b.ADR = (byte*)cdc_data_tx
+ ;
304 000662 6B1E clrf 30,b
305 000664 0E07 movlw 7
306 000666 6F1F movwf 31,b
307 ;cdc.c: 200: ep[3].in.a.Stat._byte = 0x00|0x40;
308 000668 0E40 movlw 64
309 00066A CFE8 F41C movff wreg,1052
310 ;cdc.c: 202: }
311 00066E 0012 return
312 ;cdc.c: 237: byte getsUSBUSART(char *buffer, byt
+ e len)
313 ;cdc.c: 238: {
314 ; param _buffer assigned to ?_getsUSBUSART
+ +0
315 000670 00FC dw ?_getsUSBUSART
316 000672 _getsUSBUSART:
317 000000
318 ;cdc.c: 239: cdc_rx_len = 0;
319 000672 0103 movlb _cdc_rx_len shr (0+8)
320 000674 6B62 clrf _cdc_rx_len& (0+255),b
321 ;cdc.c: 241: if(!ep[3].out.a.Stat.b.UOWN)
322 000676 0104 movlb 4
323 000678 BF18 btfsc 24,7,b
324 00067A D038 goto l96
325 ;cdc.c: 242: {
326 00067C 0100 movlb __Lparam shr (0+8)
327 00067E 51FE movf (?_getsUSBUSART+2)^(__Lparam& (0+65280)),w
328 000680 0104 movlb 4
329 000682 6119 cpfslt 25,b
330 000684 D002 goto l97
331 ;cdc.c: 248: len = ep[3].out.a.Cnt;
332 000686 C419 F0FE movff 1049,?_getsUSBUSART+2
333 00068A l97:
334 ;cdc.c: 253: for(cdc_rx_len = 0; cdc_rx_len < le
+ n; cdc_rx_len++)
335 00068A 0103 movlb _cdc_rx_len shr (0+8)
336 00068C 6B62 clrf _cdc_rx_len& (0+255),b
337 00068E l101:
338 00068E 0100 movlb __Lparam shr (0+8)
339 000690 51FE movf (?_getsUSBUSART+2)^(__Lparam& (0+65280)),w
340 000692 0103 movlb _cdc_rx_len shr (0+8)
341 000694 5D62 subwf _cdc_rx_len& (0+255),w,b
342 000696 B0D8 btfsc status,0,c
343 000698 D014 goto u80
344 ;cdc.c: 254: buffer[cdc_rx_len] = cdc_data_rx[cd
+ c_rx_len];
345 00069A C362 FFE8 movff _cdc_rx_len,wreg
346 00069E EE16 F000 lfsr 1,1536
347 0006A2 26E1 addwf fsr1l,f,c
348 0006A4 0E00 movlw 0
349 0006A6 22E2 addwfc fsr1h,f,c
350 0006A8 C362 FFE8 movff _cdc_rx_len,wreg
351 0006AC 0100 movlb __Lparam shr (0+8)
352 0006AE 25FC addwf ?_getsUSBUSART^(__Lparam& (0+65280)),w
353 0006B0 6EE9 movwf fsr0l,c
354 0006B2 0E00 movlw 0
355 0006B4 21FD addwfc (?_getsUSBUSART+1)^(__Lparam& (0+65280))
+ ,w
356 0006B6 6EEA movwf fsr0h
357 0006B8 CFE7 FFEF movff indf1,indf0
358 0006BC 0103 movlb _cdc_rx_len shr (0+8)
359 0006BE 2B62 incf _cdc_rx_len& (0+255),f,b
360 0006C0 D7E6 goto l101
361 0006C2 u80:
362 ;cdc.c: 259: ep[3].out.a.Cnt = sizeof(cdc_data_r
+ x);
363 0006C2 0E40 movlw 64
364 0006C4 CFE8 F419 movff wreg,1049
365 ;cdc.c: 260: { ep[3].out.a.Stat._byte &= 0x40; e
+ p[3].out.a.Stat.a.DTS = !ep[3].out.a.Stat.a.DTS;
+ ep[3].out.a.Stat._byte |= 0x80|0x08; };
366 0006C8 0104 movlb 4
367 0006CA 1718 andwf 24,f,b
368 0006CC 0E00 movlw 0
369 0006CE AD18 btfss 24,6,b
370 0006D0 0E01 movlw 1
371 0006D2 6E00 movwf btemp
372 0006D4 EE04 F018 lfsr 0,1048
373 0006D8 3A00 swapf btemp,f
374 0006DA 3600 rlcf btemp,f
375 0006DC 3600 rlcf btemp,f
376 0006DE 50EF movf indf0,w,c
377 0006E0 1800 xorwf btemp,w
378 0006E2 0BBF andlw -65
379 0006E4 1800 xorwf btemp,w
380 0006E6 6EEF movwf indf0,c
381 0006E8 0E88 movlw -120
382 0006EA 1318 iorwf 24,f,b
383 0006EC l96:
384 ;cdc.c: 261: }
385 0006EC C362 FFE8 movff _cdc_rx_len,wreg
386 0006F0 0012 return
387 ;cdc.c: 265: }
388 0006F2 00FC dw ?_putsUSBUSART
389 0006F4 _putsUSBUSART:
390 000000
391 ;cdc.c: 296: byte len;
392 0006F4 0103 movlb _cdc_trf_state shr (0+8)
393 0006F6 5363 movf _cdc_trf_state& (0+255),f,b
394 0006F8 A4D8 btfss status,2,c
395 0006FA 0012 return
396 ; _data loaded to fsr1
397 0006FC C0FC FFE1 movff ?_putsUSBUSART,fsr1l
398 000700 C0FD FFE2 movff ?_putsUSBUSART+1,fsr1h
399 ;cdc.c: 327: len = 0;
400 000704 6AD9 clrf fsr2l,c
401 000706 l106:
402 ;cdc.c: 328: do
403 ;cdc.c: 329: {
404 000706 2AD9 incf fsr2l,f,c
405 ;cdc.c: 331: if(len == 255) break;
406 000708 28D9 incf fsr2l,w,c
407 00070A B4D8 btfsc status,2,c
408 00070C D009 goto l105
409 ;cdc.c: 332: }while(*data++);
410 00070E CFE1 FFE9 movff fsr1l,fsr0l
411 000712 CFE2 FFEA movff fsr1h,fsr0h
412 000716 4AE1 infsnz fsr1l,f,c
413 000718 2AE2 incf fsr1h,f,c
414 00071A 50EF movf indf0,w,c
415 00071C A4D8 btfss status,2,c
416 00071E D7F3 goto l106
417 000720 l105:
418 ;cdc.c: 337: data-=len;
419 000720 50D9 movf fsr2l,w,c
420 000722 5EE1 subwf fsr1l,f,c
421 000724 0E00 movlw 0
422 000726 5AE2 subwfb fsr1h,f,c
423 ;cdc.c: 345: { pCDCSrc.bRam = (byte*)data; cdc_t
+ x_len = len; cdc_mem_type = 0; cdc_trf_state = 1
+ ; };
424 000728 CFE1 F0EF movff fsr1l,_pCDCSrc
425 00072C CFE2 F0F0 movff fsr1h,_pCDCSrc+1
426 000730 CFD9 F364 movff fsr2l,_cdc_tx_len
427 000734 0103 movlb _cdc_mem_type shr (0+8)
428 000736 6B61 clrf _cdc_mem_type& (0+255),b
429 000738 0E01 movlw 1
430 00073A CFE8 F363 movff wreg,_cdc_trf_state
431 ;cdc.c: 346: }
432 00073E 0012 return
433 000740 00FC dw ?_putrsUSBUSART
434 000742 _putrsUSBUSART:
435 000000
436 ;cdc.c: 377: byte len;
437 000742 0103 movlb _cdc_trf_state shr (0+8)
438 000744 5363 movf _cdc_trf_state& (0+255),f,b
439 000746 A4D8 btfss status,2,c
440 000748 0012 return
441 ;cdc.c: 408: len = 0;
442 00074A 6AD9 clrf fsr2l,c
443 00074C l112:
444 ;cdc.c: 409: do
445 ;cdc.c: 410: {
446 00074C 2AD9 incf fsr2l,f,c
447 ;cdc.c: 412: if(len == 255) break;
448 00074E 28D9 incf fsr2l,w,c
449 000750 B4D8 btfsc status,2,c
450 000752 D016 goto l111
451 ;cdc.c: 413: }while(*data++);
452 000754 0100 movlb __Lparam shr (0+8)
453 000756 C0FC FFF6 movff ?_putrsUSBUSART,tblptrl
454 00075A C0FD FFF7 movff ?_putrsUSBUSART+1,tblptrh
455 00075E 2BFC incf ?_putrsUSBUSART^(__Lparam& (0+65280)),f
456 000760 0E00 movlw 0
457 000762 23FD addwfc (?_putrsUSBUSART+1)^(__Lparam& (0+65280)
+ ),f
458 000764 0E03 movlw (high __ramtop+-1)
459 000766 64F7 cpfsgt tblptrh,c
460 000768 D003 bra u147
461 00076A 0008 tblrd *
462 00076C 50F5 movf tablat,w,c
463 00076E D005 bra u140
464 000770 u147:
465 000770 CFF6 FFE9 movff tblptrl,fsr0l
466 000774 CFF7 FFEA movff tblptrh,fsr0h
467 000778 50EF movf indf0,w,c
468 00077A u140:
469 00077A 0900 iorlw 0
470 00077C A4D8 btfss status,2,c
471 00077E D7E6 goto l112
472 000780 l111:
473 ;cdc.c: 418: data-=len;
474 000780 50D9 movf fsr2l,w,c
475 000782 0100 movlb __Lparam shr (0+8)
476 000784 5FFC subwf ?_putrsUSBUSART^(__Lparam& (0+65280)),f
477 000786 0E00 movlw 0
478 000788 5BFD subwfb (?_putrsUSBUSART+1)^(__Lparam& (0+65280)
+ ),f
479 ;cdc.c: 426: { pCDCSrc.bRom = (const byte*)data;
+ cdc_tx_len = len; cdc_mem_type = 1; cdc_trf_sta
+ te = 1; };
480 00078A C0FC F0EF movff ?_putrsUSBUSART,_pCDCSrc
481 00078E C0FD F0F0 movff ?_putrsUSBUSART+1,_pCDCSrc+1
482 000792 CFD9 F364 movff fsr2l,_cdc_tx_len
483 000796 0E01 movlw 1
484 000798 CFE8 F361 movff wreg,_cdc_mem_type
485 00079C CFE8 F363 movff wreg,_cdc_trf_state
486 ;cdc.c: 428: }
487 0007A0 0012 return
488 ;cdc.c: 446: void CDCTxService(void)
489 ;cdc.c: 447: {
490 0007A2 _CDCTxService:
491 000000
492 ;cdc.c: 448: byte byte_to_send;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -