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

📄 function.lst

📁 Holtek audio decoder , Dongle 参考范例
💻 LST
📖 第 1 页 / 共 5 页
字号:
 863  01D6  0C03        		xor		a,03H
 864  01D7  390A        		snz		z
 865  01D8  2800     R  		jmp		SendStall0
 866  01D9              		;check length
 867  01D9  0700     E  		mov		a,FIFO_wLengthL
 868  01DA  0C08        		xor		a,08H
 869  01DB  390A        		snz		z
 870  01DC  2800     R  		jmp		SendStall0
 871  01DD              		
 872  01DD  0F21        		mov		a,21H
 873  01DE  0080     E  		mov		nCmdIndex1,a
 874  01DF              		
 875  01DF              		
 876  01DF              SetOutputReport_End:
 877  01DF  2800     E  		JMP		USB_EP0_ISR_END
 878  01E0              ;------------------------------------------------------
 879  01E0              ;Audio class 
 880  01E0              ;------------------------------------------------------
 881  01E0              ;21 01
 882  01E0              SetCur:
 883  01E0  0001        		clr wdt	
 884  01E1  0700     E  		MOV		A,FIFO_WVALUEH
 885  01E2  0C01        		XOR		A,MUTE_CONTROL
 886  01E3  3D0A        		SZ		Z
 887  01E4  2800     R  		JMP		MuteControl
 888  01E5              
 889  01E5  0700     E  		MOV		A,FIFO_WVALUEH
 890  01E6  0C02        		XOR		A,VOLUME_CONTROL
 891  01E7  3D0A        		SZ		Z
 892  01E8  2800     R  		JMP		VolumeControl
 893  01E9              
 894  01E9  2800     R  		JMP		SendStall0			;can't parser
 895  01EA              
"File: FUNCTION.ASM  Holtek Cross-Assembler  Version 2.86      Page 16

 896  01EA              ;21 01 00 01
 897  01EA              MuteControl:			;(if have more feature , the state must be modify!!)
 898  01EA  0001        		clr wdt	
 899  01EB  0F02        		mov		a,02h
 900  01EC  0400     E  		xor		a,FIFO_wIndexH
 901  01ED  3D0A        		sz		z
 902  01EE  2800     R  		jmp		MuteControl_SetSpeaker
 903  01EF              		
 904  01EF  0F06        		mov		a,06h
 905  01F0  0400     E  		xor		a,FIFO_wIndexH
 906  01F1  3D0A        		sz		z
 907  01F2  2800     R  		jmp		MuteControl_SetMic
 908  01F3              
 909  01F3              MuteControl_SetSpeaker:
 910  01F3  0001        		clr wdt
 911  01F4  0F18        		mov		a,18h
 912  01F5  0080     E  		mov		nCmdIndex1,a
 913  01F6  0003        		RET
 914  01F7              MuteControl_SetMic:
 915  01F7  0001        		clr wdt
 916  01F8  0F19        		mov		a,19h
 917  01F9  0080     E  		mov		nCmdIndex1,a
 918  01FA  0003        		RET
 919  01FB              
 920  01FB              ;21 01 00 02
 921  01FB              VolumeControl:
 922  01FB  0001        		clr wdt	
 923  01FC  0F02        		mov		a,02h
 924  01FD  0400     E  		xor		a,FIFO_wIndexH
 925  01FE  3D0A        		sz		z
 926  01FF  2800     R  		jmp		VolumeControl_SetSpeaker
 927  0200              
 928  0200              
 929  0200              		
 930  0200  0F06        		mov		a,06h
 931  0201  0400     E  		xor		a,FIFO_wIndexH
 932  0202  3D0A        		sz		z
 933  0203  2800     R  		jmp		VolumeControl_SetMic
 934  0204              
 935  0204              VolumeControl_SetSpeaker:
 936  0204  0001        		clr wdt
 937  0205  0F28        		mov		a,28h
 938  0206  0080     E  		mov		nCmdIndex1,a
 939  0207  0003        		ret
 940  0208              VolumeControl_SetMic:
 941  0208  0001        		clr wdt
 942  0209  0F29        		mov		a,29h
 943  020A  0080     E  		mov		nCmdIndex1,a
 944  020B  0003        		ret
 945  020C              
 946  020C              
 947  020C              
 948  020C              ;return D2 00 = -46 db
 949  020C              ;return BC 00 = -32 db
 950  020C              GetMin:
 951  020C  0001        		clr wdt	
 952  020D  0F02        		mov		a,02h
 953  020E  0400     E  		xor		a,FIFO_wIndexH
 954  020F  3D0A        		sz		z
 955  0210  2800     R  		jmp		GetMin_SetSpeaker
"File: FUNCTION.ASM  Holtek Cross-Assembler  Version 2.86      Page 17

 956  0211              
 957  0211  0F06        		mov		a,06h
 958  0212  0400     E  		xor		a,FIFO_wIndexH
 959  0213  3D0A        		sz		z
 960  0214  2800     R  		jmp		GetMin_SetMic
 961  0215              		;modify 2006-09-29
 962  0215  2800     R  		jmp		SendStall0
 963  0216              
 964  0216              GetMin_SetSpeaker:
 965  0216  0001        		clr wdt	
 966  0217  0F00        		MOV		A,00H
 967  0218  0080     E  		MOV		FIFO_OUT1,A
 968  0219              ;;		MOV		A,0E0H
 969  0219  0FE0        		MOV		A,Min_Volume
 970  021A  0080     E  		MOV		FIFO_OUT2,A
 971  021B  0F02        		MOV		A,02H
 972  021C  0080     E  		MOV		FIFO_SendLen,A
 973  021D  2800     R  		jmp		GetMin_Loop
 974  021E              GetMin_SetMic:
 975  021E  0001        		clr wdt	
 976  021F  0F00        		MOV		A,00H
 977  0220  0080     E  		MOV		FIFO_OUT1,A
 978  0221              		;MOV		A,00H
 979  0221  0F00        		MOV		A,MIC_Min_Volume
 980  0222  0080     E  		MOV		FIFO_OUT2,A
 981  0223  0F02        		MOV		A,02H
 982  0224  0080     E  		MOV		FIFO_SendLen,A		
 983  0225  2800     R  		jmp		GetMin_Loop
 984  0226              GetMin_Loop:
 985  0226  0001        		clr wdt	
 986  0227  2000     R  		call		Check_Real_Cmd
 987  0228  3C00     E  		sz		bFlag_Real_Cmd
 988  0229  2800     R  		jmp		GetMin_End
 989  022A  0001        		clr wdt	
 990  022B              		
 991  022B  2000     R  		call		FIFO0_WR_CHECK
 992  022C  3800     E  		SNZ		bFlag_FIFO_Ready
 993  022D  2800     R  		JMP		GetMin_Loop
 994  022E              		
 995  022E  2000     R  		CALL		Write_FIFO0
 996  022F              GetMin_End:		
 997  022F  0003        		RET
 998  0230              
 999  0230              
1000  0230              ;return 0x0C00
1001  0230              GetMax:
1002  0230  0001        		clr wdt	
1003  0231  0F02        		mov		a,02h
1004  0232  0400     E  		xor		a,FIFO_wIndexH
1005  0233  3D0A        		sz		z
1006  0234  2800     R  		jmp		GetMax_SetSpeaker
1007  0235              
1008  0235  0F06        		mov		a,06h
1009  0236  0400     E  		xor		a,FIFO_wIndexH
1010  0237  3D0A        		sz		z
1011  0238  2800     R  		jmp		GetMax_SetMic
1012  0239              		;modify 2006-09-29
1013  0239  2800     R  		jmp		SendStall0
1014  023A              
1015  023A              GetMax_SetSpeaker:	
"File: FUNCTION.ASM  Holtek Cross-Assembler  Version 2.86      Page 18

1016  023A  0001        		clr wdt		
1017  023B  0F00        		MOV		A,00H
1018  023C  0080     E  		MOV		FIFO_OUT1,A
1019  023D              ;;		MOV		A,0CH
1020  023D  0F0C        		MOV		A,Max_Volume
1021  023E  0080     E  		MOV		FIFO_OUT2,A
1022  023F  0F02        		MOV		A,02H
1023  0240  0080     E  		MOV		FIFO_SendLen,A
1024  0241  2800     R  		jmp		GetMax_Loop
1025  0242              
1026  0242              GetMax_SetMic:		
1027  0242  0001        		clr wdt	
1028  0243  0F00        		MOV		A,00H
1029  0244  0080     E  		MOV		FIFO_OUT1,A
1030  0245              		;MOV		A,28H
1031  0245  0F0C        		MOV		A,MIC_Max_Volume
1032  0246  0080     E  		MOV		FIFO_OUT2,A
1033  0247  0F02        		MOV		A,02H
1034  0248  0080     E  		MOV		FIFO_SendLen,A
1035  0249  2800     R  		jmp		GetMax_Loop
1036  024A              
1037  024A              
1038  024A              GetMax_Loop:
1039  024A  0001        		clr wdt	
1040  024B  2000     R  		call		Check_Real_Cmd
1041  024C  3C00     E  		sz		bFlag_Real_Cmd
1042  024D  2800     R  		jmp		GetMax_End
1043  024E  0001        		clr wdt	
1044  024F              
1045  024F  2000     R  		call		FIFO0_WR_CHECK
1046  0250  3800     E  		SNZ		bFlag_FIFO_Ready
1047  0251  2800     R  		JMP		GetMax_Loop
1048  0252              		
1049  0252              		
1050  0252  2000     R  		CALL		Write_FIFO0
1051  0253              GetMax_End:
1052  0253  0003        		RET
1053  0254              
1054  0254              
1055  0254              
1056  0254              
1057  0254              ;return 0x0100 1db		
1058  0254              GetRes:
1059  0254  0001        		clr wdt	
1060  0255  0F00        		MOV		A,00H
1061  0256  0080     E  		MOV		FIFO_OUT1,A
1062  0257  0F01        		MOV		A,01H
1063  0258  0080     E  		MOV		FIFO_OUT2,A
1064  0259  0F02        		MOV		A,02H
1065  025A  0080     E  		MOV		FIFO_SendLen,A
1066  025B              GetRes_Loop:
1067  025B  0001        		clr wdt	
1068  025C  2000     R  		call		Check_Real_Cmd
1069  025D  3C00     E  		sz		bFlag_Real_Cmd
1070  025E  2800     R  		jmp		GetRes_End
1071  025F              
1072  025F  2000     R  		call		FIFO0_WR_CHECK
1073  0260  3800     E  		SNZ		bFlag_FIFO_Ready
1074  0261  2800     R  		JMP		GetRes_Loop
1075  0262              		
"File: FUNCTION.ASM  Holtek Cross-Assembler  Version 2.86      Page 19

1076  0262  2000     R  		CALL		Write_FIFO0
1077  0263              GetRes_End:
1078  0263  0003        		RET
1079  0264              
1080  0264              GetCur:
1081  0264              ;;		call		Check_Real_Cmd
1082  0264              ;;		sz		bFlag_Real_Cmd
1083  0264              ;;		jmp		GetCur_End
1084  0264              ;;
1085  0264              ;;
1086  0264              ;;		call		FIFO0_WR_CHECK
1087  0264              ;;		SNZ		bFlag_FIFO_Ready
1088  0264              ;;		JMP		GetCur
1089  0264              
1090  0264              ;;		
1091  0264              ;;		MOV		A,FIFO_wLengthL
1092  0264              ;;		MOV		FIFO_SendLen,A
1093  0264              ;;		
1094  0264              ;;		MOV		FIFO_TEMP,A
1095  0264              ;;		MOV		A,OFFSET FIFO_OUT1
1096  0264              ;;		MOV		MP1,A
1097  0264              ;;GetCur_Fill0:
1098  0264              ;;		MOV		A,00H
1099  0264              ;;		MOV		R1,A
1100  0264              ;;		INC		MP1
1101  0264              ;;		DEC		FIFO_TEMP
1102  0264              ;;		MOV		A,00H
1103  0264              ;;		XOR		A,FIFO_TEMP
1104  0264              ;;		SNZ		Z
1105  0264              ;;		JMP		GetCur_Fill0
1106  0264              ;;		CALL		Write_FIFO0
1107  0264  0001        		clr 		wdt
1108  0265  0700     E  		MOV		A,FIFO_wLengthL
1109  0266  0080     E  		MOV		FIFO_SendLen,A
1110  0267              		
1111  0267  0F01        		MOV		A,01H
1112  0268  0400     E  		XOR		A,FIFO_SendLen
1113  0269  3D0A        		sz		z
1114  026A  2800     R  		jmp		GetCur_Mute
1115  026B              
1116  026B  0F02        		MOV		A,02H
1117  026C  0400     E  		XOR		A,FIFO_SendLen
1118  026D  3D0A        		sz		z
1119  026E  2800     R  		jmp		GetCur_Volume
1120  026F              ;modify 2006-09-29
1121  026F  2800     R  		jmp		SendStall0
1122  0270              
1123  0270              ;modify 2006-09-28
1124  0270              GetCur_Mute:
1125  0270  0001        		clr 		wdt
1126  0271  0F02        		MOV		A,02H
1127  0272  0400     E  		XOR		A,FIFO_wIndexH
1128  0273  3D0A        		SZ		Z
1129  0274  2800     R  		jmp		GetCur_Mute_Speaker
1130  0275  0F06        		MOV		A,06H
1131  0276  0400     E  		XOR		A,FIFO_wIndexH
1132  0277  3D0A        		SZ		Z
1133  0278  2800     R  		jmp		GetCur_Mute_Mic
1134  0279              		;modify 2006-09-29
1135  0279  2800     R  		jmp		SendStall0
"File: FUNCTION.ASM  Holtek Cross-Assembler  Version 2.86      Page 20

1136  027A              
1137  027A              GetCur_Mute_Mic:		
1138  027A  0F00        		MOV		A,00H
1139  027B  3C00     E  		sz		bFlag_Mic_Mute
1140  027C  0F01        		MOV		A,01H
1141  027D  0080     E  		mov		FIFO_OUT1,A
1142  027E  2800     R  		jmp		GetCur_Mute_Loop
1143  027F              		
1144  027F              GetCur_Mute_Speaker:		
1145  027F  0F00        		MOV		A,00H
1146  0280  3C00     E  		sz		bFlag_Audio_Mute
1147  0281  0F01        		MOV		A,01H
1148  0282  0080     E  		mov		FIFO_OUT1,A
1149  0283              
1150  0283              GetCur_Mute_Loop:
1151  0283  0001        		clr 		wdt

⌨️ 快捷键说明

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