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

📄 cls1.lst

📁 合泰USB键盘程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
"File: CLS1.ASM      Holtek Cross-Assembler  Version 2.86      Page 1


   1  0000              include			HT82K96e.inc


   2  0000              include			usbrf.inc	


   3  0000              
   4  0000              
   5  0000              EXTERN			bCMD_INDEX:BIT
   6  0000              extern			bAltkbProtocol	:bit
   7  0000              extern			baltmouseprotocol	:bit
   8  0000              
   9  0000              
  10  0000              extern			TempKBTime		:byte
  11  0000              extern			TempmouseTime	:byte	
  12  0000              extern			TempKBTime_L	:byte	
  13  0000              extern			TempmouseTime_L	:byte
  14  0000              
  15  0000              extern			fifo_type		:byte	
  16  0000              extern			FIFO_Request	:byte
  17  0000              extern			fifo_wIndexl	:byte
  18  0000              extern			FIFO_wIndexH 	:byte
  19  0000              extern			FIFO_wValueL 	:byte
  20  0000              extern			FIFO_wValueH	:byte
  21  0000              extern			FIFO_wLengthH	:byte
  22  0000              extern			FIFO_wLengthL	:byte
  23  0000              
  24  0000              extern			INT_temp2		:byte
  25  0000              extern			FIFO_OUT1		:byte
  26  0000              extern			FIFO_SendLen	:byte
  27  0000              extern			ReportkbTime	:byte
  28  0000              extern			ReportMouseTime	:byte
  29  0000              extern			
  30  0000              
  31  0000              
  32  0000              extern			movekeyboarddata	:near
  33  0000              Extern			ExitExt				:near
  34  0000              EXTERN			ToStallPipe0		:NEAR
  35  0000              EXTERN			SendFIFOOut			:NEAR
  36  0000              EXTERN			SendHandshake		:NEAR
  37  0000              ;extern			moveacpidata		:near
  38  0000              ;extern			moveMultidata		:near
  39  0000              
  40  0000              TEMP			EQU			INT_TEMP2
  41  0000              
  42  0000              CLS1			.SECTION  AT 		1d0h	'code'		;1cbH  'code'
  43  0000              
  44  0000              ;----- Class-Specific request -----------------------------------------------
  45  0000              
  46  0000              
  47  0000              SetProtocol:	;
  48  0000                              ;Not Check bmRequestType direction because wLength = 0
  49  0000                              ;SZ      FIFO_Type.@Setup_D    	;Host to device ?
  50  0000                              ;JMP		ToStallPipe0           ;No: to stall
  51  0000                              
  52  0000  0700     E                  MOV     A,FIFO_wLengthL       	;Length = 0
  53  0001  0300     E  				ADD		A,FIFO_wLengthH
  54  0002  390A        				SNZ		Z	
  55  0003  2800     E                  JMP		ToStallPipe0            ;No: to stall
"File: CLS1.ASM      Holtek Cross-Assembler  Version 2.86      Page 2

  56  0004                           
  57  0004  1080     E                  SZ      FIFO_wValueH          	;wValueH = 0 ?
  58  0005  2800     E                  JMP		ToStallPipe0            ;No: to stall
  59  0006              
  60  0006  1080     E  				sz		FIFO_wIndexL
  61  0007  2800     E  				jmp		ToStallPipe0
  62  0008  3400     E  				clr		bAltkbProtocol
  63  0009  1080     E  				sz		FIFO_wValueL
  64  000A  3000     E  				set		bAltkbProtocol
  65  000B  2800     E                  JMP     SendHandshake           ;send handshake flag
  66  000C              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  67  000C              GetProtocol:
  68  000C                              ;Check bmRequestType direction
  69  000C  3800     E                  SNZ     FIFO_Type.@Setup_D    	;Device to host ?
  70  000D  2800     E                  JMP		ToStallPipe0            ;No: to stall
  71  000E              
  72  000E  1080     E                  SZ		FIFO_wValueL         	;default = 0 ?
  73  000F  2800     E  				JMP		ToStallPipe0
  74  0010  1080     E  				SZ		FIFO_wValueH
  75  0011  2800     E                  JMP		ToStallPipe0            ;No: to stall
  76  0012                              
  77  0012  1080     E  				SZ      FIFO_wLengthH         	;Length = 0
  78  0013  2800     E                  JMP		ToStallPipe0            ;No: to stall
  79  0014  0700     E                  MOV     A,FIFO_wLengthL       	;Length = 1 ?
  80  0015  0C01                        XOR     A,01H                   ;
  81  0016  390A                        SNZ     Z                       ;
  82  0017  2800     E                  JMP		ToStallPipe0            ;No: to stall
  83  0018              
  84  0018  1F05        				clr		acc
  85  0019  1080     E  				sz		FIFO_wIndexL
  86  001A  2800     E                  JMP		ToStallPipe0
  87  001B  3C00     E  				sz		bAltkbProtocol
  88  001C  3005        				set		acc.0
  89  001D  2A36        				jmp		ReportVL
  90  001E              
  91  001E              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  92  001E              SetIdle:
  93  001E              ;maybe need support
  94  001E  1080     E                 	sz		FIFO_wLengthL         ;Length = 0
  95  001F  2800     E  				jmp		Tostallpipe0
  96  0020  1080     E  				sz		FIFO_wLengthH
  97  0021  2800     E                  JMP		ToStallPipe0            ;No: to stall
  98  0022                              							
  99  0022  1F00     E  				clr		TempKBTime
 100  0023  1F00     E  				clr		TempmouseTime
 101  0024  1F00     E  				clr		TempKBTime_L
 102  0025  1F00     E  				clr		TempmouseTime_L
 103  0026              	
 104  0026  0F00     E  				MOV		A,offset ReportkbTime
 105  0027  1080     E  				SZ		FIFO_wIndexL			;0-KB,	1-Mouse
 106  0028  2800     E                  JMP		ToStallPipe0 
 107  0029              write_idle_rate:
 108  0029  0081        				MOV		MP0,A			
 109  002A  0700     E                	MOV     A,FIFO_wValueH          ;Get particular report time
 110  002B  0080                      	MOV     R0,A              		;
 111  002C              
 112  002C                 ;Set particular report flag
 113  002C  2800     E                 	JMP     SendHandshake          	;send handshake flag
 114  002D              
 115  002D              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"File: CLS1.ASM      Holtek Cross-Assembler  Version 2.86      Page 3

 116  002D              GetIdle:		;Report_ID=0, 
 117  002D                              ;Check bmRequestType direction
 118  002D  3800     E                  SNZ     FIFO_Type.@Setup_D    	;Device to host ?
 119  002E  2800     E                  JMP		ToStallPipe0            ;No: to stall
 120  002F              
 121  002F  1080     E  				SZ		FIFO_wValueH
 122  0030  2800     E                  JMP		ToStallPipe0            ;No: to stall
 123  0031                            
 124  0031  1080     E  				SZ      FIFO_wLengthH         	;Length = 0
 125  0032  2800     E                  JMP		ToStallPipe0            ;No: to stall
 126  0033  0700     E                  MOV     A,FIFO_wLengthL       	;Length = 1 ?
 127  0034  0C01                        XOR     A,01H                   ;
 128  0035  390A                        SNZ     Z                       ;
 129  0036  2800     E                  JMP		ToStallPipe0            ;No: to stall
 130  0037              
 131  0037  0700     E  				MOV		A,ReportkbTime			;KB
 132  0038  1080     E                  SZ		FIFO_wIndexL			;0-KB, 1-Mouse
 133  0039  2800     E  				jmp		ToStallPipe0
 134  003A  2A36                        JMP     ReportVL                ;Responde
 135  003B              
 136  003B              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 137  003B              
 138  003B              
 139  003B              

⌨️ 快捷键说明

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