📄 usbdrv.lst
字号:
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 + -