📄 cls1.lst
字号:
163 0041 3800 E SNZ FIFO_Type.@Setup_D ;Device to host ?
164 0042 2800 E JMP ToStallPipe0 ;No: to stall
165 0043
166 0043 1080 E SZ FIFO_wValueH
167 0044 2800 E JMP ToStallPipe0 ;No: to stall
168 0045
169 0045 1080 E SZ FIFO_wLengthH ;Length = 0
170 0046 2800 E JMP ToStallPipe0 ;No: to stall
171 0047 0700 E MOV A,FIFO_wLengthL ;Length = 1 ?
172 0048 0C01 XOR A,01H ;
173 0049 390A SNZ Z ;
174 004A 2800 E JMP ToStallPipe0 ;No: to stall
175 004B
"File: CLS1.ASM Holtek Cross-Assembler Version 2.86 Page 4
176 004B 0700 E MOV A,ReportkbTime ;KB
177 004C 1080 E SZ FIFO_wIndexL ;0-KB, 1-Mouse
178 004D 2800 E jmp ToStallPipe0
179 004E 2A4A JMP ReportVL ;Responde
180 004F
181 004F ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
182 004F
183 004F
184 004F
185 004F get_kb_input:
186 004F ;KB
187 004F 0700 E MOV A,FIFO_wLengthL ;check format no.
188 0050 0C08 XOR A,REPORT_KB_SIZE ;
189 0051 390A SNZ Z ;
190 0052 2800 E JMP ToStallPipe0 ;
191 0053 2000 E call movekeyboarddata
192 0054 0F08 mov a,8
193 0055 2A4C JMP Reportl
194 0056 ;----------------------------------------------------------------------------
195 0056
196 0056 ClassRequest:
197 0056 0700 E MOV A,FIFO_Type
198 0057 0E1F AND A,Setup_Rev
199 0058 0080 E MOV TEMP,A
200 0059 0A04 SUB A,04H ;Over 4 item ?
201 005A 3C0A SZ C ;
202 005B 2800 E JMP ToStallPipe0 ;Yes
203 005C 0700 E MOV A,TEMP
204 005D class_request_pcl_5:
205 005D 0386 ADDM A,PCL
206 005E 2800 E JMP ToStallPipe0 ;Invalid Device
207 005F 2A32 JMP InterfaceRev ;Invalid Interface
208 0060 2800 E JMP ToStallPipe0 ;Endpoint
209 0061 2800 E JMP ToStallPipe0 ;Invalid Other
210 0062
211 0062 InterfaceRev:
212 0062 1080 E SZ FIFO_wIndexH ;High byte for endpoint == 0 ?
213 0063 2800 E JMP ToStallPipe0 ;No
214 0064 0700 E MOV A,FIFO_wIndexL
215 0065 0A02 SUB A,INTERFACE_NO ;2
216 0066 3C0A SZ C
217 0067 2800 E JMP ToStallPipe0
218 0068
219 0068 ;Check bRequest
220 0068 0700 E MOV A,FIFO_Request ;bRequest
221 0069 0A0C SUB A,CLASS_REQUEST_NO ;Over 12 item ?
222 006A 3C0A SZ C ;
223 006B 2800 E JMP ToStallPipe0 ;Yes
224 006C 0700 E MOV A,FIFO_Request
225 006D ;!!!!! Need in same page
226 006D class_cmd_pcl_13:
227 006D 0386 ADDM A,PCL
228 006E 2800 E JMP ToStallPipe0 ;0
229 006F 2A4D JMP GetReport ;1
230 0070 2A11 JMP GetIdle ;2
231 0071 29E6 JMP GetProtocol ;3
232 0072 2800 E JMP ToStallPipe0 ;4
233 0073 2800 E JMP ToStallPipe0 ;5
234 0074 2800 E JMP ToStallPipe0 ;6
235 0075 2800 E JMP ToStallPipe0 ;7
"File: CLS1.ASM Holtek Cross-Assembler Version 2.86 Page 5
236 0076 2800 E JMP ToStallPipe0 ;8
237 0077 2A5F JMP SetReport ;9
238 0078 2A02 JMP SetIdle ;A
239 0079 29D0 JMP SetProtocol ;B
240 007A
241 007A ;////////////////////////////////////////////////////////////////////////////
242 007A ;Class Specific Request
243 007A
244 007A ReportVL:
245 007A 0080 E MOV FIFO_OUT1,A ;
246 007B 0F01 MOV A,KB_OUTPUT_SIZE ;FIFO data length = 1
247 007C
248 007C ReportL:
249 007C 2800 E jmp SendFIFOOut
250 007D ; MOV FIFO_SendLen,A ;
251 007D ; jmp RequestResponse ;Responde
252 007D
253 007D
254 007D ;----------------------------------------------------------------------------
255 007D
256 007D GetReport: ;Report_type, Report_ID=0, Report_Length
257 007D ;no Feature Report
258 007D ;Check bmRequestType direction
259 007D 3800 E SNZ FIFO_Type.@Setup_D ;device to host ?
260 007E 2800 E JMP ToStallPipe0 ;No:Error
261 007F 0700 E MOV A,FIFO_wValueH ;Get report type (Only 3 kind)
262 0080 0A04 SUB A,REPORT_TYPE_NO ;Over 4 item ?
263 0081 3C0A SZ C ;
264 0082 2800 E JMP ToStallPipe0 ;Yes
265 0083 0700 E MOV A,FIFO_wValueH
266 0084 get_report_pcl_5:
267 0084 0386 ADDM A,PCL
268 0085 2800 E JMP ToStallPipe0 ;No this report type
269 0086 2A59 JMP GetInputReport
270 0087 2800 E JMP Tostallpipe0
271 0088 GetFeatureReport: ;No support GetFeatureReport
272 0088 2800 E JMP ToStallPipe0
273 0089 ;----------------------------------------------------------------------------
274 0089 GetInputReport:
275 0089 1080 E SZ FIFO_wLengthH ;wLength = 8 ?
276 008A 2800 E JMP ToStallPipe0 ;No
277 008B
278 008B 0700 E mov a,FIFO_wIndexL
279 008C get_input_pcl_4:
280 008C 0386 addm a,pcl
281 008D 2A1F jmp get_KB_input ;0
282 008E 2800 E jmp Tostallpipe0 ;1
283 008F ;----------------------------------------------------------------------------
284 008F
285 008F
286 008F SetReport: ;Report_Type, Report_ID=0,
287 008F ;Check bmRequestType direction
288 008F ;No Feature Report, Input Report
289 008F 3C00 E SZ FIFO_Type.@Setup_D ;Host to device ?
290 0090 2800 E JMP ToStallPipe0 ;No:Error
291 0091 0700 E MOV A,FIFO_wValueH ;Get report type (Only 3 kind)
292 0092 0A04 SUB A,04H ;Over 4 item ?
293 0093 3C0A SZ C ;
294 0094 2800 E JMP ToStallPipe0 ;Yes
295 0095 0700 E MOV A,FIFO_wValueH
"File: CLS1.ASM Holtek Cross-Assembler Version 2.86 Page 6
296 0096 setreport_pcl_5:
297 0096 0386 ADDM A,PCL
298 0097 2800 E JMP ToStallPipe0 ;No this report type
299 0098 2800 E JMP ToStallPipe0 ;No support SetInputReport
300 0099 2A6B JMP SetOutputReport
301 009A SetFeatureReport: ;No support SetFeatureReport
302 009A 2800 E JMP ToStallPipe0
303 009B SetOutputReport:
304 009B 1080 E SZ FIFO_wIndexL ;0-KB, 1-Mouse
305 009C 2800 E JMP ToStallPipe0
306 009D ;KB
307 009D 1080 E SZ FIFO_wLengthH ;wLength = 1 ?
308 009E 2800 E JMP ToStallPipe0 ;No
309 009F 0700 E MOV A,FIFO_wLengthL ;1 byte report
310 00A0 0C01 XOR A,KB_Output_SIZE ;
311 00A1 390A SNZ Z ;
312 00A2 2800 E JMP ToStallPipe0 ;No
313 00A3 3000 E set bCMD_INDEX
314 00A4 2800 E JMP ExitExt
315 00A5
316 00A5 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
317 00A5
318 00A5
319 00A5
320 00A5 PUBLIC ClassRequest
321 00A5 public class_request_pcl_5
322 00A5 public class_cmd_pcl_13
323 00A5 public get_report_pcl_5
324 00A5 public get_input_pcl_4
325 00A5 public setreport_pcl_5
326 00A5 END
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -