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

📄 std1.lst

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


   1  0000              include			ht82k96e.inc


   2  0000              include			usbrf.inc


   3  0000              include			usbfifo.inc


   4  0000              
   5  0000              extern			baddr_state		:bit
   6  0000              ;extern			bFLAG_FIFO_REDY	:bit
   7  0000              extern			bRmtWakeup		:bit
   8  0000              extern			bFLAG_RsqF		:bit
   9  0000              extern			bFLAG_SndFC		:bit
  10  0000              extern			bFLAG_HvRpt		:bit
  11  0000              extern			brd_h_table		:bit
  12  0000              extern			bCfgValue 		:bit
  13  0000              extern			bwait_setup		:bit
  14  0000              
  15  0000              
  16  0000              extern			int_temp1		:byte
  17  0000              extern			int_temp2		:byte
  18  0000              fifo_temp		EQU		int_temp1
  19  0000              FIFO_ADDR		equ		int_temp1
  20  0000              ADDR_Wake		equ		fifo_addr.0
  21  0000              temp			equ		int_temp2
  22  0000              extern			STALL			:byte
  23  0000              ;extern			Wtotallength		:near
  24  0000              ;extern			bNumberInterface	:near
  25  0000              extern			des_count		:byte
  26  0000              extern			FIFO_Request	:byte
  27  0000              extern			FIFO_wValueH 	:byte
  28  0000              extern			FIFO_wValueL	:byte
  29  0000              extern			CMD_ADDR		:byte
  30  0000              extern			FIFO_wIndexH	:byte
  31  0000              extern			FIFO_Type		:byte
  32  0000              ;extern			TEMP			:byte
  33  0000              extern			FIFO_wIndexL	:byte
  34  0000              extern			FIFO_OUT1		:byte
  35  0000              extern			fifo_out2		:byte
  36  0000              extern			ReturnAddr		:byte
  37  0000              extern			FIFO_SendLen	:byte
  38  0000              extern			TableLength		:byte
  39  0000              extern			FIFO_wLengthH	:byte
  40  0000              extern			FIFO_wLengthL	:byte
  41  0000              
  42  0000              ;extern			AltkbSetting	:byte
  43  0000              ;extern			altmousesetting	:byte
  44  0000              extern			lengthh			:byte
  45  0000              extern			lengthl			:byte
  46  0000              extern			FIFO_TBLP		:byte
  47  0000              
  48  0000              
  49  0000              Extern			ExitExt:near
  50  0000              EXTERN			ToStallPipe0:NEAR
  51  0000              EXTERN			RequestResponse:NEAR
  52  0000              EXTERN			SendHandshake:NEAR
  53  0000              EXTERN			GetPipeBit:NEAR
"File: STD1.ASM      Holtek Cross-Assembler  Version 2.86      Page 2

  54  0000              EXTERN			SendFIFOOut:NEAR
  55  0000              EXTERN			ClearStall:NEAR
  56  0000              EXTERN			SetStall:NEAR
  57  0000              
  58  0000              EXTERN			DeviceD:NEAR
  59  0000              EXTERN			ConfigurationD:NEAR
  60  0000              EXTERN			InterfaceD_0:NEAR
  61  0000              EXTERN			EndpointD_0:NEAR
  62  0000              EXTERN			HID_0:NEAR
  63  0000              EXTERN			Entity_0:NEAR
  64  0000              EXTERN			InterfaceD_1:NEAR
  65  0000              EXTERN			EndpointD_1:NEAR
  66  0000              EXTERN			HID_1:NEAR
  67  0000              EXTERN			Entity_1:NEAR
  68  0000              ;EXTERN			InterfaceD_2:NEAR
  69  0000              ;EXTERN			EndpointD_2:NEAR
  70  0000              ;EXTERN			HID_2:NEAR
  71  0000              ;EXTERN			Entity_2:NEAR
  72  0000              
  73  0000              extern			LangID:near
  74  0000              extern			ManufactureS:near
  75  0000              extern			ProductS:near
  76  0000              
  77  0000              
  78  0000              
  79  0000              STD1			.SECTION			AT 00DH		'code'  
  80  0000              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  81  0000              get_Interface_des_adr:
  82  0000  0700     E  				mov		a,des_count
  83  0001              get_interface_pcl_3:
  84  0001  0386        				addm	a,pcl
  85  0002  0900     E  				ret		a,LOW InterfaceD_0
  86  0003  0900     E  				ret		a,LOW InterfaceD_1
  87  0004              ;-----------------------------------------------------------------------------------
  88  0004              get_HID_des_adr:
  89  0004  0700     E  				mov		a,des_count
  90  0005              get_HID_pcl_3:
  91  0005  0386        				addm	a,pcl
  92  0006  0900     E  				ret		a,LOW HID_0
  93  0007  0900     E  				ret		a,LOW HID_1
  94  0008              ;-----------------------------------------------------------------------------------
  95  0008              get_endpt_des_adr:
  96  0008  0700     E  				mov		a,des_count
  97  0009              get_endpt_pcl_3:
  98  0009  0386        				addm	a,pcl
  99  000A  0900     E  				ret		a,LOW EndpointD_0
 100  000B  0900     E  				ret		a,LOW EndpointD_1
 101  000C              ;-----------------------------------------------------------------------------------
 102  000C              
 103  000C              get_entity_des_adr:
 104  000C  0700     E  				mov		a,des_count
 105  000D              get_entity_pcl_3:
 106  000D  0386        				addm	a,pcl
 107  000E  0900     E  				ret		a,LOW Entity_0
 108  000F  0900     E  				ret		a,LOW Entity_1
 109  0010              ;-----------------------------------------------------------------------------------
 110  0010              get_entity_length:
 111  0010  0700     E  				mov		a,des_count
 112  0011              get_entity_len_pcl_3:
 113  0011  0386        				addm	a,pcl
"File: STD1.ASM      Holtek Cross-Assembler  Version 2.86      Page 3

 114  0012  093F        				ret		a,Entity_Length_0
 115  0013  0934        				ret		a,Entity_Length_1
 116  0014              ;-----------------------------------------------------------------------------------
 117  0014              ;-----------------------------------------------------------------------------------
 118  0014              ;no implement STD command
 119  0014              GetInterface:
 120  0014  2800     E                  JMP		ToStallPipe0            ;No:Error
 121  0015              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 122  0015              SetInterface:
 123  0015  2800     E  				jmp		TOstallpipe0
 124  0016              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 125  0016              SynchFrame:     ;No support
 126  0016  2800     E                  JMP		ToStallPipe0
 127  0017              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 128  0017              ;-----------------------------------------------------------------------------------
 129  0017              ;-----------------------------------------------------------------------------------
 130  0017              
 131  0017              
 132  0017              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 133  0017              GetConfiguration:
 134  0017                              ;Check bmRequestType direction
 135  0017  3800     E                  SNZ     FIFO_Type.@Setup_D    	;device to host ?
 136  0018  2800     E                  JMP		ToStallPipe0            ;No:Error
 137  0019              
 138  0019  1F00     E  				clr		FIFO_out1
 139  001A  3C00     E  				sz		bcfgvalue
 140  001B  3000     E                  set     FIFO_OUT1.0           	;to FIFO
 141  001C  0F01                        MOV     A,01H                   ;Send length = 1
 142  001D  2800     E  				jmp		SendFIFOOut
 143  001E              ;                MOV     FIFO_SendLen,A        	;
 144  001E              ;                jmp	    RequestResponse
 145  001E              
 146  001E              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 147  001E              ;----- Standard request -----------------------------------------------------
 148  001E              StandardRequest:
 149  001E  0F01        				mov		a,1
 150  001F  3800     E  				snz		baddr_state
 151  0020  0F03        				mov		a,ENDPOINT_NO
 152  0021  0080     E  				mov		fifo_temp,a
 153  0022              
 154  0022  0700     E                  MOV     A,FIFO_Request    		;bRequest
 155  0023  0A0D                        SUB     A,STANDARD_REQUEST_NO   ;Over 13 Item ?
 156  0024  3C0A                        SZ      C                   	;
 157  0025  2800     E                  JMP		ToStallPipe0        	;Yes
 158  0026  0700     E                  MOV     A,FIFO_Request
 159  0027              ;!!!!! Need in same page
 160  0027              std_request_pcl_14:
 161  0027  0386                        ADDM    A,PCL
 162  0028  286A                        JMP     GetStatus           ;0
 163  0029  2842                        JMP     ClearFeature        ;1
 164  002A  2800     E                  JMP		ToStallPipe0        ;2
 165  002B  28F9                        JMP     SetFeature          ;3
 166  002C  2800     E                  JMP		ToStallPipe0        ;4
 167  002D  29BC                        JMP     SetAddressC         ;5
 168  002E  2938                        JMP     GetDescriptor       ;6
 169  002F  2800     E                  JMP     Tostallpipe0	    ;7
 170  0030  2824                        JMP     GetConfiguration    ;8
 171  0031  2925                        JMP     SetConfiguration    ;9
 172  0032  2821                        JMP     GetInterface        ;A
 173  0033  2822                        JMP     SetInterface        ;B
"File: STD1.ASM      Holtek Cross-Assembler  Version 2.86      Page 4

 174  0034  2823                        JMP     SynchFrame          ;C
 175  0035              
 176  0035              ;////////////////////////////////////////////////////////////////////////////
 177  0035              ;Standard Request
 178  0035              
 179  0035              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 180  0035              ClearFeature:
 181  0035  1080     E                  SZ      FIFO_wValueH          	;wValueH == 0 ?
 182  0036  2800     E                  JMP		ToStallPipe0            ;No
 183  0037              
 184  0037  1080     E                  SZ      FIFO_wIndexH          	;wIndexH == 0 ?
 185  0038  2800     E                  JMP		ToStallPipe0            ;No
 186  0039              
 187  0039  0700     E                  MOV     A,FIFO_Type           	;Type (Device, Interface or
 188  003A  0E1F                        AND     A,Setup_Rev             ;   Endpoint)
 189  003B  0080     E                  MOV     TEMP,A
 190  003C              ;!!!!! Need in same page
 191  003C  0A04                        SUB     A,04H                   ;Over 4 item ?
 192  003D  3C0A                        SZ      C                       ;
 193  003E  2800     E                  JMP		ToStallPipe0            ;Yes
 194  003F  0700     E                  MOV     A,TEMP
 195  0040              clear_feature_pcl_5:
 196  0040  0386                        ADDM    A,PCL
 197  0041  285E                        JMP     DeviceStatusCF
 198  0042  2800     E                  JMP     TOstallpipe0
 199  0043  2852                        JMP     EndpointStatusCF
 200  0044  2800     E                  JMP		ToStallPipe0
 201  0045              ;-----------------------------------------------------------------------------------
 202  0045              

⌨️ 快捷键说明

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