📄 main.lst
字号:
1076 0185 ;-----------------------------------------------------
1077 0185 USB_EP4_ISR:
1078 0185
1079 0185 USB_EP4_ISR_END:
1080 0185 3621 CLR USR.@USR_EP4F
1081 0186 28E9 JMP USB_ISR_END
1082 0187
1083 0187 ;***************************************************************
1084 0187 ; Stage One .... Test bmRequestType
1085 0187 ; CALL FIFO_RD_CHECK will return bFlag_FIFO_Ready?(1=Ready,0=not ready)
1086 0187 ;***************************************************************
1087 0187 StageOne:
1088 0187 0001 clr wdt
1089 0188
1090 0188 2000 E CALL FIFO0_RD_CHECK
1091 0189 39F5 SNZ bFlag_FIFO_Ready
1092 018A 29B3 JMP StageOne_End ; the EP0 FIFO RD is not ready
1093 018B 2000 E CALL Read_FIFO0 ; Read EP0 Command
1094 018C 36A6 clr MISC.@MISC_SCMD
1095 018D 37A6 clr MISC.@MISC_LEN0
1096 018E
1097 018E ;modify 2006-08-28
1098 018E 3421 CLR USR.@USR_EP0F ;Fix OHCI Volume
1099 018F
1100 018F 0001 clr wdt
1101 0190 0000 nop
1102 0191
1103 0191 0763 MOV A,FIFO_TYPE
1104 0192 0C00 XOR A,00H
1105 0193 3D0A SZ Z ;FIFO_TYPE=00H
1106 0194 29B5 JMP Request_Type00
1107 0195
1108 0195 0763 MOV A,FIFO_TYPE
1109 0196 0C01 XOR A,01H
1110 0197 3D0A SZ Z ;FIFO_TYPE=01H
1111 0198 29CB JMP Request_Type01
1112 0199
1113 0199 0763 MOV A,FIFO_TYPE
1114 019A 0C02 XOR A,02H
1115 019B 3D0A SZ Z ;FIFO_TYPE=02H
1116 019C 29D1 JMP Request_Type02
1117 019D
1118 019D 0763 MOV A,FIFO_TYPE
1119 019E 0C80 XOR A,80H
1120 019F 3D0A SZ Z ;FIFO_TYPE=80H
1121 01A0 29DB JMP Request_Type80
1122 01A1
1123 01A1 0763 MOV A,FIFO_TYPE
1124 01A2 0C81 XOR A,81H
1125 01A3 3D0A SZ Z ;FIFO_TYPE=81H
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 20
1126 01A4 29EB JMP Request_Type81
1127 01A5
1128 01A5 0763 MOV A,FIFO_TYPE
1129 01A6 0C82 XOR A,82H
1130 01A7 3D0A SZ Z ;FIFO_TYPE=82H
1131 01A8 29FB JMP Request_Type82
1132 01A9
1133 01A9 ;===============================================================
1134 01A9 ;HID & Audio
1135 01A9 ;===============================================================
1136 01A9 0763 MOV A,FIFO_TYPE
1137 01AA 0C21 XOR A,21H
1138 01AB 3D0A SZ Z
1139 01AC 2A01 JMP Request_Type21
1140 01AD
1141 01AD ;Volume Control
1142 01AD 0001 clr wdt
1143 01AE 0763 MOV A,FIFO_TYPE
1144 01AF 0CA1 XOR A,0A1H
1145 01B0 3D0A SZ Z
1146 01B1 2A0B JMP Request_TypeA1
1147 01B2
1148 01B2 2800 E JMP SendStall0
1149 01B3
1150 01B3
1151 01B3 StageOne_End:
1152 01B3 ;modify 2006-08-28
1153 01B3 3421 CLR USR.@USR_EP0F ;Fix OHCI Volume
1154 01B4 0003 RET
1155 01B5
1156 01B5
1157 01B5 ;***************************************************************
1158 01B5 ; USB Stage2
1159 01B5 ;
1160 01B5 ;***************************************************************
1161 01B5 ;Device to Host with device as recipient
1162 01B5 ;===============================================================
1163 01B5 ;Request_Type00
1164 01B5 ;bRequest Function
1165 01B5 ; 1 Clear Feature
1166 01B5 ; 3 Set Feature
1167 01B5 ; 5 Set Address
1168 01B5 ; 7 not support
1169 01B5 ; 9 Set Configuration
1170 01B5 ;===============================================================
1171 01B5 ;===============================================================
1172 01B5 Request_TYPE00:
1173 01B5 ;Set the device address to a non-zero value
1174 01B5 ;Set address
1175 01B5 0001 clr wdt
1176 01B6 0764 MOV A,FIFO_REQUEST
1177 01B7 0C05 XOR A,set_address
1178 01B8 3D0A SZ Z
1179 01B9 2800 E JMP SetAddress
1180 01BA
1181 01BA ;Set Configuration
1182 01BA 0764 MOV A,FIFO_REQUEST
1183 01BB 0C09 XOR A,set_configuration
1184 01BC ;---------------------
1185 01BC ;modify 2006-07-27
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 21
1186 01BC 390A SNZ Z
1187 01BD 29C1 JMP Request_TYPE00_NEXT
1188 01BE 318B SET ET1I
1189 01BF 3211 SET TMR1C.4
1190 01C0 ;---------------------
1191 01C0 2800 E JMP SetConfiguration
1192 01C1
1193 01C1 ;Clear Feature
1194 01C1 ;The HT82A822R return ACK without ERROR
1195 01C1 ;---------------------
1196 01C1 ;modify 2006-07-27
1197 01C1 Request_TYPE00_NEXT:
1198 01C1 ;---------------------
1199 01C1 0764 MOV A,FIFO_REQUEST
1200 01C2 0C01 XOR A,clear_feature
1201 01C3 3D0A SZ Z
1202 01C4 2800 E JMP ClearFeature
1203 01C5
1204 01C5 ;Set Feature
1205 01C5 0001 clr wdt
1206 01C6 0764 MOV A,FIFO_REQUEST
1207 01C7 0C03 XOR A,set_feature
1208 01C8 3D0A SZ Z
1209 01C9 2800 E JMP SetFeature
1210 01CA
1211 01CA 2800 E JMP SendStall0
1212 01CB ;===============================================================
1213 01CB Request_Type01:
1214 01CB 0001 clr wdt
1215 01CC 0764 MOV A,FIFO_REQUEST
1216 01CD 0C0B XOR A,set_interface
1217 01CE 3D0A SZ Z
1218 01CF 2800 E JMP SetInterface
1219 01D0
1220 01D0 2800 E JMP SendStall0
1221 01D1 ;===============================================================
1222 01D1 Request_Type02:
1223 01D1 0001 clr wdt
1224 01D2 0764 MOV A,FIFO_REQUEST
1225 01D3 0C01 XOR A,clear_feature
1226 01D4 3D0A SZ Z
1227 01D5 2800 E JMP ClearFeature_Endpoint
1228 01D6
1229 01D6 0764 MOV A,FIFO_REQUEST
1230 01D7 0C03 XOR A,set_feature
1231 01D8 3D0A SZ Z
1232 01D9 2800 E JMP SetFeature_Endpoint
1233 01DA
1234 01DA
1235 01DA
1236 01DA 2800 E JMP SendStall0
1237 01DB
1238 01DB
1239 01DB
1240 01DB ;===============================================================
1241 01DB Request_TYPE80:
1242 01DB ;Get Status
1243 01DB ;Get Descriptor 80 06
1244 01DB 0001 clr wdt
1245 01DC 0764 MOV A,FIFO_REQUEST
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 22
1246 01DD 0C06 XOR A,get_descriptor
1247 01DE 3D0A SZ Z
1248 01DF 2800 E JMP GetDescriptor
1249 01E0
1250 01E0 ;Get Configuration 80 08
1251 01E0 0001 clr wdt
1252 01E1 0764 MOV A,FIFO_REQUEST
1253 01E2 0C08 XOR A,get_configuration
1254 01E3 3D0A SZ Z
1255 01E4 2800 E JMP GetConfiguration
1256 01E5
1257 01E5 ;Get Status(DEVICE) 80 00
1258 01E5 0001 clr wdt
1259 01E6 0764 MOV A,FIFO_REQUEST
1260 01E7 0C00 XOR A,get_status
1261 01E8 3D0A SZ Z
1262 01E9 2800 E JMP GetStatus
1263 01EA
1264 01EA 2800 E JMP SendStall0
1265 01EB
1266 01EB ;===============================================================
1267 01EB Request_TYPE81:
1268 01EB ;get status
1269 01EB ;get interface -> not support
1270 01EB ;HID class defines one more request for bmRequestType=81
1271 01EB ;get HID descriptor
1272 01EB 0001 clr wdt
1273 01EC 0764 MOV A,FIFO_REQUEST
1274 01ED 0C06 XOR A,get_descriptor
1275 01EE 3D0A SZ Z
1276 01EF 2800 E JMP GetDescriptor
1277 01F0
1278 01F0 ;Get Interface
1279 01F0 0001 clr wdt
1280 01F1 0764 MOV A,FIFO_REQUEST
1281 01F2 0C0A XOR A,get_interface
1282 01F3 3D0A SZ Z
1283 01F4 2800 E JMP GetInterface
1284 01F5
1285 01F5 ;Get Status(INTERFACE) 81 00
1286 01F5 0001 clr wdt
1287 01F6 0764 MOV A,FIFO_REQUEST
1288 01F7 0C00 XOR A,get_status
1289 01F8 3D0A SZ Z
1290 01F9 2800 E JMP GetStatus
1291 01FA
1292 01FA 2800 E JMP SendStall0
1293 01FB ;===============================================================
1294 01FB Request_TYPE82:
1295 01FB ;get status
1296 01FB ;Get Status(INTERFACE) 82 00
1297 01FB 0001 clr wdt
1298 01FC 0764 MOV A,FIFO_REQUEST
1299 01FD 0C00 XOR A,get_status
1300 01FE 3D0A SZ Z
1301 01FF 2800 E JMP GetStatus_Endpoint
1302 0200
1303 0200 2800 E JMP SendStall0
1304 0201
1305 0201 ;===============================================================
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 23
1306 0201 ;===============================================================
1307 0201 ;Now parse HID class Descriptor Types
1308 0201 ;===============================================================
1309 0201 ;host to device with endpoint as recipient
1310 0201 Request_TYPE21:
1311 0201 0001 clr wdt
1312 0202 ;set report
1313 0202 0764 MOV A,FIFO_REQUEST
1314 0203 0C09 XOR A,set_report
1315 0204 3D0A SZ Z
1316 0205 2800 E JMP SetReport
1317 0206
1318 0206
1319 0206 ;set idle bRequest = 10
1320 0206 ;MOV A,FIFO_REQUEST
1321 0206 ;XOR A,set_idle
1322 0206 ;SZ Z
1323 0206 ;JMP SetIdle
1324 0206
1325 0206 ;------------------------------------------------------
1326 0206 ;audio class-specific request code
1327 0206 ;------------------------------------------------------
1328 0206 ;set_cur
1329 0206 0764 MOV A,FIFO_REQUEST
1330 0207 0C01 XOR A,SET_CUR
1331 0208 3D0A SZ Z
1332 0209 2800 E JMP SetCur
1333 020A
1334 020A Request_TYPE21_End:
1335 020A 2800 E JMP SendStall0
1336 020B
1337 020B
1338 020B
1339 020B Request_TypeA1:
1340 020B 0764 MOV A,FIFO_REQUEST
1341 020C 0C82 XOR A,GET_MIN
1342 020D 3D0A SZ Z
1343 020E 2800 E JMP GetMin
1344 020F
1345 020F 0764 MOV A,FIFO_REQUEST
1346 0210 0C83 XOR A,GET_MAX
1347 0211 3D0A SZ Z
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -