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

📄 usb9.lst

📁 USB的开发例子,用PIC18F4550实现.可以和电脑用USB控制连接.
💻 LST
📖 第 1 页 / 共 3 页
字号:
   225  0000E8  E0E7               	bz	l93
   226  0000EA  0012               	return	
   227                           ;usb9.c: 114: }
   228                           ;usb9.c: 134: void USBStdGetDscHandler(void)
   229                           ;usb9.c: 135: {
   230  0000EC                     _USBStdGetDscHandler:
   231  000000                     
   232                           ;usb9.c: 136: if(SetupPkt.b.bmRequestType == 0x8
      +                          0)
   233  0000EC  C480 FFE8          	movff	1152,wreg
   234  0000F0  0A80               	xorlw	-128
   235  0000F2  A4D8               	btfss	status,2,c
   236  0000F4  0012               	return	
   237  0000F6  D07C               	goto	l97
   238                           ;usb9.c: 137: {
   239  0000F8                     l98:
   240                           ;usb9.c: 139: {
   241                           ;usb9.c: 141: ctrl_trf_session_owner = 1;
   242  0000F8  0E01               	movlw	1
   243  0000FA  CFE8 F377          	movff	wreg,_ctrl_trf_session_owner
   244                           ;usb9.c: 142: pSrc.bRom = (const byte*)&device_d
      +                          sc;
   245  0000FE  0100               	movlb	_pSrc shr (0+8)
   246  000100  0E00               	movlw	low _device_dsc
   247  000102  6FE3               	movwf	_pSrc& (0+255),b
   248  000104  0E04               	movlw	high _device_dsc
   249  000106  6FE4               	movwf	(_pSrc+1)& (0+255),b
   250                           ;usb9.c: 143: wCount._word = sizeof(device_dsc);
   251  000108  0100               	movlb	_wCount shr (0+8)
   252  00010A  0E12               	movlw	18
   253  00010C  6FE5               	movwf	_wCount& (0+255),b
   254  00010E  0E00               	movlw	0
   255  000110  6BE6               	clrf	(_wCount+1)& (0+255),b
   256                           ;usb9.c: 144: break;
   257  000112  D076               	goto	l96
   258  000114                     l99:
   259                           ;usb9.c: 145: case 0x02:
   260                           ;usb9.c: 146: ctrl_trf_session_owner = 1;
   261  000114  0E01               	movlw	1
   262  000116  CFE8 F377          	movff	wreg,_ctrl_trf_session_owner
   263                           ;usb9.c: 147: pSrc.bRom = *(USB_CD_Ptr+SetupPkt.
      +                          e.bDscIndex);
   264  00011A  C482 F000          	movff	1154,btemp
   265  00011E  90D8               	bcf	status,0,c
   266  000120  3400               	rlcf	btemp,w
   267  000122  6E00               	movwf	btemp
   268  000124  6A01               	clrf	btemp+1
   269  000126  3601               	rlcf	btemp+1,f
   270  000128  5000               	movf	btemp,w
   271  00012A  0FC1               	addlw	low _USB_CD_Ptr
   272  00012C  6EF6               	movwf	tblptrl,c
   273  00012E  5001               	movf	btemp+1,w
   274  000130  6EF7               	movwf	tblptrh,c
   275  000132  0E04               	movlw	high _USB_CD_Ptr
   276  000134  22F7               	addwfc	tblptrh,f,c
   277  000136  0009               	tblrd		*+
   278  000138  CFF5 F000          	movff	tablat,btemp
   279  00013C  0009               	tblrd		*+
   280  00013E  CFF5 F001          	movff	tablat,btemp+1
   281  000142  C000  F0E3         	movff	btemp,_pSrc
   282  000146  C001  F0E4         	movff	btemp+1,_pSrc+1
   283                           ;usb9.c: 148: wCount._word = *(pSrc.wRom+1);
   284  00014A  0E02               	movlw	2
   285  00014C  C0E3  F000         	movff	_pSrc,btemp
   286  000150  C0E4  F001         	movff	_pSrc+1,btemp+1
   287  000154  2600               	addwf	btemp,f
   288  000156  0E00               	movlw	0
   289  000158  2201               	addwfc	btemp+1,f
   290  00015A  C000  FFF6         	movff	btemp,tblptrl
   291  00015E  C001  FFF7         	movff	btemp+1,tblptrh
   292  000162  0E03               	movlw	(high __ramtop+-1)
   293  000164  64F7               	cpfsgt	tblptrh,c
   294  000166  D007               	bra	u37
   295  000168  0009               	tblrd		*+
   296  00016A  CFF5 F000          	movff	tablat,btemp
   297  00016E  0009               	tblrd		*+
   298  000170  CFF5 F001          	movff	tablat,btemp+1
   299  000174  D008               	bra	u30
   300  000176                     u37:
   301  000176  CFF6 FFE9          	movff	tblptrl,fsr0l
   302  00017A  CFF7 FFEA          	movff	tblptrh,fsr0h
   303  00017E  CFEE F000          	movff	postinc0,btemp
   304  000182  CFEE F001          	movff	postinc0,btemp+1
   305  000186                     u30:
   306  000186  C000  F0E5         	movff	btemp,_wCount
   307  00018A  C001  F0E6         	movff	btemp+1,_wCount+1
   308                           ;usb9.c: 149: break;
   309  00018E  D038               	goto	l96
   310  000190                     l100:
   311                           ;usb9.c: 150: case 0x03:
   312                           ;usb9.c: 151: ctrl_trf_session_owner = 1;
   313  000190  0E01               	movlw	1
   314  000192  CFE8 F377          	movff	wreg,_ctrl_trf_session_owner
   315                           ;usb9.c: 152: pSrc.bRom = *(USB_SD_Ptr+SetupPkt.
      +                          e.bDscIndex);
   316  000196  C482 F000          	movff	1154,btemp
   317  00019A  90D8               	bcf	status,0,c
   318  00019C  3400               	rlcf	btemp,w
   319  00019E  6E00               	movwf	btemp
   320  0001A0  6A01               	clrf	btemp+1
   321  0001A2  3601               	rlcf	btemp+1,f
   322  0001A4  5000               	movf	btemp,w
   323  0001A6  0FC5               	addlw	low _USB_SD_Ptr
   324  0001A8  6EF6               	movwf	tblptrl,c
   325  0001AA  5001               	movf	btemp+1,w
   326  0001AC  6EF7               	movwf	tblptrh,c
   327  0001AE  0E04               	movlw	high _USB_SD_Ptr
   328  0001B0  22F7               	addwfc	tblptrh,f,c
   329  0001B2  0009               	tblrd		*+
   330  0001B4  CFF5 F000          	movff	tablat,btemp
   331  0001B8  0009               	tblrd		*+
   332  0001BA  CFF5 F001          	movff	tablat,btemp+1
   333  0001BE  C000  F0E3         	movff	btemp,_pSrc
   334  0001C2  C001  F0E4         	movff	btemp+1,_pSrc+1
   335                           ;usb9.c: 153: wCount._word = *pSrc.bRom;
   336  0001C6  C0E3  FFF6         	movff	_pSrc,tblptrl
   337  0001CA  C0E4  FFF7         	movff	_pSrc+1,tblptrh
   338  0001CE  0E03               	movlw	(high __ramtop+-1)
   339  0001D0  64F7               	cpfsgt	tblptrh,c
   340  0001D2  D003               	bra	u47
   341  0001D4  0008               	tblrd		*
   342  0001D6  50F5               	movf	tablat,w,c
   343  0001D8  D005               	bra	u40
   344  0001DA                     u47:
   345  0001DA  CFF6 FFE9          	movff	tblptrl,fsr0l
   346  0001DE  CFF7 FFEA          	movff	tblptrh,fsr0h
   347  0001E2  50EF               	movf	indf0,w,c
   348  0001E4                     u40:
   349  0001E4  6E00               	movwf	btemp
   350  0001E6  0100               	movlb	_wCount shr (0+8)
   351  0001E8  C000  F0E5         	movff	btemp,_wCount
   352  0001EC  6BE6               	clrf	(_wCount+1)& (0+255),b
   353                           ;usb9.c: 154: break;
   354  0001EE  D008               	goto	l96
   355  0001F0                     l97:
   356  0001F0  C483 FFE8          	movff	1155,wreg
   357  0001F4  0A01               	xorlw	1
   358  0001F6  E080               	bz	l98
   359  0001F8  0A03               	xorlw	3
   360  0001FA  E08C               	bz	l99
   361  0001FC  0A01               	xorlw	1
   362  0001FE  E0C8               	bz	l100
   363  000200                     l96:
   364                           ;usb9.c: 157: usb_stat.a.ctrl_trf_mem = 1;
   365  000200  0103               	movlb	_usb_stat shr (0+8)
   366  000202  837C               	bsf	_usb_stat& (0+255),1,b
   367                           ;usb9.c: 158: }
   368  000204  0012               	return	
   369                           ;usb9.c: 178: void USBStdSetCfgHandler(void)
   370                           ;usb9.c: 179: {
   371  000206                     _USBStdSetCfgHandler:
   372  000000                     
   373                           ;usb9.c: 180: ctrl_trf_session_owner = 1;
   374  000206  0E01               	movlw	1
   375  000208  CFE8 F377          	movff	wreg,_ctrl_trf_session_owner
   376                           ;usb9.c: 181: ClearArray((byte*)&UEP1,15);;
   377  00020C  0100               	movlb	__Lparam shr (0+8)
   378  00020E  0E71               	movlw	113
   379  000210  6FFD               	movwf	?_ClearArray^(__Lparam& (0+65280))
   380  000212  0E0F               	movlw	15
   381  000214  6FFE               	movwf	(?_ClearArray+1)^(__Lparam& (0+65280))
   382  000216  6FFF               	movwf	(?_ClearArray+2)^(__Lparam& (0+65280))
   383  000218  EC86  F007         	call	_ClearArray	;wreg free
   384                           ;usb9.c: 182: ClearArray((byte*)usb_alt_intf,1);
   385  00021C  0100               	movlb	__Lparam shr (0+8)
   386  00021E  0E7A               	movlw	low _usb_alt_intf
   387  000220  6FFD               	movwf	?_ClearArray^(__Lparam& (0+65280))
   388  000222  0E03               	movlw	high _usb_alt_intf
   389  000224  6FFE               	movwf	(?_ClearArray+1)^(__Lparam& (0+65280))
   390  000226  0E01               	movlw	1
   391  000228  6FFF               	movwf	(?_ClearArray+2)^(__Lparam& (0+65280))
   392  00022A  EC86  F007         	call	_ClearArray	;wreg free
   393                           ;usb9.c: 183: usb_active_cfg = SetupPkt.g.bCfgVa
      +                          lue;
   394  00022E  C482 F379          	movff	1154,_usb_active_cfg
   395                           ;usb9.c: 184: if(SetupPkt.g.bCfgValue == 0)
   396  000232  EE04 F082          	lfsr	0,1154
   397  000236  50EF               	movf	indf0,w,c
   398  000238  A4D8               	btfss	status,2,c
   399  00023A  D004               	goto	l102
   400                           ;usb9.c: 185: usb_device_state = 5;
   401  00023C  0E05               	movlw	5
   402  00023E  CFE8 F37B          	movff	wreg,_usb_device_state
   403                           ;usb9.c: 186: else
   404  000242  0012               	return	
   405  000244                     l102:
   406                           ;usb9.c: 187: {
   407  000244  0E06               	movlw	6
   408  000246  CFE8 F37B          	movff	wreg,_usb_device_state
   409                           ;usb9.c: 193: CDCInitEP();
   410  00024A  EF0E  F003         	goto	_CDCInitEP	;wreg free
   411                           ;usb9.c: 198: }
   412                           ;usb9.c: 199: }
   413                           ;usb9.c: 216: void USBStdGetStatusHandler(void)
   414                           ;usb9.c: 217: {
   415  00024E                     _USBStdGetStatusHandler:
   416  000000                     
   417                           ;usb9.c: 218: CtrlTrfData.b._byte0 = 0;
   418  00024E  0104               	movlb	4
   419  000250  6BC0               	clrf	192,b
   420                           ;usb9.c: 219: CtrlTrfData.b._byte1 = 0;
   421  000252  6BC1               	clrf	193,b
   422                           ;usb9.c: 221: switch (SetupPkt.d.Recipient)
   423  000254  D040               	goto	l106
   424  000256                     l107:
   425                           ;usb9.c: 222: {
   426                           ;usb9.c: 224: ctrl_trf_session_owner = 1;
   427  000256  0E01               	movlw	1
   428  000258  CFE8 F377          	movff	wreg,_ctrl_trf_session_owner
   429                           ;usb9.c: 231: if(1 == 1)
   430  00025C  0104               	movlb	4
   431  00025E  81C0               	bsf	192,0,b
   432                           ;usb9.c: 234: if(usb_stat.a.RemoteWakeup == 1)
   433  000260  0103               	movlb	_usb_stat shr (0+8)
   434  000262  A17C               	btfss	_usb_stat& (0+255),0,b
   435  000264  D041               	goto	l105
   436                           ;usb9.c: 235: CtrlTrfData.b._byte0|=0b00000010;
   437  000266  0104               	movlb	4
   438  000268  83C0               	bsf	192,1,b
   439                           ;usb9.c: 237: break;
   440  00026A  D03E               	goto	l105
   441  00026C                     l110:
   442                           ;usb9.c: 238: case 1:
   443                           ;usb9.c: 239: ctrl_trf_session_owner = 1;
   444  00026C  0E01               	movlw	1
   445  00026E  CFE8 F377          	movff	wreg,_ctrl_trf_session_owner
   446                           ;usb9.c: 240: break;
   447  000272  D03A               	goto	l105
   448  000274                     l111:
   449                           ;usb9.c: 241: case 2:
   450                           ;usb9.c: 242: ctrl_trf_session_owner = 1;
   451  000274  0E01               	movlw	1
   452  000276  CFE8 F377          	movff	wreg,_ctrl_trf_session_owner
   453                           ;usb9.c: 247: pDst.bRam = (byte*)&ep[0].out+(Set
      +                          upPkt.j.EPNum*8)+(SetupPkt.j.EPDir*4);

⌨️ 快捷键说明

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