📄 cls.lst
字号:
"File: CLS.ASM Holtek Cross-Assembler Version 2.86 Page 1
1 0000 include body.inc
2 0000 include usbfifo.inc
3 0000 include usbrf1.inc
4 0000
5 0000 ;extern AddBufAddr :near
6 0000 ;extern pCurRecv :byte ;serial.asm
7 0000 ;extern pStartRecv :byte
8 0000 ;extern br_index :byte
9 0000
10 0000 ;extern bDataUpdate :bit
11 0000 extern nCmdIndex :byte ;variable.asm
12 0000 extern fifo_type :byte
13 0000 extern FIFO_Request :byte
14 0000 extern fifo_wIndexl :byte
15 0000 extern FIFO_wIndexH :byte
16 0000 extern FIFO_wValueL :byte
17 0000 extern FIFO_wValueH :byte
18 0000 extern FIFO_wLengthH :byte
19 0000 extern FIFO_wLengthL :byte
20 0000
21 0000 extern fifo_out1 :byte
22 0000 extern fifo_out2 :byte
23 0000 extern fifo_out3 :byte
24 0000 extern fifo_out4 :byte
25 0000 extern fifo_out5 :byte
26 0000 extern fifo_out6 :byte
27 0000 extern fifo_out7 :byte
28 0000 extern fifo_out8 :byte
29 0000
30 0000 Extern ExitExt :NEAR
31 0000 EXTERN ToStallPipe0 :NEAR
32 0000 EXTERN SendFIFOOut :NEAR
33 0000 EXTERN SendHandshake :NEAR
34 0000
35 0000 ;**********************************************
36 0000 ; extern function from serial.asm
37 0000 ;**********************************************
38 0000 EXTERN ToUSB :NEAR ;serial.asm
39 0000
40 0000 extern INT_temp2 :byte
41 0000 TEMP EQU INT_TEMP2
42 0000
43 0000
44 0000 CLS1 .SECTION at 1d0h 'code'
45 0000 ;-------------- Class-Specific request -----------------------------------------------
46 0000 SetProtocol:
47 0000 GetProtocol:
48 0000 SetIdle:
49 0000 GetIdle:
50 0000 2800 E JMP ToStallPipe0 ;Not support: to stall
51 0001
"File: CLS.ASM Holtek Cross-Assembler Version 2.86 Page 2
52 0001 ;----------------------------------------------------------------------------
53 0001 ClassRequest:
54 0001 0700 E MOV A,FIFO_Type
55 0002 0E1F AND A,Setup_Rev
56 0003 0080 E MOV TEMP,A
57 0004 0A04 SUB A,04H ;Over 4 item ?
58 0005 3C0A SZ C ;
59 0006 2800 E JMP ToStallPipe0 ;Yes
60 0007 0700 E MOV A,TEMP
61 0008 class_request_pcl_5:
62 0008 0386 ADDM A,PCL
63 0009 2800 E JMP ToStallPipe0 ;Invalid Device
64 000A 29DD JMP InterfaceRev ;Invalid Interface
65 000B 2800 E JMP ToStallPipe0 ;Endpoint
66 000C 2800 E JMP ToStallPipe0 ;Invalid Other
67 000D
68 000D InterfaceRev:
69 000D 1080 E SZ FIFO_wIndexH ;High byte for endpoint == 0 ?
70 000E 2800 E JMP ToStallPipe0 ;No
71 000F 0700 E MOV A,FIFO_wIndexL
72 0010 0A01 SUB A,INTERFACE_NO ;2
73 0011 3C0A SZ C
74 0012 2800 E JMP ToStallPipe0
75 0013
76 0013 ;Check bRequest
77 0013 0700 E MOV A,FIFO_Request ;bRequest
78 0014 0A0C SUB A,CLASS_REQUEST_NO ;Over 12 item ?
79 0015 3C0A SZ C ;
80 0016 2800 E JMP ToStallPipe0 ;Yes
81 0017 0700 E MOV A,FIFO_Request
82 0018 ;!!!!! Need in same page
83 0018 class_cmd_pcl_13:
84 0018 0386 ADDM A,PCL
85 0019 2800 E JMP ToStallPipe0 ;0
86 001A 29F8 JMP GetReport ;1
87 001B 29D0 JMP GetIdle ;2
88 001C 29D0 JMP GetProtocol ;3
89 001D 2800 E JMP ToStallPipe0 ;4
90 001E 2800 E JMP ToStallPipe0 ;5
91 001F 2800 E JMP ToStallPipe0 ;6
92 0020 2800 E JMP ToStallPipe0 ;7
93 0021 2800 E JMP ToStallPipe0 ;8
94 0022 2A11 JMP SetReport ;9
95 0023 29D0 JMP SetIdle ;A
96 0024 29D0 JMP SetProtocol ;B
97 0025
98 0025 ;////////////////////////////////////////////////////////////////////////////
99 0025 ;Class Specific Request
100 0025 ReportVL:
101 0025 0080 E MOV FIFO_OUT1,A ;
102 0026 0F08 MOV A,OUTPUT_SIZE ;FIFO data length = 1
103 0027 2800 E jmp SendFIFOOut
104 0028
105 0028 ;----------------------------------------------------------------------------
106 0028 GetReport: ;Report_type, Report_ID=0, Report_Length
107 0028 ;no Feature Report
108 0028 ;Check bmRequestType direction
109 0028 3800 E SNZ FIFO_Type.@Setup_D ;device to host ?
110 0029 2800 E JMP ToStallPipe0 ;No:Error
111 002A 0700 E MOV A,FIFO_wValueH ;Get report type (Only 3 kind)
"File: CLS.ASM Holtek Cross-Assembler Version 2.86 Page 3
112 002B 0A04 SUB A,REPORT_TYPE_NO ;Over 4 item ?
113 002C 3C0A SZ C ;
114 002D 2800 E JMP ToStallPipe0 ;Yes
115 002E 0700 E MOV A,FIFO_wValueH
116 002F get_report_pcl_5:
117 002F 0386 ADDM A,PCL
118 0030 2800 E JMP ToStallPipe0 ;No this report type
119 0031 2A04 JMP GetInputReport ;intput
120 0032 2800 E JMP Tostallpipe0 ;output
121 0033 GetFeatureReport: ;No support GetFeatureReport
122 0033 2800 E jmp ToStallPipe0
123 0034
124 0034 ;----------------------------------------------------------------------------
125 0034 GetInputReport:
126 0034 1080 E SZ FIFO_wLengthH ;wLength = 8 ?
127 0035 2800 E JMP ToStallPipe0 ;No
128 0036
129 0036 0700 E mov a,FIFO_wIndexL
130 0037 get_input_pcl_4:
131 0037 0386 addm a,pcl
132 0038 2A0A jmp Get_Input_Data ;report id:0
133 0039 2800 E jmp Tostallpipe0 ;report id:1
134 003A
135 003A Get_Input_Data:
136 003A 0700 E MOV A,FIFO_wLengthL ;check format no.
137 003B 0C08 XOR A,INPUT_SIZE ;
138 003C 390A SNZ Z ;
139 003D 2800 E JMP ToStallPipe0 ;
140 003E
141 003E ;****************************************
142 003E ; Move SF880 Data to FIFO_OUT
143 003E ;****************************************
144 003E 2000 E call ToUSB
145 003F
146 003F 0F08 mov a, INPUT_SIZE
147 0040 2800 E jmp SendFIFOOut
148 0041
149 0041 ;----------------------------------------------------------------------------
150 0041 SetReport:
151 0041 ;Report_Type, Report_ID=0,
152 0041 ;Check bmRequestType direction
153 0041 ;No Feature Report, Input Report
154 0041 3C00 E SZ FIFO_Type.@Setup_D ;Host to device ?
155 0042 2800 E JMP ToStallPipe0 ;No:Error
156 0043 0700 E MOV A,FIFO_wValueH ;Get report type (Only 3 kind)
157 0044 0A04 SUB A,04H ;Over 4 item ?
158 0045 3C0A SZ C ;
159 0046 2800 E JMP ToStallPipe0 ;Yes
160 0047 0700 E MOV A,FIFO_wValueH
161 0048 setreport_pcl_5:
162 0048 0386 ADDM A,PCL
163 0049 2800 E JMP ToStallPipe0 ;No this report type
164 004A 2800 E JMP ToStallPipe0 ;No support SetInputReport
165 004B 2A1D JMP SetOutputReport
166 004C SetFeatureReport: ;No support SetFeatureReport
167 004C 2800 E JMP ToStallPipe0 ;No
168 004D
169 004D SetOutputReport:
170 004D 1080 E SZ FIFO_wIndexL ;interface 0
171 004E 2800 E JMP ToStallPipe0
"File: CLS.ASM Holtek Cross-Assembler Version 2.86 Page 4
172 004F 1080 E SZ FIFO_wLengthH ;wLength = 0 ?
173 0050 2800 E JMP ToStallPipe0 ;No
174 0051 0700 E MOV A,FIFO_wLengthL ;8 byte report
175 0052 0C08 XOR A,OUTPUT_SIZE ;KB_Output_SIZE ;
176 0053 390A SNZ Z ;
177 0054 2800 E JMP ToStallPipe0 ;No
178 0055 0F02 MOV A,SET_REPORT
179 0056 0080 E MOV nCmdIndex,a
180 0057 2800 E JMP ExitExt
181 0058
182 0058 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
183 0058 PUBLIC ClassRequest
184 0058 public class_request_pcl_5
185 0058 public class_cmd_pcl_13
186 0058 public setreport_pcl_5
187 0058 END
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -