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

📄 std.lst

📁 HT82J97滑鼠DEMO程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
"File: STD.ASM       Holtek Cross-Assembler  Version 2.86      Page 1


   1  0000              include		body.inc




   2  0000              include		usbrf1.inc


   3  0000              include		usbfifo.inc


   4  0000              
   5  0000              extern		baddr_state		:bit
   6  0000              extern		bRmtWakeup		:bit
   7  0000              extern		bFIFO_Full		:bit
   8  0000              extern		bSend_Continue		:bit
   9  0000              extern		brd_h_table		:bit	;read hi byte of table
  10  0000              extern		bCfgValue 		:bit
  11  0000              extern		bwait_setup		:bit
  12  0000              
  13  0000              
  14  0000              extern		int_temp1		:byte
  15  0000              extern		int_temp2		:byte
  16  0000              
  17  0000              extern		STALL			:byte
  18  0000              extern		CMD_ADDR		:byte
  19  0000              extern		FIFO_Type		:byte
  20  0000              extern		FIFO_Request	:byte
  21  0000              extern		FIFO_wValueH 	:byte
  22  0000              extern		FIFO_wValueL	:byte
  23  0000              extern		FIFO_wIndexH	:byte
  24  0000              extern		FIFO_wIndexL	:byte
  25  0000              extern		FIFO_OUT1		:byte
  26  0000              extern		fifo_out2		:byte
  27  0000              extern		FIFO_SendLen	:byte
  28  0000              extern		FIFO_wLengthH	:byte
  29  0000              extern		FIFO_wLengthL	:byte
  30  0000              extern		TableLength		:byte
  31  0000              
  32  0000              extern		lengthh			:byte
  33  0000              extern		lengthl			:byte
  34  0000              extern		FIFO_TBLP		:byte
  35  0000              
  36  0000              ;---usb_int.asm---
  37  0000              EXTERN		ToStallPipe0:NEAR
  38  0000              EXTERN		RequestResponse:NEAR
  39  0000              EXTERN		SendHandshake:NEAR
  40  0000              EXTERN		SendFIFOOut:NEAR
  41  0000              
  42  0000              ;---des.asm---
  43  0000              EXTERN		DeviceD:NEAR
  44  0000              EXTERN		ConfigurationD:NEAR
  45  0000              EXTERN		HID_0:NEAR
  46  0000              EXTERN		Entity_0:NEAR
  47  0000              EXTERN		ENTITY_1:NEAR
  48  0000              extern		LangID:NEAR
  49  0000              extern 		ManufactureS:near
  50  0000              extern		ProductS:near
  51  0000              
"File: STD.ASM       Holtek Cross-Assembler  Version 2.86      Page 2

  52  0000              fifo_temp	EQU				int_temp1
  53  0000              temp		equ				int_temp2
  54  0000              
  55  0000              
  56  0000              STD1		.SECTION at 60h	'code'
  57  0000              ;----- Standard request -----------------------------------------------------
  58  0000              StandardRequest:
  59  0000  0F01                    mov             a,1
  60  0001  3800     E              snz             baddr_state
  61  0002  0F03                    mov             a,ENDPOINT_NO
  62  0003  0080     E              mov             fifo_temp,a
  63  0004              
  64  0004  0700     E              MOV     		A,FIFO_Request				;bRequest
  65  0005  0A0A                    SUB     		A,(STANDARD_REQUEST_NO-3)   ;Over 13 Item ?
  66  0006  3C0A                    SZ      		C							;
  67  0007  2800     E              JMP             ToStallPipe0				;Yes
  68  0008              
  69  0008              
  70  0008  0700     E              MOV     		A,FIFO_Request
  71  0009  3C05        			sz				acc.0
  72  000A  286D        			jmp				std_request_pcl_14
  73  000B  3800     E              SNZ     		FIFO_Type.@Setup_D			;Device to Host ?		0,6,8
  74  000C  2800     E              JMP     		ToStallPipe0				;No: Error
  75  000D              ;!!!!! Need in same page
  76  000D              std_request_pcl_14:
  77  000D  0386                    ADDM    		A,PCL
  78  000E  28BB                    JMP     		GetStatus				;0			
  79  000F  288A                    JMP     		clearSetFeature			;1
  80  0010  2800     E              JMP             ToStallPipe0			;2
  81  0011  288A                    JMP     		clearSetFeature			;3
  82  0012  2800     E              JMP             ToStallPipe0			;4
  83  0013  2878                    JMP     		SetAddressC				;5
  84  0014  2933                    JMP     		GetDescriptor			;6
  85  0015  2800     E              JMP     		Tostallpipe0			;7
  86  0016  291C                    JMP     		GetConfiguration		;8
  87  0017  2921                    JMP     		SetConfiguration		;9
  88  0018                          ;JMP     		ToStallPipe0 ;GetInterface###        ;A
  89  0018                          ;JMP     		ToStallPipe0 ;SetInterface###        ;B
  90  0018                          ;JMP     		ToStallPipe0 ;SynchFrame###          ;C
  91  0018              
  92  0018              ;////////////////////////////////////////////////////////////////////////////
  93  0018              ;Standard Request
  94  0018              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  95  0018              SetAddressC:
  96  0018  1080     E              SZ      		FIFO_wValueH          	;Is wValueH == 0 ?
  97  0019  2800     E              JMP				ToStallPipe0            ;No:Error
  98  001A  0700     E              MOV     		A,FIFO_wValueL        	;Save address to CMD_ADDR
  99  001B  0080     E              MOV     		CMD_ADDR,A            	;
 100  001C              
 101  001C              
 102  001C  0F45        			mov				a,USB_SIES
 103  001D  0083        			mov				mp1,a
 104  001E  0F01        			mov				a,00000001b
 105  001F  0582        			orm				a,R1
 106  0020              
 107  0020  0F42                    MOV     		A,USB_ADDR_WAKE     	;MP1 point to Address register
 108  0021  0083                    MOV     		MP1,A               	;
 109  0022              
 110  0022  1800     E  			rla				CMD_ADDR
 111  0023  0EFE                    AND     		A,0FEH              	;& save it
"File: STD.ASM       Holtek Cross-Assembler  Version 2.86      Page 3

 112  0024  3C00     E              SZ      		bRmtWakeup 				;Remote wakeup exist ?
 113  0025  3005                    SET     		acc.0					;Yes:Set remote wakeup flag
 114  0026  0082                    MOV     		R1,A                	;
 115  0027              
 116  0027  1080     E  			sz				CMD_ADDR
 117  0028  3000     E  			set				baddr_state			
 118  0029  2800     E              JMP     		SendHandshake
 119  002A              ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 120  002A              clearSetFeature:
 121  002A  1080     E              SZ      		FIFO_wValueH          	;wValueH == 0 ?
 122  002B  2800     E              JMP				ToStallPipe0            ;No
 123  002C              
 124  002C  1080     E              SZ      		FIFO_wIndexH          	;wIndexH == 0 ?
 125  002D  2800     E              JMP				ToStallPipe0            ;No
 126  002E              
 127  002E  0700     E              MOV     		A,FIFO_Type           	;Type (Device, Interface or
 128  002F  0E1F                    AND     		A,Setup_Rev             ;   Endpoint)
 129  0030  3D0A        			sz				z
 130  0031  28AC        			jmp				DeviceStatuscSF			;acc=0		
 131  0032  0C02        			xor				a,2				
 132  0033  390A        			snz				z						;acc=2
 133  0034  2800     E  			jmp				TostallPipe0
 134  0035              ;			jmp				EndpointStatusCSF
 135  0035              ;-----------------------------------------------------------------------------
 136  0035              EndpointStatusCSF:									;clear stall flag
 137  0035  1080     E              SZ      		FIFO_wValueL          	;ENDPOINT_STALL = 0 ?
 138  0036  2800     E              JMP				ToStallPipe0            ;No
 139  0037              
 140  0037  0700     E              MOV     		A,FIFO_wIndexL        	;Get endpoint number
 141  0038  0E7F        			and				a,01111111b
 142  0039  0200     E  			SUB				A,FIFO_temp
 143  003A  3C0A        			SZ				C
 144  003B  2800     E  			JMP				ToStallPipe0
 145  003C              
 146  003C  0F43                    MOV     		A,USB_STALL				;MP1 point to Stall register
 147  003D  0083                    MOV     		MP1,A					;
 148  003E  0F01        			mov				a,1						;pipe0
 149  003F  3C00     E  			sz				FIFO_wIndexL.0
 150  0040  0F02        			mov				a,2						;pipe1
 151  0041  3C00     E  			sz				FIFO_windexL.1			
 152  0042  0F04        			mov				a,4						;pipe2
 153  0043              
 154  0043  3800     E  			snz				FIFO_Request.1
 155  0044              				
 156  0044  28A8        			jmp				clear_stall
 157  0045  0580     E  			orm				a,stall
 158  0046  0582        			orm				a,r1
 159  0047  2800     E              JMP     		SendHandshake           ;send handshake flag
 160  0048              clear_stall:
 161  0048  0185        			cpl				acc
 162  0049  0680     E  			andm			a,stall
 163  004A  0682        			andm			a,r1
 164  004B  2800     E  			jmp				SendHandshake
 165  004C              ;-----------------------------------------------------------------------------
 166  004C              DeviceStatusCSF:
 167  004C  1700     E  			sdza			fifo_wValueL
 168  004D  2800     E  			jmp				ToStallPipe0 
 169  004E              
 170  004E  1080     E              SZ      		FIFO_wIndexL          	;Is wIndex == 0 ?
 171  004F  2800     E              JMP				ToStallPipe0            ;No
"File: STD.ASM       Holtek Cross-Assembler  Version 2.86      Page 4

 172  0050              
 173  0050  0F42                    MOV     		A,USB_ADDR_WAKE     	;Address & Remote wakeup address
 174  0051  0083                    MOV    	 		MP1,A               	;
 175  0052              
 176  0052  3000     E              SET     		bRmtWakeup   			;enable remote wakeup (flag)
 177  0053  3800     E  			snz				FIFO_Request.1
 178  0054  3400     E  			clr				bRmtWakeup
 179  0055                     		;enable remote wakeup           		;Yes
 180  0055  340A        			clr				c
 181  0056  1A00     E  			rlca			cmd_addr
 182  0057  3C00     E  			sz				FIFO_Request.1
 183  0058  3005        			set				acc.0

⌨️ 快捷键说明

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