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

📄 3100_2interface.dat

📁 3100 Tenx MCU Firmware
💻 DAT
📖 第 1 页 / 共 3 页
字号:
adrs 0
00 31  |0000 goto	Start
adrs 1
A0 00  |0001 movwf	StateTemp0
03 08  |0002 movfw	Psw
A1 00  |0003 movwf	StateTemp1
D1 14  |0004 btfsc 11h,3 	
24 30  |0005 goto	RstiTask
D1 15  |0006 btfsc 11h,7 	
17 30  |0007 goto	Rc0iTask
91 15  |0008 btfsc 11h,6 	
1C 30  |0009 goto	Tx0iTask
51 15  |000A btfsc 11h,5 	
20 30  |000B goto	Tx1iTask
11 15  |000C btfsc 11h,4 	
22 30  |000D goto	Tx2iTask
92 14  |000E btfsc 12h,2 	
36 30  |000F goto	KbdiTask
52 14  |0010 btfsc 12h,1 	
38 30  |0011 goto	Pb0iTask
D2 14  |0012 btfsc 12h,3 	
2B 30  |0013 goto	RsmiTask
91 14  |0014 btfsc 11h,2 	
28 30  |0015 goto	SuspiTask
39 30  |0016 goto	EndInt
D1 11  |0017 bcf 11h,7 	
55 11  |0018 bcf 15h,5 	
D5 11  |0019 bcf 15h,7 	
CE 12  |001A bsf 0eh,3 	
39 30  |001B goto	EndInt
91 11  |001C bcf 11h,6 	
D5 11  |001D bcf 15h,7 	
8E 12  |001E bsf 0eh,2 	
39 30  |001F goto	EndInt
51 11  |0020 bcf 11h,5 	
39 30  |0021 goto	EndInt
11 11  |0022 bcf 11h,4 	
39 30  |0023 goto	EndInt
D1 10  |0024 bcf 11h,3 	
30 21  |0025 call	UsbReset
13 12  |0026 bsf 13h,0 	
39 30  |0027 goto	EndInt
91 10  |0028 bcf 11h,2 	
0E 13  |0029 bsf 0eh,4 	
39 30  |002A goto	EndInt
D2 10  |002B bcf 12h,3 	
D3 11  |002C bcf 13h,7 	
0E 11  |002D bcf 0eh,4 	
EC 19  |002E movlw	ech
11 00  |002F movwr	IntEn0
00 19  |0030 movlw	00h
12 00  |0031 movwr	IntEn1
0E 12  |0032 bsf 0eh,0 	
81 01  |0033 clrf	Timer0
13 12  |0034 bsf 13h,0 	
39 30  |0035 goto	EndInt
92 10  |0036 bcf 12h,2 	
39 30  |0037 goto	EndInt
52 10  |0038 bcf 12h,1 	
21 08  |0039 movfw	StateTemp1
83 00  |003A movwf	Psw
20 08  |003B movfw	StateTemp0
60 00  |003C reti
adrs 256
09 21  |0100 call	SystemReset
42 21  |0101 call	Ep0IntCheck
0E 15  |0102 btfsc 0eh,4 	
47 21  |0103 call	SuspendTask
0E 16  |0104 btfss 0eh,0 	
01 31  |0105 goto	UsbStart
F8 23  |0106 call	DataInTask
23 24  |0107 call	ReportTask
01 31  |0108 goto	UsbStart
8E 01  |0109 clrf	Gpr0
8F 01  |010A clrf	Gpr1
90 01  |010B clrf	UsbFun
91 01  |010C clrf	Int0
92 01  |010D clrf	Int1
93 01  |010E clrf	Int2
93 01  |010F clrf	UsbCtr
95 01  |0110 clrf	Tx0Reg
96 01  |0111 clrf	Tx1Reg
97 01  |0112 clrf	Tx2Reg
00 19  |0113 movlw	00h
01 00  |0114 movwr	Tm0Reload
02 00  |0115 movwr	Tm0Pscl
11 00  |0116 movwr	IntEn0
12 00  |0117 movwr	IntEn1
03 13  |0118 bsf 03h,4
20 19  |0119 movlw	20h
84 00  |011A movwf	Fsr
00 19  |011B movlw	00h
80 00  |011C movwf	Indf
84 0A  |011D incf	Fsr,F
80 19  |011E movlw	80h
04 02  |011F subwf	Fsr,W
83 16  |0120 btfss 03h,2
1B 31  |0121 goto	ClearLoop0
03 11  |0122 bcf 03h,4
20 19  |0123 movlw	20h
84 00  |0124 movwf	Fsr
00 19  |0125 movlw	00h
80 00  |0126 movwf	Indf
84 0A  |0127 incf	Fsr,F
80 19  |0128 movlw	80h
04 02  |0129 subwf	Fsr,W
83 16  |012A btfss 03h,2
25 31  |012B goto	ClearLoop1
D0 13  |012C bsf 10h,7
CC 19  |012D movlw	cch
11 00  |012E movwr	IntEn0
40 00  |012F ret
8E 01  |0130 clrf	Gpr0
8F 01  |0131 clrf	Gpr1
90 01  |0132 clrf	UsbFun
91 01  |0133 clrf	Int0
92 01  |0134 clrf	Int1
93 01  |0135 clrf	Int2
93 01  |0136 clrf	UsbCtr
95 01  |0137 clrf	Tx0Reg
96 01  |0138 clrf	Tx1Reg
97 01  |0139 clrf	Tx2Reg
D0 13  |013A bsf 10h,7
CC 19  |013B movlw	cch
11 00  |013C movwr	IntEn0
00 19  |013D movlw	00h
12 00  |013E movwr	IntEn1
07 19  |013F movlw	07h
02 00  |0140 movwr	Tm0Pscl
40 00  |0141 ret
CE 14  |0142 btfsc 0eh,3 	
E8 31  |0143 goto	Rc0Task
8E 14  |0144 btfsc 0eh,2 	
D5 31  |0145 goto	Tx0Task
40 00  |0146 ret
00 19  |0147 movlw	00h
11 00  |0148 movwr	IntEn0		;Disable all interrupts
08 19  |0149 movlw	08h
12 00  |014A movwr	IntEn1		;Only Enable Rsmie
D3 13  |014B bsf 13h,7 	
00 00  |014C nop
00 00  |014D nop
00 00  |014E nop
03 00  |014F sleep
00 00  |0150 nop
40 00  |0151 ret
26 08  |0152 movfw	DataLength
A3 00  |0153 movwf	WLengthTemp
9F 08  |0154 testz	WLengthHi
83 16  |0155 btfss 03h,2
40 00  |0156 ret
03 10  |0157 bcf 03h,0
26 08  |0158 movfw	DataLength
1E 02  |0159 subwf	WLength,W
03 14  |015A btfsc 03h,0
40 00  |015B ret
1E 08  |015C movfw	WLength
A3 00  |015D movwf	WLengthTemp
40 00  |015E ret
A4 01  |015F clrf	LengthCnt
A3 08  |0160 testz	WLengthTemp
83 14  |0161 btfsc 03h,2
C8 31  |0162 goto	SetTgl
25 08  |0163 movfw	TableCnt
00 2E  |0164 call	DeviceInfoTable
8E 17  |0165 btfss 0eh,6 	
69 31  |0166 goto	Sendbyte0
25 08  |0167 movfw	TableCnt
00 2F  |0168 call	DeviceReportTable
18 00  |0169 movwr	Tx0Fifo0
A5 0A  |016A incf	TableCnt,F
A4 0A  |016B incf	LengthCnt,F
A3 03  |016C decf	WLengthTemp,F
A3 08  |016D testz	WLengthTemp
83 14  |016E btfsc 03h,2
C8 31  |016F goto	SetTgl
25 08  |0170 movfw	TableCnt
00 2E  |0171 call	DeviceInfoTable
8E 17  |0172 btfss 0eh,6 	
76 31  |0173 goto	Sendbyte1
25 08  |0174 movfw	TableCnt
00 2F  |0175 call	DeviceReportTable
19 00  |0176 movwr	Tx0Fifo1
A5 0A  |0177 incf	TableCnt,F
A4 0A  |0178 incf	LengthCnt,F
A3 03  |0179 decf	WLengthTemp,F
A3 08  |017A testz	WLengthTemp
83 14  |017B btfsc 03h,2
C8 31  |017C goto	SetTgl
25 08  |017D movfw	TableCnt
00 2E  |017E call	DeviceInfoTable
8E 17  |017F btfss 0eh,6 	
83 31  |0180 goto	Sendbyte2
25 08  |0181 movfw	TableCnt
00 2F  |0182 call	DeviceReportTable
1A 00  |0183 movwr	Tx0Fifo2
A5 0A  |0184 incf	TableCnt,F
A4 0A  |0185 incf	LengthCnt,F
A3 03  |0186 decf	WLengthTemp,F
A3 08  |0187 testz	WLengthTemp
83 14  |0188 btfsc 03h,2
C8 31  |0189 goto	SetTgl
25 08  |018A movfw	TableCnt
00 2E  |018B call	DeviceInfoTable
8E 17  |018C btfss 0eh,6 	
90 31  |018D goto	Sendbyte3
25 08  |018E movfw	TableCnt
00 2F  |018F call	DeviceReportTable
1B 00  |0190 movwr	Tx0Fifo3
A5 0A  |0191 incf	TableCnt,F
A4 0A  |0192 incf	LengthCnt,F
A3 03  |0193 decf	WLengthTemp,F
A3 08  |0194 testz	WLengthTemp
83 14  |0195 btfsc 03h,2
C8 31  |0196 goto	SetTgl
25 08  |0197 movfw	TableCnt
00 2E  |0198 call	DeviceInfoTable
8E 17  |0199 btfss 0eh,6 	
9D 31  |019A goto	Sendbyte4
25 08  |019B movfw	TableCnt
00 2F  |019C call	DeviceReportTable
1C 00  |019D movwr	Tx0Fifo4
A5 0A  |019E incf	TableCnt,F
A4 0A  |019F incf	LengthCnt,F
A3 03  |01A0 decf	WLengthTemp,F
A3 08  |01A1 testz	WLengthTemp
83 14  |01A2 btfsc 03h,2
C8 31  |01A3 goto	SetTgl
25 08  |01A4 movfw	TableCnt
00 2E  |01A5 call	DeviceInfoTable
8E 17  |01A6 btfss 0eh,6 	
AA 31  |01A7 goto	Sendbyte5
25 08  |01A8 movfw	TableCnt
00 2F  |01A9 call	DeviceReportTable
1D 00  |01AA movwr	Tx0Fifo5
A5 0A  |01AB incf	TableCnt,F
A4 0A  |01AC incf	LengthCnt,F
A3 03  |01AD decf	WLengthTemp,F
A3 08  |01AE testz	WLengthTemp
83 14  |01AF btfsc 03h,2
C8 31  |01B0 goto	SetTgl
25 08  |01B1 movfw	TableCnt
00 2E  |01B2 call	DeviceInfoTable
8E 17  |01B3 btfss 0eh,6 	
B7 31  |01B4 goto	Sendbyte6
25 08  |01B5 movfw	TableCnt
00 2F  |01B6 call	DeviceReportTable
1E 00  |01B7 movwr	Tx0Fifo6
A5 0A  |01B8 incf	TableCnt,F
A4 0A  |01B9 incf	LengthCnt,F
A3 03  |01BA decf	WLengthTemp,F
A3 08  |01BB testz	WLengthTemp
83 14  |01BC btfsc 03h,2
C8 31  |01BD goto	SetTgl
25 08  |01BE movfw	TableCnt
00 2E  |01BF call	DeviceInfoTable
8E 17  |01C0 btfss 0eh,6 	
C4 31  |01C1 goto	Sendbyte7
25 08  |01C2 movfw	TableCnt
00 2F  |01C3 call	DeviceReportTable
1F 00  |01C4 movwr	Tx0Fifo7
A5 0A  |01C5 incf	TableCnt,F
A4 0A  |01C6 incf	LengthCnt,F
A3 03  |01C7 decf	WLengthTemp,F
40 19  |01C8 movlw	40h
95 06  |01C9 xorwf	Tx0Reg,F
F0 19  |01CA movlw	f0h
95 05  |01CB andwf	Tx0Reg,F
24 08  |01CC movfw	LengthCnt
95 04  |01CD iorwf	Tx0Reg,F
D5 13  |01CE bsf 15h,7 	
13 12  |01CF bsf 13h,0 	
40 00  |01D0 ret
C0 19  |01D1 movlw	c0h
95 00  |01D2 movwf	Tx0Reg
13 12  |01D3 bsf 13h,0 	
40 00  |01D4 ret
8E 10  |01D5 bcf 0eh,2 	
CE 17  |01D6 btfss 0eh,7 	
DB 31  |01D7 goto	Tx0TransCheck
1A 08  |01D8 movfw	WValue
90 04  |01D9 iorwf	UsbFun,F
CE 11  |01DA bcf 0eh,7 	
A3 08  |01DB testz	WLengthTemp
83 16  |01DC btfss 03h,2
E6 31  |01DD goto	NormalTrans
8E 11  |01DE bcf 0eh,6 	
40 19  |01DF movlw	40h
95 06  |01E0 xorwf	Tx0Reg,F
F0 19  |01E1 movlw	f0h
95 05  |01E2 andwf	Tx0Reg,F
D5 13  |01E3 bsf 15h,7 	
13 12  |01E4 bsf 13h,0 	
40 00  |01E5 ret
5F 21  |01E6 call	Tx0Transfer
40 00  |01E7 ret
CE 10  |01E8 bcf 0eh,3 	
94 15  |01E9 btfsc 14h,6 	
43 32  |01EA goto	Rc0TaskError
54 15  |01EB btfsc 14h,5 	
43 32  |01EC goto	Rc0TaskError
14 17  |01ED btfss 14h,4 	
26 32  |01EE goto	Ep0Out
D4 15  |01EF btfsc 14h,7 	
43 32  |01F0 goto	Rc0TaskError
0F 19  |01F1 movlw	0fh
14 05  |01F2 andwf	Rc0Cnt,W
B3 00  |01F3 movwf	AnyCountTemp
08 19  |01F4 movlw	08h
B3 02  |01F5 subwf	AnyCountTemp,F
83 16  |01F6 btfss 03h,2
43 32  |01F7 goto	Rc0TaskError
95 11  |01F8 bcf 15h,6 	
21 19  |01F9 movlw	HidSetRequest		;(21h)
18 02  |01FA subwf	BmRequestType,W
83 14  |01FB btfsc 03h,2
82 32  |01FC goto	HidSetRequestTask
A1 19  |01FD movlw	HidGetRequest		;(a1h)
18 02  |01FE subwf	BmRequestType,W
83 14  |01FF btfsc 03h,2
C5 33  |0200 goto	HidGetRequestTask
05 19  |0201 movlw	SetAddress		;(05h)
19 02  |0202 subwf	BRequest,W
83 14  |0203 btfsc 03h,2
A7 32  |0204 goto	SetAddressTask
08 19  |0205 movlw	GetConfiguration	;(08h)
19 02  |0206 subwf	BRequest,W
83 14  |0207 btfsc 03h,2
20 33  |0208 goto	GetConfigurationTask
09 19  |0209 movlw	SetConfiguration	;(09h)
19 02  |020A subwf	BRequest,W
83 14  |020B btfsc 03h,2
AA 32  |020C goto	SetConfigurationTask
00 19  |020D movlw	GetStatus		;(00h)
19 02  |020E subwf	BRequest,W
83 14  |020F btfsc 03h,2
74 33  |0210 goto	GetStatusTask
0A 19  |0211 movlw	GetInterface		;(0ah)
19 02  |0212 subwf	BRequest,W
83 14  |0213 btfsc 03h,2
AB 33  |0214 goto	GetInterfaceTask
0B 19  |0215 movlw	SetInterface		;(0bh)
19 02  |0216 subwf	BRequest,W
83 14  |0217 btfsc 03h,2
B7 33  |0218 goto	SetInterfaceTask
01 19  |0219 movlw	ClearFeature		;(01h)
19 02  |021A subwf	BRequest,W
83 14  |021B btfsc 03h,2
2C 33  |021C goto	ClearFeatureTask
03 19  |021D movlw	SetFeature		;(03h)
19 02  |021E subwf	BRequest,W
83 14  |021F btfsc 03h,2
4F 33  |0220 goto	SetFeatureTask
06 19  |0221 movlw	GetDescriptor		;(06h)
19 02  |0222 subwf	BRequest,W
83 14  |0223 btfsc 03h,2
C6 32  |0224 goto	GetDescriptorTask
43 32  |0225 goto	Rc0TaskError
14 08  |0226 movfw	Rc0Cnt
B3 00  |0227 movwf	AnyCountTemp
0F 19  |0228 movlw	0fh
B3 05  |0229 andwf	AnyCountTemp,F
B3 08  |022A testz	AnyCountTemp
83 14  |022B btfsc 03h,2
41 32  |022C goto	NoDataControlWrite

⌨️ 快捷键说明

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