⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cdc.lst

📁 USB的开发例子,用PIC18F4550实现.可以和电脑用USB控制连接.
💻 LST
📖 第 1 页 / 共 3 页
字号:


HI-TECH Software PICC-18 Macro Assembler V8.35PL3
Serial number: HCPIC18-15668                           Wed Jun 15 13:32:20 2005

Licensed to: DESIGNREM LTD
     1                           	processor	18F4550
     2                           	opt	pw 80
     3                           	psect	__Z15668RS_,global,delta=1
     4                           	psect	text,global,reloc=2,class=CODE,delta=1
     5                           	psect	bigbss,global,class=BIGRAM,space=1,delta=
      +                          1
     6                           	psect	bss,global,class=RAM,space=1,delta=1
     7                           	psect	temp,global,ovrld,common,class=COMRAM,spa
      +                          ce=1,delta=1
     8                           	psect	intsave_regs,global,class=BIGRAM,space=1,
      +                          delta=1
     9  000000                     
    10  000000                     
    11  000000                     
    12  000000                     
    13  000000                     
    14  000000                     
    15  000000                     
    16  000000                     
    17  000000                     
    18  000000                     
    19  000000                     
    20  000000                     
    21  000000                     
    22  000000                     
    23  000000                     
    24  000000                     
    25  000000                     
    26  000000                     
    27  000000                     
    28  000000                     
    29  000000                     
    30  000000                     
    31  000000                     
    32  000000                     
    33  000000                     
    34  000000                     
    35  000000                     
    36  000000                     
    37  000000                     
    38  000000                     
    39  000000                     
    40  000000                     
    41  000000                     
    42  000000                     
    43  000000                     
    44  000000                     
    45  000000                     
    46  000000                     
    47  000000                     
    48  000000                     
    49  000000                     
    50  000000                     
    51  000000                     
    52  000000                     
    53  000000                     
    54  000000                     
    55  000000                     
    56  000000                     
    57  000000                     
    58  000000                     
    59  000000                     
    60  000000                     
    61  000000                     
    62  000000                     
    63  000000                     
    64  000000                     
    65  000000                     
    66  000000                     
    67  000000                     
    68  000000                     
    69  000000                     
    70  000000                     
    71  000000                     
    72  000000                     
    73  000000                     
    74  000000                     
    75  000000                     
    76  000000                     
    77  000000                     
    78  000000                     
    79  000000                     
    80  000000                     
    81  000000                     
    82  000000                     
    83  000000                     
    84  000000                     
    85  000000                     
    86  000000                     
    87  000000                     
    88  000000                     
    89  000000                     
    90  000000                     
    91  000000                     
    92  000000                     
    93  000000                     
    94  000000                     
    95  000000                     
    96  000000                     
    97  000000                     
    98                           
    99                           	psect	__Z15668RS_
   100  000004                     
   101  000004                     
   102                           
   103                           	psect	text
   104  000550                     _USBCheckCDCRequest:
   105                           ;cdc.c: 375: void putrsUSBUSART(const char *data
      +                          )
   106                           ;cdc.c: 376: {
   107                           ;       param _data assigned to ?_putrsUSBUSART+
      +                          0
   108  000000                     _putrsUSBUSART$data	set	?_putrsUSBUSART
   109                           ;cdc.c: 294: void putsUSBUSART(char *data)
   110                           ;cdc.c: 295: {
   111                           ;       param _data assigned to ?_putsUSBUSART+0
   112  000000                     _putsUSBUSART$data	set	?_putsUSBUSART
   113                           ;       param _len assigned to ?_getsUSBUSART+2
   114  000000                     _getsUSBUSART$len	set	?_getsUSBUSART+2
   115  000000                     
   116                           ;cdc.c: 91: if(SetupPkt.d.Recipient != 1) return
      +                          ;
   117  000550  EE04 F080          	lfsr	0,1152
   118  000554  50EF               	movf	indf0,w,c
   119  000556  0B1F               	andlw	31
   120  000558  6E00               	movwf	btemp
   121  00055A  0400               	decf	btemp,w
   122  00055C  A4D8               	btfss	status,2,c
   123  00055E  0012               	return	
   124                           ;cdc.c: 96: if(SetupPkt.d.RequestType != 0x01) r
      +                          eturn;
   125  000560  EE04 F080          	lfsr	0,1152
   126  000564  38EF               	swapf	indf0,w,c
   127  000566  6E00               	movwf	btemp
   128  000568  3000               	rrcf	btemp,w
   129  00056A  0B03               	andlw	3
   130  00056C  6E00               	movwf	btemp
   131  00056E  0400               	decf	btemp,w
   132  000570  A4D8               	btfss	status,2,c
   133  000572  0012               	return	
   134                           ;cdc.c: 102: if((SetupPkt.h.bIntfID != 0x00)&&
   135                           ;cdc.c: 103: (SetupPkt.h.bIntfID != 0x01)) retur
      +                          n;
   136  000574  EE04 F084          	lfsr	0,1156
   137  000578  50EF               	movf	indf0,w,c
   138  00057A  B4D8               	btfsc	status,2,c
   139  00057C  D03A               	goto	l83
   140  00057E  C484 F000          	movff	1156,btemp
   141  000582  0400               	decf	btemp,w
   142  000584  A4D8               	btfss	status,2,c
   143  000586  0012               	return	
   144  000588  D034               	goto	l83
   145                           ;cdc.c: 105: switch(SetupPkt.b.bRequest)
   146  00058A                     l84:
   147                           ;cdc.c: 106: {
   148                           ;cdc.c: 108: ctrl_trf_session_owner = 3;
   149  00058A  0E03               	movlw	3
   150  00058C  CFE8 F377          	movff	wreg,_ctrl_trf_session_owner
   151                           ;cdc.c: 109: pSrc.bRam = (byte*)dummy_encapsulat
      +                          ed_cmd_response;
   152  000590  0100               	movlb	_pSrc shr (0+8)
   153  000592  0E65               	movlw	low _dummy_encapsulated_cmd_response
   154  000594  6FE3               	movwf	_pSrc& (0+255),b
   155  000596  0E03               	movlw	high _dummy_encapsulated_cmd_response
   156  000598  6FE4               	movwf	(_pSrc+1)& (0+255),b
   157                           ;cdc.c: 110: usb_stat.a.ctrl_trf_mem = 0;
   158  00059A  0103               	movlb	_usb_stat shr (0+8)
   159  00059C  937C               	bcf	_usb_stat& (0+255),1
   160                           ;cdc.c: 111: ((wCount).d.v[0]) = 0x08;
   161  00059E  0E08               	movlw	8
   162  0005A0  CFE8 F0E5          	movff	wreg,_wCount
   163                           ;cdc.c: 112: break;
   164  0005A4  0012               	return	
   165  0005A6                     l85:
   166                           ;cdc.c: 113: case 0x01:
   167                           ;cdc.c: 114: ctrl_trf_session_owner = 3;
   168  0005A6  0E03               	movlw	3
   169  0005A8  CFE8 F377          	movff	wreg,_ctrl_trf_session_owner
   170                           ;cdc.c: 116: pDst.bRam = (byte*)dummy_encapsulat
      +                          ed_cmd_response;
   171  0005AC  0100               	movlb	_pDst shr (0+8)
   172  0005AE  0E65               	movlw	low _dummy_encapsulated_cmd_response
   173  0005B0  6FE1               	movwf	_pDst& (0+255),b
   174  0005B2  0E03               	movlw	high _dummy_encapsulated_cmd_response
   175  0005B4  6FE2               	movwf	(_pDst+1)& (0+255),b
   176                           ;cdc.c: 117: break;
   177  0005B6                     l86:
   178                           ;cdc.c: 118: case 0x02:
   179                           ;cdc.c: 119: break;
   180  0005B6                     l87:
   181                           ;cdc.c: 120: case 0x03:
   182                           ;cdc.c: 121: break;
   183  0005B6                     l88:
   184                           ;cdc.c: 122: case 0x04:
   185                           ;cdc.c: 123: break;
   186  0005B6  0012               	return	
   187  0005B8                     l89:
   188                           ;cdc.c: 124: case 0x20:
   189                           ;cdc.c: 125: ctrl_trf_session_owner = 3;
   190  0005B8  0E03               	movlw	3
   191  0005BA  CFE8 F377          	movff	wreg,_ctrl_trf_session_owner
   192                           ;cdc.c: 126: pDst.bRam = (byte*)&line_coding;
   193  0005BE  0100               	movlb	_pDst shr (0+8)
   194  0005C0  0EF5               	movlw	low _line_coding
   195  0005C2  6FE1               	movwf	_pDst& (0+255),b
   196  0005C4  0E00               	movlw	high _line_coding
   197  0005C6  6FE2               	movwf	(_pDst+1)& (0+255),b
   198                           ;cdc.c: 127: break;
   199  0005C8  0012               	return	
   200  0005CA                     l90:
   201                           ;cdc.c: 128: case 0x21:
   202                           ;cdc.c: 129: ctrl_trf_session_owner = 3;
   203  0005CA  0E03               	movlw	3
   204  0005CC  CFE8 F377          	movff	wreg,_ctrl_trf_session_owner
   205                           ;cdc.c: 130: pSrc.bRam = (byte*)&line_coding;
   206  0005D0  0100               	movlb	_pSrc shr (0+8)
   207  0005D2  0EF5               	movlw	low _line_coding
   208  0005D4  6FE3               	movwf	_pSrc& (0+255),b
   209  0005D6  0E00               	movlw	high _line_coding
   210  0005D8  6FE4               	movwf	(_pSrc+1)& (0+255),b
   211                           ;cdc.c: 131: usb_stat.a.ctrl_trf_mem = 0;
   212  0005DA  0103               	movlb	_usb_stat shr (0+8)
   213  0005DC  937C               	bcf	_usb_stat& (0+255),1
   214                           ;cdc.c: 132: ((wCount).d.v[0]) = 0x07;
   215  0005DE  0E07               	movlw	7
   216  0005E0  CFE8 F0E5          	movff	wreg,_wCount
   217                           ;cdc.c: 133: break;
   218  0005E4  0012               	return	
   219  0005E6                     l91:
   220                           ;cdc.c: 134: case 0x22:
   221                           ;cdc.c: 135: ctrl_trf_session_owner = 3;
   222  0005E6  0E03               	movlw	3
   223  0005E8  CFE8 F377          	movff	wreg,_ctrl_trf_session_owner
   224                           ;cdc.c: 136: control_signal_bitmap._byte = ((Set
      +                          upPkt.c.W_Value).d.v[0]);
   225  0005EC  C482 F0F1          	movff	1154,_control_signal_bitmap
   226                           ;cdc.c: 137: break;
   227  0005F0                     l92:
   228                           ;cdc.c: 138: case 0x23:
   229                           ;cdc.c: 139: break;
   230                           ;cdc.c: 140: default:
   231                           ;cdc.c: 141: break;
   232  0005F0  0012               	return	
   233  0005F2                     l83:
   234  0005F2  C481 FFE8          	movff	1153,wreg
   235  0005F6  0A00               	xorlw	0
   236  0005F8  E0C8               	bz	l84
   237  0005FA  0A01               	xorlw	1
   238  0005FC  E0D4               	bz	l85
   239  0005FE  0A03               	xorlw	3
   240  000600  E0DA               	bz	l86
   241  000602  0A01               	xorlw	1
   242  000604  E0D8               	bz	l87
   243  000606  0A07               	xorlw	7
   244  000608  E0D6               	bz	l88
   245  00060A  0A24               	xorlw	36
   246  00060C  E0D5               	bz	l89
   247  00060E  0A01               	xorlw	1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -