📄 std1.lst
字号:
"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 + -