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

📄 class_request.tmp

📁 HT46RB50温度计,了解其usb通信
💻 TMP
字号:

caadaF:\project\HT46RB50 温度计\ASM\CLASS_REQUEST.ASM   1  0000              ;;Established date:                  2006/03/01
   2  0000              
   3  0000              ;;********************************************************************
   4  0000              L_ClassRequest:
babaaabaaaaaaafb 	MOV	A,T_RequestType
	MOV	A,T_RequestType
   6  0001  0E1F        	AND	A,1FH
babaaabaaacaaahb 	MOV	M_TEMP1,A
	MOV	M_TEMP1,A
   8  0003  0A04        	SUB	A,04H
babaaabaaaeaaajb 	SZ	C
	SZ	C
babaaabaaafaaakb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
  11  0006              	
babaaabaaagaaamb 	MOV	A,M_TEMP1		
	MOV	A,M_TEMP1		
babaaabaaahaaanb 	ADDM	A,PCL
	ADDM	A,PCL
babaaabaaaiaaaob 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaaajaaapb 	JMP	L_InterfaceReciver		;RequestType=1000 0001?
	JMP	L_InterfaceReciver		;RequestType=1000 0001?
babaaabaaakaabab 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaaalaabbb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
  18  000C              L_InterfaceReciver:
babaaabaaamaabdb 	SZ	T_IndexH                         
	SZ	T_IndexH                         
babaaabaaanaabeb 	JMP	L_StallPipe0			;IndexH!=0,error!
	JMP	L_StallPipe0			;IndexH!=0,error!
babaaabaaaoaabfb 	MOV	A,T_IndexL
	MOV	A,T_IndexL
babaaabaaapaabgb 	SUB	A,C_InterfaceNO			
	SUB	A,C_InterfaceNO			
babaaabaabaaabhb 	SZ	C
	SZ	C
babaaabaabbaabib 	JMP	L_StallPipe0			;IndexL>=2,error
	JMP	L_StallPipe0			;IndexL>=2,error
  25  0012              
babaaabaabcaabkb 	MOV	A,T_RequestNUM
	MOV	A,T_RequestNUM
  27  0013  0A0C        	SUB	A,0CH
babaaabaabeaabmb 	SZ	C
	SZ	C
babaaabaabfaabnb 	JMP	L_StallPipe0			;RequesetNUM>=12,error!
	JMP	L_StallPipe0			;RequesetNUM>=12,error!
babaaabaabgaabob 	MOV	A,T_RequestNUM
	MOV	A,T_RequestNUM
babaaabaabhaabpb 	ADDM	A,PCL
	ADDM	A,PCL
babaaabaabiaacab 	JMP	L_StallPipe0			;;0
	JMP	L_StallPipe0			;;0
babaaabaabjaacbb 	JMP	L_GetReport			;;1
	JMP	L_GetReport			;;1
babaaabaabkaaccb 	JMP	L_GetIdle			;;2
	JMP	L_GetIdle			;;2
babaaabaablaacdb 	JMP	L_GetProtocol			;;3
	JMP	L_GetProtocol			;;3
babaaabaabmaaceb 	JMP	L_StallPipe0			;;4
	JMP	L_StallPipe0			;;4
babaaabaabnaacfb 	JMP	L_StallPipe0			;;5
	JMP	L_StallPipe0			;;5
babaaabaaboaacgb 	JMP	L_Stallpipe0			;;6
	JMP	L_Stallpipe0			;;6
babaaabaabpaachb 	JMP	L_StallPipe0			;;7
	JMP	L_StallPipe0			;;7
babaaabaacaaacib 	JMP	L_StallPipe0			;;8
	JMP	L_StallPipe0			;;8
  41  0021              ;;	JMP	L_SetReport			;;9
babaaabaacbaackb 	JMP	L_StallPipe0			;;no suport
	JMP	L_StallPipe0			;;no suport
babaaabaaccaaclb 	JMP	L_SetIdle			;;A
	JMP	L_SetIdle			;;A
babaaabaacdaacmb 	JMP	L_SetProtocol			;;B
	JMP	L_SetProtocol			;;B
  45  0024              ;;********************************************************************
  46  0024              
  47  0024              L_GetReport:
babaaabaaceaadab 	SNZ	T_RequestType.7                 
	SNZ	T_RequestType.7                 
babaaabaacfaadbb 	JMP	L_StallPipe0 			;check RequestType.7       
	JMP	L_StallPipe0 			;check RequestType.7       
babaaabaacgaadcb 	MOV	A,T_ValueH			;check Report Type.(1:in 2:out 3:feature)
	MOV	A,T_ValueH			;check Report Type.(1:in 2:out 3:feature)
babaaabaachaaddb 	SUB	A,C_ReportType           
	SUB	A,C_ReportType           
babaaabaaciaadeb 	SZ	C
	SZ	C
babaaabaacjaadfb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaackaadgb 	MOV	A,T_ValueH 
	MOV	A,T_ValueH 
babaaabaaclaadhb 	ADDM	A,PCL
	ADDM	A,PCL
babaaabaacmaadib 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaacnaadjb 	JMP	L_GetInputReport                
	JMP	L_GetInputReport                
babaaabaacoaadkb 	JMP	L_StallPipe0                    
	JMP	L_StallPipe0                    
  59  002F              L_GetFeatureReport:                                 
babaaabaacpaadmb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
  61  0030              L_GetInputReport:
babaaabaadaaadob 	SZ	T_LengthH			;report size
	SZ	T_LengthH			;report size
babaaabaadbaadpb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaadcaaeab 	MOV	A,T_IndexL
	MOV	A,T_IndexL
babaaabaaddaaebb 	ADDM	A,PCL				;????
	ADDM	A,PCL				;????
babaaabaadeaaecb 	JMP	L_GetCOMDataInput
	JMP	L_GetCOMDataInput
babaaabaadfaaedb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
  68  0036              L_GetCOMDataInput:
babaaabaadgaaefb 	MOV	A,T_LengthL
	MOV	A,T_LengthL
babaaabaadhaaegb 	XOR	A,C_ReportSize
	XOR	A,C_ReportSize
babaaabaadiaaehb 	SNZ	Z
	SNZ	Z
babaaabaadjaaeib 	JMP	L_StallPipe0
	JMP	L_StallPipe0
  73  003A              		
  74  003A              ;;	MOV	A,M_ReBufferAddress
  75  003A              ;;	SUB	A,R_TrBufferAddress
  76  003A              ;;	SZ	Z
  77  003A              ;;	JMP	L_StallPipe0
  78  003A              ;;	JMP	L_COMToUSB
  79  003A              ;;-------------------------------------------------------------------
  80  003A              ;;L_COMZero:
  81  003A              ;;	CLR	F_DataUpdate
  82  003A              ;;	CLR	M_FIFOBAK0
  83  003A              ;;	JMP	L_SendFIFO
  84  003A              ;;--------------------------------------------------------------------
  85  003A              ;;L_COMToUSB:
  86  003A              ;;	give data from COM
  87  003A              ;;--------------------------------------------------------------------
  88  003A              L_SendFIFO:
babaaabaadkaafjb 	MOV	A,C_ReportSize
	MOV	A,C_ReportSize
babaaabaadlaafkb 	MOV	M_FIFOBAK0,A
	MOV	M_FIFOBAK0,A
  91  003C  0F55        	MOV	A,55H
babaaabaadnaafmb 	MOV	M_FIFOBAK1,A
	MOV	M_FIFOBAK1,A
babaaabaadoaafnb 	MOV	M_FIFOBAK2,A
	MOV	M_FIFOBAK2,A
babaaabaadpaafob 	MOV	M_FIFOBAK3,A
	MOV	M_FIFOBAK3,A
babaaabaaeaaafpb 	MOV	M_FIFOBAK4,A
	MOV	M_FIFOBAK4,A
babaaabaaebaagab 	MOV	M_FIFOBAK5,A
	MOV	M_FIFOBAK5,A
babaaabaaecaagbb 	MOV	M_FIFOBAK6,A
	MOV	M_FIFOBAK6,A
babaaabaaedaagcb 	MOV	M_FIFOBAK7,A                             
	MOV	M_FIFOBAK7,A                             
babaaabaaeeaagdb 	MOV	A,C_ReportSize                   
	MOV	A,C_ReportSize                   
babaaabaaefaageb 	JMP	L_WriteDataToFIFO_AnyBytes
	JMP	L_WriteDataToFIFO_AnyBytes
 101  0046              ;;********************************************************************
 102  0046              L_GetIdle:
babaaabaaegaaghb 	SNZ	T_RequestType.7
	SNZ	T_RequestType.7
babaaabaaehaagib 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaaeiaagjb 	SZ	T_ValueH
	SZ	T_ValueH
babaaabaaejaagkb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaaekaaglb 	SZ	T_LengthH                       
	SZ	T_LengthH                       
babaaabaaelaagmb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaaemaagnb 	MOV	A,T_LengthL                     
	MOV	A,T_LengthL                     
 110  004D  0C01        	XOR	A,01H
babaaabaaeoaagpb 	SNZ	Z
	SNZ	Z
babaaabaaepaahab 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaafaaahbb 	MOV	A,M_IdleTime
	MOV	A,M_IdleTime
babaaabaafbaahcb 	SZ	T_IndexL			;;0-KB, 1-Mouse
	SZ	T_IndexL			;;0-KB, 1-Mouse
babaaabaafcaahdb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
 116  0053              ;;	MOV	M_FIFOBAK1,A
babaaabaafdaahfb 	MOV	M_FIFOBAK0,A			
	MOV	M_FIFOBAK0,A			
 118  0054  0F01        	MOV	A,01H                 
babaaabaaffaahhb 	JMP	L_WriteDataToFIFO_AnyBytes
	JMP	L_WriteDataToFIFO_AnyBytes
 120  0056              ;;********************************************************************
 121  0056              L_GetProtocol:
babaaabaafgaahkb 	SNZ	T_RequestType.7
	SNZ	T_RequestType.7
babaaabaafhaahlb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaafiaahmb 	SZ	T_ValueL
	SZ	T_ValueL
babaaabaafjaahnb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaafkaahob 	SZ	T_ValueH
	SZ	T_ValueH
babaaabaaflaahpb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
 128  005C              
babaaabaafmaaibb 	SZ	T_LengthH
	SZ	T_LengthH
babaaabaafnaaicb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaafoaaidb 	MOV	A,T_LengthL
	MOV	A,T_LengthL
 132  005F  0C01        	XOR	A,01H
babaaabaagaaaifb 	SNZ	Z
	SNZ	Z
babaaabaagbaaigb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
 135  0062              
babaaabaagcaaiib 	CLR	ACC
	CLR	ACC
babaaabaagdaaijb 	SZ	T_IndexL                       
	SZ	T_IndexL                       
babaaabaageaaikb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaagfaailb 	SZ	F_ReportProtocol
	SZ	F_ReportProtocol
babaaabaaggaaimb 	SET	ACC.0
	SET	ACC.0
babaaabaaghaainb 	MOV	M_FIFOBAK0,A
	MOV	M_FIFOBAK0,A
 142  0068  0F01        	MOV	A,01H                          
 143  0069              ;;	JMP         L_WriteDataToFIFO_0_Packet		;????
babaaabaagjaajab 	JMP	L_WriteDataToFIFO_AnyBytes
	JMP	L_WriteDataToFIFO_AnyBytes
 145  006A              ;;********************************************************************
 146  006A              L_SetReport:
babaaabaagkaajdb 	SNZ	T_RequestType.7
	SNZ	T_RequestType.7
babaaabaaglaajeb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaagmaajfb 	MOV	A,T_ValueH
	MOV	A,T_ValueH
 150  006D  0A04        	SUB	A,04H
babaaabaagoaajhb 	SZ	C
	SZ	C
babaaabaagpaajib 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaahaaajjb 	MOV	A,T_ValueH
	MOV	A,T_ValueH
babaaabaahbaajkb 	ADDM	A,PCL
	ADDM	A,PCL
babaaabaahcaajlb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaahdaajmb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaaheaajnb 	JMP	L_SetOutputReport		;Output report
	JMP	L_SetOutputReport		;Output report
 158  0075              L_SetFeatureReport:
babaaabaahfaajpb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
 160  0076              L_SetOutputReport:
babaaabaahgaakbb 	SZ	T_IndexL
	SZ	T_IndexL
babaaabaahhaakcb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaahiaakdb 	SZ	T_LengthL
	SZ	T_LengthL
 164  0079  0C08        	XOR	A,08H
babaaabaahkaakfb 	SNZ	Z
	SNZ	Z
babaaabaahlaakgb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaahmaakhb 	MOV	A,C_SetReport
	MOV	A,C_SetReport
babaaabaahnaakib 	MOV	M_ReportIndex,A
	MOV	M_ReportIndex,A
babaaabaahoaakjb 	JMP	L_Exit_ISRUSB
	JMP	L_Exit_ISRUSB
 170  007F              ;;********************************************************************
 171  007F              L_SetIdle:
babaaabaahpaakmb 	SZ	T_LengthL
	SZ	T_LengthL
babaaabaaiaaaknb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaaibaakob 	SZ	T_LengthH
	SZ	T_LengthH
babaaabaaicaakpb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
 176  0083              ;;	MOV	A,OFFSET R_IdleTime
babaaabaaidaalbb 	SZ	T_IndexL                        
	SZ	T_IndexL                        
babaaabaaieaalcb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
 179  0085              ;;	MOV	MP0,A
babaaabaaifaaleb 	MOV	A,T_ValueH                      
	MOV	A,T_ValueH                      
 181  0086              ;;	MOV	R0,A
babaaabaaigaalgb 	MOV	M_IdleTime,A
	MOV	M_IdleTime,A
babaaabaaihaalhb 	JMP	L_WriteDataToFIFO_0_Packet
	JMP	L_WriteDataToFIFO_0_Packet
 184  0088              ;;********************************************************************
 185  0088              L_SetProtocol:
babaaabaaiiaalkb 	MOV	A,T_LengthL                     
	MOV	A,T_LengthL                     
babaaabaaijaallb 	ADD 	A,T_LengthH
	ADD 	A,T_LengthH
babaaabaaikaalmb 	SNZ	Z
	SNZ	Z
babaaabaailaalnb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaaimaalob 	SZ	T_ValueH
	SZ	T_ValueH
babaaabaainaalpb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaaioaamab 	SZ	T_IndexL                       
	SZ	T_IndexL                       
babaaabaaipaambb 	JMP	L_StallPipe0
	JMP	L_StallPipe0
babaaabaajaaamcb 	CLR	F_ReportProtocol
	CLR	F_ReportProtocol
babaaabaajbaamdb 	SZ	T_ValueL
	SZ	T_ValueL
babaaabaajcaameb 	SET	F_ReportProtocol               
	SET	F_ReportProtocol               
babaaabaajdaamfb 	JMP	L_WriteDataToFIFO_0_Packet
	JMP	L_WriteDataToFIFO_0_Packet
 198  0094              ;;********************************************************************
 199  0094              

⌨️ 快捷键说明

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