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

📄 function.lst

📁 Holtek audio decoder , Dongle 参考范例
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -