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

📄 usbdrv.lst

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


HI-TECH Software PICC-18 Macro Assembler V8.35PL3
Serial number: HCPIC18-15668                           Wed Jun 15 13:32:22 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  000DE8                     _USBCheckBusStatus:
   105                           ;       param _count assigned to ?_ClearArray+2
   106  000000                     _ClearArray$count	set	?_ClearArray+2
   107  000000                     
   108                           ;usbdrv.c: 89: if(1 == 1)
   109  000DE8  A66D               	btfss	3949,3,c	;volatile
   110                           ;usbdrv.c: 92: USBModuleEnable();
   111  000DEA  D80E               	call	_USBModuleEnable	;wreg free
   112                           ;usbdrv.c: 93: }
   113                           ;usbdrv.c: 94: else
   114                           ;usbdrv.c: 107: if(usb_device_state == 1)
   115  000DEC  C37B  F000         	movff	_usb_device_state,btemp
   116  000DF0  0400               	decf	btemp,w
   117  000DF2  B4D8               	btfsc	status,2,c
   118                           ;usbdrv.c: 108: {
   119  000DF4  BA6D               	btfsc	3949,5,c	;volatile
   120  000DF6  0012               	return	
   121                           ;usbdrv.c: 110: {
   122  000DF8  6A68               	clrf	3944,c	;volatile
   123                           ;usbdrv.c: 112: UIE = 0;
   124  000DFA  6A69               	clrf	3945,c
   125                           ;usbdrv.c: 113: UIEbits.URSTIE = 1;
   126  000DFC  8069               	bsf	3945,0,c	;volatile
   127                           ;usbdrv.c: 114: UIEbits.IDLEIE = 1;
   128  000DFE  8869               	bsf	3945,4,c	;volatile
   129                           ;usbdrv.c: 115: usb_device_state = 2;
   130  000E00  0E02               	movlw	2
   131  000E02  CFE8 F37B          	movff	wreg,_usb_device_state
   132                           ;usbdrv.c: 116: }
   133                           ;usbdrv.c: 119: }
   134  000E06  0012               	return	
   135                           ;usbdrv.c: 139: void USBModuleEnable(void)
   136                           ;usbdrv.c: 140: {
   137  000E08                     _USBModuleEnable:
   138  000000                     
   139                           ;usbdrv.c: 141: UCON = 0;
   140  000E08  6A6D               	clrf	3949,c	;volatile
   141                           ;usbdrv.c: 142: UIE = 0;
   142  000E0A  6A69               	clrf	3945,c
   143                           ;usbdrv.c: 143: UCONbits.USBEN = 1;
   144  000E0C  866D               	bsf	3949,3,c	;volatile
   145                           ;usbdrv.c: 144: usb_device_state = 1;
   146  000E0E  0E01               	movlw	1
   147  000E10  CFE8 F37B          	movff	wreg,_usb_device_state
   148                           ;usbdrv.c: 145: }
   149  000E14  0012               	return	
   150                           ;usbdrv.c: 165: void USBModuleDisable(void)
   151                           ;usbdrv.c: 166: {
   152  000E16                     _USBModuleDisable:
   153  000000                     
   154                           ;usbdrv.c: 167: UCON = 0;
   155  000E16  6A6D               	clrf	3949,c	;volatile
   156                           ;usbdrv.c: 168: UIE = 0;
   157  000E18  6A69               	clrf	3945,c
   158                           ;usbdrv.c: 169: usb_device_state = 0;
   159  000E1A  0103               	movlb	_usb_device_state shr (0+8)
   160  000E1C  6B7B               	clrf	_usb_device_state& (0+255),b
   161                           ;usbdrv.c: 170: }
   162  000E1E  0012               	return	
   163                           ;usbdrv.c: 196: void USBSoftDetach(void)
   164                           ;usbdrv.c: 197: {
   165  000E20                     _USBSoftDetach:
   166  000000                     
   167                           ;usbdrv.c: 198: USBModuleDisable();
   168  000E20  D7FA               	goto	_USBModuleDisable	;wreg free
   169                           ;usbdrv.c: 199: }
   170                           ;usbdrv.c: 219: void USBDriverService(void)
   171                           ;usbdrv.c: 220: {
   172  000E22                     _USBDriverService:
   173  000000                     
   174                           ;usbdrv.c: 224: if(usb_device_state == 0) return
      +                          ;
   175  000E22  0103               	movlb	_usb_device_state shr (0+8)
   176  000E24  537B               	movf	_usb_device_state& (0+255),f,b
   177  000E26  B4D8               	btfsc	status,2,c
   178  000E28  0012               	return	
   179                           ;usbdrv.c: 230: if(UIRbits.ACTVIF && UIEbits.ACT
      +                          VIE) USBWakeFromSuspend();
   180  000E2A  B468               	btfsc	3944,2,c	;volatile
   181  000E2C  A469               	btfss	3945,2,c	;volatile
   182  000E2E  D001               	goto	l90
   183  000E30  D82A               	call	_USBWakeFromSuspend	;wreg free
   184  000E32                     l90:
   185                           ;usbdrv.c: 235: if(UCONbits.SUSPND==1) return;
   186  000E32  B26D               	btfsc	3949,1,c	;volatile
   187  000E34  0012               	return	
   188                           ;usbdrv.c: 243: if(UIRbits.URSTIF && UIEbits.URS
      +                          TIE) USBProtocolResetHandler();
   189  000E36  B068               	btfsc	3944,0,c	;volatile
   190  000E38  A069               	btfss	3945,0,c	;volatile
   191  000E3A  D001               	goto	l92
   192  000E3C  D847               	call	_USBProtocolResetHandler	;wreg free
   193  000E3E                     l92:
   194                           ;usbdrv.c: 248: if(UIRbits.IDLEIF && UIEbits.IDL
      +                          EIE) USBSuspend();
   195  000E3E  B868               	btfsc	3944,4,c	;volatile
   196  000E40  A869               	btfss	3945,4,c	;volatile
   197  000E42  D001               	goto	l93
   198  000E44  D818               	call	_USBSuspend	;wreg free
   199  000E46                     l93:
   200                           ;usbdrv.c: 249: if(UIRbits.SOFIF && UIEbits.SOFI
      +                          E) USB_SOF_Handler();
   201  000E46  BC68               	btfsc	3944,6,c	;volatile
   202  000E48  AC69               	btfss	3945,6,c	;volatile
   203  000E4A  D001               	goto	l94
   204  000E4C  D834               	call	_USB_SOF_Handler	;wreg free
   205  000E4E                     l94:
   206                           ;usbdrv.c: 250: if(UIRbits.STALLIF && UIEbits.ST
      +                          ALLIE) USBStallHandler();
   207  000E4E  BA68               	btfsc	3944,5,c	;volatile
   208  000E50  AA69               	btfss	3945,5,c	;volatile
   209  000E52  D001               	goto	l95
   210  000E54  D832               	call	_USBStallHandler	;wreg free
   211  000E56                     l95:
   212                           ;usbdrv.c: 251: if(UIRbits.UERRIF && UIEbits.UER
      +                          RIE) USBErrorHandler();
   213  000E56  B268               	btfsc	3944,1,c	;volatile
   214  000E58  A269               	btfss	3945,1,c	;volatile
   215  000E5A  D001               	goto	l96
   216  000E5C  D835               	call	_USBErrorHandler	;wreg free
   217  000E5E                     l96:
   218                           ;usbdrv.c: 258: if(usb_device_state < 3) return;
   219  000E5E  0E03               	movlw	3
   220  000E60  0103               	movlb	_usb_device_state shr (0+8)
   221  000E62  617B               	cpfslt	_usb_device_state& (0+255),b
   222  000E64  D001               	goto	l97
   223  000E66  0012               	return	
   224  000E68                     l97:
   225                           ;usbdrv.c: 263: if(UIRbits.TRNIF && UIEbits.TRNI
      +                          E)
   226  000E68  B668               	btfsc	3944,3,c	;volatile
   227  000E6A  A669               	btfss	3945,3,c	;volatile
   228  000E6C  0012               	return	
   229                           ;usbdrv.c: 264: {
   230  000E6E  EC5A  F004         	call	_USBCtrlEPService	;wreg free

⌨️ 快捷键说明

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