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

📄 cls.lst

📁 HT82J97滑鼠DEMO程序
💻 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 + -