📄 function.lst
字号:
1152 0284 2000 R call Check_Real_Cmd
1153 0285 3C00 E sz bFlag_Real_Cmd
1154 0286 2800 R jmp GetCur_End
1155 0287
1156 0287
1157 0287 2000 R call FIFO0_WR_CHECK
1158 0288 3800 E SNZ bFlag_FIFO_Ready
1159 0289 2800 R JMP GetCur_Mute_Loop
1160 028A
1161 028A 2000 R call Write_FIFO0
1162 028B 2800 R jmp GetCur_End
1163 028C
1164 028C
1165 028C GetCur_Volume:
1166 028C 0001 clr wdt
1167 028D 0F02 MOV A,02H
1168 028E 0400 E XOR A,FIFO_wIndexH
1169 028F 3D0A SZ Z
1170 0290 2800 R jmp GetCur_Volume_Speaker
1171 0291 0F06 MOV A,06H
1172 0292 0400 E XOR A,FIFO_wIndexH
1173 0293 3D0A SZ Z
1174 0294 2800 R jmp GetCur_Volume_Mic
1175 0295 ;modify 2006-09-29
1176 0295 2800 R jmp SendStall0
1177 0296
1178 0296 GetCur_Volume_Mic:
1179 0296 0F00 MOV A,00H
1180 0297 0080 E mov FIFO_OUT1,A
1181 0298 0730 mov A,PGA_CTRL
1182 0299 0E3F and A,3FH
1183 029A 0080 E mov FIFO_OUT2,A
1184 029B 2800 R jmp GetCur_Volume_Loop
1185 029C
1186 029C GetCur_Volume_Speaker:
1187 029C 0700 E MOV A,VolumeH_Save
1188 029D 0080 E mov FIFO_OUT1,A
1189 029E 0700 E MOV A,VolumeL_Save
1190 029F 0080 E mov FIFO_OUT2,A
1191 02A0
1192 02A0 GetCur_Volume_Loop:
1193 02A0 0001 clr wdt
1194 02A1 2000 R call Check_Real_Cmd
1195 02A2 3C00 E sz bFlag_Real_Cmd
"File: FUNCTION.ASM Holtek Cross-Assembler Version 2.86 Page 21
1196 02A3 2800 R jmp GetCur_End
1197 02A4
1198 02A4
1199 02A4 2000 R call FIFO0_WR_CHECK
1200 02A5 3800 E SNZ bFlag_FIFO_Ready
1201 02A6 2800 R JMP GetCur_Volume_Loop
1202 02A7
1203 02A7 2000 R call Write_FIFO0
1204 02A8 2800 R jmp GetCur_End
1205 02A9 GetCur_End:
1206 02A9 0003 RET
1207 02AA ;--------------------------------------------------------------
1208 02AA SetIdle:
1209 02AA 2800 R JMP SendStall0 ;can't parser
1210 02AB
1211 02AB ;==============================================================
1212 02AB ;Standard Get Descriptor routines
1213 02AB ;
1214 02AB ;Return the device descriptor to the host
1215 02AB GetDeviceDescriptor:
1216 02AB 0001 clr wdt
1217 02AC 0F00 E MOV A,LOW device_desc_table
1218 02AD 0087 MOV TBLP,A
1219 02AE 1D80 E TABRDL data_count
1220 02AF 2800 R JMP Execute
1221 02B0
1222 02B0 GetConfigurationDescriptor:
1223 02B0 0001 clr wdt
1224 02B1 0F00 E MOV A,LOW config_desc_length
1225 02B2 0087 MOV TBLP,A
1226 02B3 1D80 E TABRDL data_count
1227 02B4 0F00 E MOV A,LOW config_desc_table
1228 02B5 2800 R JMP Execute
1229 02B6
1230 02B6 GetStringDescriptor:
1231 02B6 0001 clr wdt
1232 02B7 0700 E MOV A,FIFO_WVALUEL
1233 02B8 0C00 XOR A,00H
1234 02B9 3D0A SZ Z
1235 02BA 2800 R JMP LanguageString
1236 02BB
1237 02BB 0700 E MOV A,FIFO_WVALUEL
1238 02BC 0C01 XOR A,01H
1239 02BD 3D0A SZ Z
1240 02BE 2800 R JMP ManufacturerString
1241 02BF
1242 02BF 0700 E MOV A,FIFO_WVALUEL
1243 02C0 0C02 XOR A,02H
1244 02C1 3D0A SZ Z
1245 02C2 2800 R JMP ProductString
1246 02C3
1247 02C3 0700 E MOV A,FIFO_WVALUEL
1248 02C4 0C03 XOR A,03H
1249 02C5 3D0A SZ Z
1250 02C6 2800 R JMP SerialNumberString
1251 02C7
1252 02C7 2800 R JMP SendStall0 ;other no support
1253 02C8
1254 02C8 LanguageString:
1255 02C8 0001 clr wdt
"File: FUNCTION.ASM Holtek Cross-Assembler Version 2.86 Page 22
1256 02C9 0F00 E MOV A,LOW USBStringLanguageDescription
1257 02CA 0087 MOV TBLP,A
1258 02CB 1D80 E TABRDL data_count
1259 02CC 0F00 E MOV A,LOW USBStringLanguageDescription
1260 02CD 2800 R JMP execute
1261 02CE ManufacturerString:
1262 02CE 0001 clr wdt
1263 02CF 0F00 E MOV A,LOW USBStringDescription1
1264 02D0 0087 MOV TBLP,A
1265 02D1 1D80 E TABRDL data_count
1266 02D2 0F00 E MOV A,LOW USBStringDescription1
1267 02D3 2800 R JMP execute
1268 02D4 ProductString:
1269 02D4 0001 clr wdt
1270 02D5 0F00 E MOV A,LOW USBStringDescription2
1271 02D6 0087 MOV TBLP,A
1272 02D7 1D80 E TABRDL data_count
1273 02D8 0F00 E MOV A,LOW USBStringDescription2
1274 02D9 2800 R JMP execute
1275 02DA SerialNumberString:
1276 02DA 0001 clr wdt
1277 02DB 0F00 E MOV A,LOW USBStringDescription3
1278 02DC 0087 MOV TBLP,A
1279 02DD 1D80 E TABRDL data_count
1280 02DE 0F00 E MOV A,LOW USBStringDescription3
1281 02DF 2800 R JMP execute
1282 02E0
1283 02E0 ;--------------------------------------------------
1284 02E0 ;HID class Get Descriptor routines
1285 02E0 ;return the HID descriptor and enable endpoint one
1286 02E0 ;--------------------------------------------------
1287 02E0 GetReportDescriptor:
1288 02E0 0001 clr wdt
1289 02E1 0F00 E MOV A,LOW report_desc_length
1290 02E2 0087 MOV TBLP,A
1291 02E3 1D80 E TABRDL data_count ;Report length = Low byte of Report_Size
1292 02E4 0F00 E MOV A,LOW hid_report_desc_table
1293 02E5 2000 R CALL execute ;send descriptor to host
1294 02E6 ;
1295 02E6 ;Enumeration is complete!!
1296 02E6 ;
1297 02E6 3000 E set bFlag_Enum_Ready ;set Enumeration flag
1298 02E7 0003 RET
1299 02E8
1300 02E8 GetHIDDescriptor:
1301 02E8 0001 clr wdt
1302 02E9 0F00 E MOV A,LOW hid_desc_length
1303 02EA 0087 MOV TBLP,A
1304 02EB 1D80 E TABRDL data_count ;Report length = Low byte of Report_Size
1305 02EC 0F00 E MOV A,LOW HID_Desc
1306 02ED 2000 R CALL execute ;send descriptor to host
1307 02EE 0003 RET
1308 02EF
1309 02EF Execute:
1310 02EF 0001 clr wdt
1311 02F0 0080 E MOV data_start,A
1312 02F1 2000 R call get_descriptor_length
1313 02F2 2000 R call control_read
1314 02F3 0003 RET
1315 02F4
"File: FUNCTION.ASM Holtek Cross-Assembler Version 2.86 Page 23
1316 02F4 ;===============================================================
1317 02F4 SendStall0:
1318 02F4 3024 SET STALL.@STALL_STL0
1319 02F5 0003 RET ;return to USB_EP0_ISR
1320 02F6
1321 02F6
1322 02F6
1323 02F6
1324 02F6
1325 02F6
1326 02F6
1327 02F6
1328 02F6
1329 02F6
1330 02F6
1331 02F6
1332 02F6
1333 02F6 ;***************************************************************
1334 02F6 ; Delay Test Function
1335 02F6 ; Most instructions Timing is one cycles = 0.33333 us
1336 02F6 ; call , jmp , ret is 2 cycles
1337 02F6 ;***************************************************************
1338 02F6
1339 02F6 Delay_28us:
1340 02F6 0F1E mov a,1EH
1341 02F7 Delay_28us_cont:
1342 02F7 0001 clr wdt
1343 02F8 1785 sdz acc
1344 02F9 2800 R jmp Delay_28us_cont
1345 02FA Delay_3us:
1346 02FA 0001 clr wdt
1347 02FB 0000 NOP
1348 02FC 0000 NOP
1349 02FD 0000 NOP
1350 02FE 0000 NOP
1351 02FF 0001 clr wdt
1352 0300 0003 ret
1353 0301
1354 0301
1355 0301 ;----BEGIN (Get pipe bit)
1356 0301 ;Input : ACC pipe number
1357 0301 ;Output: ACC pip bit (D0:pipe 0, D1:pipe 1...)
1358 0301 GetPipeBit:
1359 0301 1485 INC ACC
1360 0302 0080 E MOV FIFO_TEMP,A
1361 0303 0F80 MOV A,80H
1362 0304 GetPipeBitLoop:
1363 0304 0001 clr wdt
1364 0305 1885 RL ACC
1365 0306 1780 E SDZ FIFO_TEMP
1366 0307 2800 R JMP GetPipeBitLoop
1367 0308 0003 RET
1368 0309 ;----END (Get pipe bit)
1369 0309
1370 0309
1371 0309
1372 0309
1373 0309 Public Control_Read
1374 0309 Public FIFO0_RD_CHECK
1375 0309 Public FIFO1_RD_CHECK
"File: FUNCTION.ASM Holtek Cross-Assembler Version 2.86 Page 24
1376 0309 Public FIFO2_RD_CHECK
1377 0309 Public FIFO3_RD_CHECK
1378 0309 Public FIFO4_RD_CHECK
1379 0309 Public FIFO5_RD_CHECK
1380 0309 Public FIFO0_WR_CHECK
1381 0309 Public FIFO1_WR_CHECK
1382 0309 Public FIFO2_WR_CHECK
1383 0309 Public FIFO3_WR_CHECK
1384 0309 Public FIFO4_WR_CHECK
1385 0309 Public FIFO5_WR_CHECK
1386 0309 Public Read_FIFO0
1387 0309 Public Read_FIFO1
1388 0309 Public Read_FIFO2
1389 0309 Public Read_FIFO3
1390 0309 Public Read_FIFO4
1391 0309 Public Read_FIFO5
1392 0309 Public Write_FIFO0
1393 0309 Public Write_FIFO1
1394 0309 Public Write_FIFO2
1395 0309 Public Write_FIFO3
1396 0309 Public Write_FIFO4
1397 0309 Public Write_FIFO5
1398 0309 Public Send_Hand_Shake
1399 0309 Public get_descriptor_length
1400 0309
1401 0309
1402 0309
1403 0309 Public SetAddress
1404 0309 Public SetConfiguration
1405 0309 Public SetInterface
1406 0309 Public GetInterface
1407 0309 Public GetDescriptor
1408 0309 Public SetIdle
1409 0309 Public GetDeviceDescriptor
1410 0309 Public GetConfigurationDescriptor
1411 0309 Public GetStringDescriptor
1412 0309 Public GetStatus
1413 0309 Public SetFeature
1414 0309 Public ClearFeature
1415 0309 Public SetFeature_Endpoint
1416 0309 Public ClearFeature_Endpoint
1417 0309 Public GetStatus_Endpoint
1418 0309
1419 0309 Public SetReport
1420 0309
1421 0309 Public Check_Real_Cmd
1422 0309
1423 0309 Public Execute
1424 0309 Public SendStall0
1425 0309
1426 0309 Public GetConfiguration
1427 0309
1428 0309 Public Delay_3us
1429 0309
1430 0309
1431 0309 Public SetCur
1432 0309 Public GetMin
1433 0309 Public GetMax
1434 0309 Public GetRes
1435 0309 Public GetCur
"File: FUNCTION.ASM Holtek Cross-Assembler Version 2.86 Page 25
1436 0309 Public GetPipeBit
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -