📄 3100_2interface.dat
字号:
18 00 |039A movwr Tx0Fifo0
19 00 |039B movwr Tx0Fifo1
A5 33 |039C goto GetStatusTaskSend
27 08 |039D movfw RemoteWakeupStatus
18 00 |039E movwr Tx0Fifo0
00 19 |039F movlw 00h
19 00 |03A0 movwr Tx0Fifo1
A5 33 |03A1 goto GetStatusTaskSend
00 19 |03A2 movlw 00h
18 00 |03A3 movwr Tx0Fifo0
19 00 |03A4 movwr Tx0Fifo1
C2 19 |03A5 movlw c2h
95 00 |03A6 movwf Tx0Reg
13 12 |03A7 bsf 13h,0
40 00 |03A8 ret
55 13 |03A9 bsf 15h,5
40 00 |03AA ret
81 19 |03AB movlw InterfaceToHost
18 02 |03AC subwf BmRequestType,W
83 16 |03AD btfss 03h,2
B5 33 |03AE goto GetInterfaceTaskError
00 19 |03AF movlw 00h
18 00 |03B0 movwr Tx0Fifo0
C1 19 |03B1 movlw c1h
95 00 |03B2 movwf Tx0Reg
13 12 |03B3 bsf 13h,0
40 00 |03B4 ret
55 13 |03B5 bsf 15h,5
40 00 |03B6 ret
01 19 |03B7 movlw HostToInterface
18 02 |03B8 subwf BmRequestType,W
83 16 |03B9 btfss 03h,2
C3 33 |03BA goto SetInterfaceTaskError
1A 08 |03BB movfw WValue
1B 04 |03BC iorwf WValueHi,W
83 16 |03BD btfss 03h,2
C3 33 |03BE goto SetInterfaceTaskError
96 11 |03BF bcf 16h,6
97 11 |03C0 bcf 17h,6
D1 21 |03C1 call NoDataControl
40 00 |03C2 ret
55 13 |03C3 bsf 15h,5
40 00 |03C4 ret
01 19 |03C5 movlw GetReport
19 02 |03C6 subwf BRequest,W
83 14 |03C7 btfsc 03h,2
E2 33 |03C8 goto HidGetReport
02 19 |03C9 movlw GetIdle
19 02 |03CA subwf BRequest,W
83 14 |03CB btfsc 03h,2
DC 33 |03CC goto HidGetIdle
03 19 |03CD movlw GetProtocol
19 02 |03CE subwf BRequest,W
83 16 |03CF btfss 03h,2
F6 33 |03D0 goto HidGetRequestTaskError
00 19 |03D1 movlw Interface1
1C 02 |03D2 subwf WIndex,W
83 14 |03D3 btfsc 03h,2
D9 33 |03D4 goto GetProtocolSend
01 19 |03D5 movlw Interface2
1C 02 |03D6 subwf WIndex,W
83 16 |03D7 btfss 03h,2
F6 33 |03D8 goto HidGetRequestTaskError
2B 08 |03D9 movfw HidProtocolStatus
18 00 |03DA movwr Tx0Fifo0
DE 33 |03DB goto HidGetRequestTaskSend
2C 08 |03DC movfw IdlePeriodStatus
18 00 |03DD movwr Tx0Fifo0
C1 19 |03DE movlw c1h
95 00 |03DF movwf Tx0Reg
13 12 |03E0 bsf 13h,0
40 00 |03E1 ret
A8 08 |03E2 testz ConfigurationStatus ;ConfigurationStatus = Config ?
83 14 |03E3 btfsc 03h,2
F6 33 |03E4 goto HidGetRequestTaskError
00 19 |03E5 movlw Interface1
1C 02 |03E6 subwf WIndex,W
83 16 |03E7 btfss 03h,2
F6 33 |03E8 goto HidGetRequestTaskError
00 19 |03E9 movlw 00h
18 00 |03EA movwr Tx0Fifo0
19 00 |03EB movwr Tx0Fifo1
1A 00 |03EC movwr Tx0Fifo2
1B 00 |03ED movwr Tx0Fifo3
1C 00 |03EE movwr Tx0Fifo4
1D 00 |03EF movwr Tx0Fifo5
1E 00 |03F0 movwr Tx0Fifo6
1F 00 |03F1 movwr Tx0Fifo7
C8 19 |03F2 movlw c8h
95 00 |03F3 movwf Tx0Reg
13 12 |03F4 bsf 13h,0
40 00 |03F5 ret
55 13 |03F6 bsf 15h,5
40 00 |03F7 ret
CF 17 |03F8 btfss 0fh,7
40 00 |03F9 ret
D6 15 |03FA btfsc 16h,7
40 00 |03FB ret
B3 01 |03FC clrf AnyCountTemp
AD 08 |03FD testz UsbCountTemp
10 19 |03FE movlw 10h
83 14 |03FF btfsc 03h,2
AD 00 |0400 movwf UsbCountTemp
B6 08 |0401 testz ReportDataLength
83 16 |0402 btfss 03h,2
06 34 |0403 goto SaveInData
CF 11 |0404 bcf 0fh,7
40 00 |0405 ret
40 19 |0406 movlw DataBuffer
84 00 |0407 movwf Fsr
2D 03 |0408 decf UsbCountTemp,W
AD 00 |0409 movwf UsbCountTemp
84 07 |040A addwf Fsr,F
00 08 |040B movfw Indf
AF 00 |040C movwf UsbDataTemp
38 19 |040D movlw InOutBuffer
84 00 |040E movwf Fsr
33 08 |040F movfw AnyCountTemp
84 07 |0410 addwf Fsr,F
2F 08 |0411 movfw UsbDataTemp
80 00 |0412 movwf Indf
B6 0B |0413 decfsz ReportDataLength,F
83 14 |0414 btfsc 03h,2
1E 34 |0415 goto DataInTaskEnd
B3 0A |0416 incf AnyCountTemp,F
08 19 |0417 movlw 08h
33 02 |0418 subwf AnyCountTemp,W
83 16 |0419 btfss 03h,2
06 34 |041A goto SaveInData
02 19 |041B movlw UsbReport
AE 00 |041C movwf UsbRequireState
40 00 |041D ret
AD 01 |041E clrf UsbCountTemp
CF 11 |041F bcf 0fh,7
02 19 |0420 movlw UsbReport
AE 00 |0421 movwf UsbRequireState
40 00 |0422 ret
02 19 |0423 movlw UsbReport
2E 02 |0424 subwf UsbRequireState,W
83 16 |0425 btfss 03h,2
40 00 |0426 ret
D6 15 |0427 btfsc 16h,7
40 00 |0428 ret
38 08 |0429 movfw InOutBuffer0
20 00 |042A movwr Tx1Fifo0
39 08 |042B movfw InOutBuffer1
21 00 |042C movwr Tx1Fifo1
3A 08 |042D movfw InOutBuffer2
22 00 |042E movwr Tx1Fifo2
3B 08 |042F movfw InOutBuffer3
23 00 |0430 movwr Tx1Fifo3
3C 08 |0431 movfw InOutBuffer4
24 00 |0432 movwr Tx1Fifo4
3D 08 |0433 movfw InOutBuffer5
25 00 |0434 movwr Tx1Fifo5
3E 08 |0435 movfw InOutBuffer6
26 00 |0436 movwr Tx1Fifo6
3F 08 |0437 movfw InOutBuffer7
27 00 |0438 movwr Tx1Fifo7
08 19 |0439 movlw 08h
96 04 |043A iorwf Tx1Reg,F
40 19 |043B movlw 40h
96 06 |043C xorwf Tx1Reg,F
D6 13 |043D bsf 16h,7
00 19 |043E movlw UsbNoReport
AE 00 |043F movwf UsbRequireState
40 00 |0440 ret
adrs 3584
82 07 |0E00 addwf Pc,F
12 18 |0E01 retlw 12h ; Size Of Descriptor (18 Bytes)
01 18 |0E02 retlw 01h ; Descriptor Type (Device Descriptor)
10 18 |0E03 retlw 10h ; Usb Spec Release (Ver 1.1)
01 18 |0E04 retlw 01h
00 18 |0E05 retlw 00h ; Class Code (Each Interface Specifies Class Information)
00 18 |0E06 retlw 00h ; Device Sub-Class (Must Be Set To 0 Because Class code is 0)
00 18 |0E07 retlw 00h ; Device Protocol (No Class Specific Protocol)
08 18 |0E08 retlw 08h ; Maximum Packet Size (8 Bytes)
30 18 |0E09 retlw 30h ; vendor ID (TENX vendor ID)
11 18 |0E0A retlw 11h
02 18 |0E0B retlw 02h ; product ID (TENX for Non-Standard test product ID)
02 18 |0E0C retlw 02h
00 18 |0E0D retlw 00h ; Device Release Number
01 18 |0E0E retlw 01h
00 18 |0E0F retlw 00h ; Index Of Manufacturer String (Used string0)
02 18 |0E10 retlw 02h ; Index Of Product String (Used string2)
00 18 |0E11 retlw 00h ; Index Of Serial Number String (0=None)
01 18 |0E12 retlw 01h ; Number Of Configurations (1)
09 18 |0E13 retlw 09h ; Length Of Descriptor (9 Bytes)
02 18 |0E14 retlw 02h ; Descriptor Type (Configuration)
3B 18 |0E15 retlw (String0Table-ConfigDescTable)
00 18 |0E16 retlw 00h
02 18 |0E17 retlw 02h ; Number Of Interfaces To Configure (2)
01 18 |0E18 retlw 01h ; Configuration Value (1)
00 18 |0E19 retlw 00h ; Configuration String Index
80 18 |0E1A retlw 80h ; Configuration Attributes (Bus Powered, Remote Wakeup)
32 18 |0E1B retlw 32h ; Maximum Power (100Ma)
09 18 |0E1C retlw 09h ; Length Of Descriptor (9 Bytes)
04 18 |0E1D retlw 04h ; Descriptor Type (Interface)
00 18 |0E1E retlw 00h ; Interface Number (1) Zero-Base
00 18 |0E1F retlw 00h ; Alternate Setting (0)
01 18 |0E20 retlw 01h ; Number Of Endpoints (1) In each Interface
03 18 |0E21 retlw 03h ; Interface Class (3..For HID Interface class)
00 18 |0E22 retlw 00h ; Interface Sub-Class
00 18 |0E23 retlw 00h ; Interface Protocol
00 18 |0E24 retlw 00h ; Interface String Index
09 18 |0E25 retlw 09h ; Descriptor Size (9 Bytes)
21 18 |0E26 retlw 21h ; Descriptor Type (Hid)
10 18 |0E27 retlw 10h ; Class Specification (1.10)
01 18 |0E28 retlw 01h
00 18 |0E29 retlw 00h ; Hardware Target Country (Normal is 0)
01 18 |0E2A retlw 01h ; Number Of Hid Class Descriptors To Follow (1)
22 18 |0E2B retlw 22h ; Report Descriptor Type
29 18 |0E2C retlw (Report2DescTable-Report1DescTable)
00 18 |0E2D retlw 00h
07 18 |0E2E retlw 07h ; Descriptor Length (7 Bytes)
05 18 |0E2F retlw 05h ; Descriptor Type (Endpoint)
81 18 |0E30 retlw 81h ; Endpoint Address (In Endpoint, Endpoint 1)
03 18 |0E31 retlw 03h ; Endpoint Attributes (Interrupt Type)
08 18 |0E32 retlw 08h ; Maximum Packet Size (8 Bytes)
00 18 |0E33 retlw 00h
0A 18 |0E34 retlw 0ah ; Polling Interval (10Ms)
09 18 |0E35 retlw 09h ; length of descriptor (9 bytes)
04 18 |0E36 retlw 04h ; descriptor type (INTERFACE)
01 18 |0E37 retlw 01h ; interface number (2)
00 18 |0E38 retlw 00h ; alternate setting (0)
01 18 |0E39 retlw 01h ; number of endpoints (1)
03 18 |0E3A retlw 03h ; interface class (3..defined by USB spec)
00 18 |0E3B retlw 00h ; interface sub-class (1..defined by USB spec)
00 18 |0E3C retlw 00h ; interface protocol (2..defined by USB spec)
00 18 |0E3D retlw 00h ; interface string index
09 18 |0E3E retlw 09h ; descriptor size (9 bytes)
21 18 |0E3F retlw 21h ; descriptor type (HID)
10 18 |0E40 retlw 10h ; class specification (1.10)
01 18 |0E41 retlw 01h
21 18 |0E42 retlw 21h ; hardware target country
01 18 |0E43 retlw 01h ; number of hid class descriptors to follow (1)
22 18 |0E44 retlw 22h ; report descriptor type (2)
17 18 |0E45 retlw (EndDeviceReportTable-Report2DescTable)
00 18 |0E46 retlw 00h
07 18 |0E47 retlw 07h ; descriptor length (7 bytes)
05 18 |0E48 retlw 05h ; descriptor type (ENDPOINT)
82 18 |0E49 retlw 82h ; endpoint address (IN endpoint, endpoint 2)
03 18 |0E4A retlw 03h ; endpoint attributes (interrupt)
08 18 |0E4B retlw 08h ; maximum packet size (8 bytes)
00 18 |0E4C retlw 00h
0A 18 |0E4D retlw 0ah ; polling interval (10ms)
04 18 |0E4E retlw 04h ;4 bytes
03 18 |0E4F retlw 03h
09 18 |0E50 retlw 09h
04 18 |0E51 retlw 04h
2E 18 |0E52 retlw 46d
03 18 |0E53 retlw 03h
54 18 |0E54 retlw 'T'
00 18 |0E55 retlw 00h
65 18 |0E56 retlw 'e'
00 18 |0E57 retlw 00h
6E 18 |0E58 retlw 'n'
00 18 |0E59 retlw 00h
78 18 |0E5A retlw 'x'
00 18 |0E5B retlw 00h
20 18 |0E5C retlw 20h
00 18 |0E5D retlw 00h
4E 18 |0E5E retlw 'N'
00 18 |0E5F retlw 00h
6F 18 |0E60 retlw 'o'
00 18 |0E61 retlw 00h
6E 18 |0E62 retlw 'n'
00 18 |0E63 retlw 00h
73 18 |0E64 retlw 's'
00 18 |0E65 retlw 00h
74 18 |0E66 retlw 't'
00 18 |0E67 retlw 00h
61 18 |0E68 retlw 'a'
00 18 |0E69 retlw 00h
6E 18 |0E6A retlw 'n'
00 18 |0E6B retlw 00h
64 18 |0E6C retlw 'd'
00 18 |0E6D retlw 00h
61 18 |0E6E retlw 'a'
00 18 |0E6F retlw 00h
72 18 |0E70 retlw 'r'
00 18 |0E71 retlw 00h
64 18 |0E72 retlw 'd'
00 18 |0E73 retlw 00h
20 18 |0E74 retlw 20h
00 18 |0E75 retlw 00h
44 18 |0E76 retlw 'D'
00 18 |0E77 retlw 00h
65 18 |0E78 retlw 'e'
00 18 |0E79 retlw 00h
76 18 |0E7A retlw 'v'
00 18 |0E7B retlw 00h
69 18 |0E7C retlw 'i'
00 18 |0E7D retlw 00h
63 18 |0E7E retlw 'c'
00 18 |0E7F retlw 00h
65 18 |0E80 retlw 'e'
00 18 |0E81 retlw 00h
adrs 3840
82 07 |0F00 addwf Pc,F
05 18 |0F01 retlw 05h
01 18 |0F02 retlw 01h
09 18 |0F03 retlw 09h
00 18 |0F04 retlw 00h
A1 18 |0F05 retlw a1h
01 18 |0F06 retlw 01h
95 18 |0F07 retlw 95h
08 18 |0F08 retlw 08h
75 18 |0F09 retlw 75h
08 18 |0F0A retlw 08h
15 18 |0F0B retlw 15h
00 18 |0F0C retlw 00h
26 18 |0F0D retlw 26h
FF 18 |0F0E retlw ffh
00 18 |0F0F retlw 00h
05 18 |0F10 retlw 05h
07 18 |0F11 retlw 07h
19 18 |0F12 retlw 19h
00 18 |0F13 retlw 00h
2A 18 |0F14 retlw 2ah
FF 18 |0F15 retlw ffh
00 18 |0F16 retlw 00h
81 18 |0F17 retlw 81h
00 18 |0F18 retlw 00h
15 18 |0F19 retlw 15h
00 18 |0F1A retlw 00h
25 18 |0F1B retlw 25h
01 18 |0F1C retlw 01h
95 18 |0F1D retlw 95h
80 18 |0F1E retlw 80h
75 18 |0F1F retlw 75h
01 18 |0F20 retlw 01h
05 18 |0F21 retlw 05h
08 18 |0F22 retlw 08h
19 18 |0F23 retlw 19h
01 18 |0F24 retlw 01h
29 18 |0F25 retlw 29h
80 18 |0F26 retlw 80h
91 18 |0F27 retlw 91h
02 18 |0F28 retlw 02h
C0 18 |0F29 retlw C0h
05 18 |0F2A retlw 05h
01 18 |0F2B retlw 01h
09 18 |0F2C retlw 09h
03 18 |0F2D retlw 03h
A1 18 |0F2E retlw a1h
01 18 |0F2F retlw 01h
15 18 |0F30 retlw 15h
00 18 |0F31 retlw 00h
25 18 |0F32 retlw 25h
01 18 |0F33 retlw 01h
95 18 |0F34 retlw 95h
40 18 |0F35 retlw 40h
75 18 |0F36 retlw 75h
01 18 |0F37 retlw 01h
05 18 |0F38 retlw 05h
08 18 |0F39 retlw 08h
19 18 |0F3A retlw 19h
01 18 |0F3B retlw 01h
29 18 |0F3C retlw 29h
40 18 |0F3D retlw 40h
91 18 |0F3E retlw 91h
02 18 |0F3F retlw 02h
C0 18 |0F40 retlw C0h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -