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