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

📄 main.lst

📁 Holtek audio decoder , Dongle 参考范例
💻 LST
📖 第 1 页 / 共 5 页
字号:
 804  010F              ;;case2
 805  010F              ;;		SZ		MISC.@MISC_SCMD			;check setup token      
 806  010F              ;;		JMP		USB_EP0_SETUP_TOKEN                                     
 807  010F              ;;                
 808  010F              ;;		SZ		MISC.@MISC_LEN0			;check out ack token    
 809  010F              ;;		JMP		USB_EP0_OUT_ACK_TOKEN                                   
 810  010F              ;;
 811  010F              ;;		CALL		FIFO0_RD_CHECK                                          
 812  010F              ;;		SZ		bFlag_FIFO_Ready                                        
 813  010F              ;;		JMP		USB_EP0_OUT_TOKEN 
 814  010F              ;;		;clr		MISC.@MISC_REQ
 815  010F              ;;
 816  010F              ;;		CALL		FIFO0_WR_CHECK                                          
 817  010F              ;;		SZ		bFlag_FIFO_Ready                                        
 818  010F              ;;		JMP		USB_EP0_IN_TOKEN		;else is in token       
 819  010F              ;;		;clr		MISC.@MISC_REQ
 820  010F              ;;
 821  010F              ;;
 822  010F              ;;  		JMP		USB_EP0_ISR_END   
 823  010F              
 824  010F              
 825  010F              ;;case3
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 15

 826  010F              ;;		call		FIFO0_RD_CHECK
 827  010F              ;;		sz		bFlag_FIFO_Ready
 828  010F              ;;		jmp		Have_Data_Out
 829  010F              ;;		
 830  010F              ;;		call		FIFO0_WR_CHECK
 831  010F              ;;		sz		bFlag_FIFO_Ready
 832  010F              ;;		jmp		USB_EP0_IN_TOKEN
 833  010F              ;;		
 834  010F              ;;		jmp		USB_EP0_ISR_END
 835  010F              ;;
 836  010F              ;;Have_Data_Out:
 837  010F              ;;		sz		MISC.@MISC_SCMD
 838  010F              ;;		jmp		USB_EP0_SETUP_TOKEN
 839  010F              ;;		sz		MISC.@MISC_LEN0
 840  010F              ;;		jmp		USB_EP0_OUT_ACK_TOKEN
 841  010F              ;;		
 842  010F              ;;		jmp		USB_EP0_OUT_TOKEN
 843  010F              
 844  010F              
 845  010F              
 846  010F              
 847  010F              
 848  010F              USB_EP0_SETUP_TOKEN:					;PARSE SETUP TOKEN
 849  010F  0001        		clr wdt
 850  0110  2187        		CALL		StageOne
 851  0111  297B        		JMP		USB_EP0_ISR_END
 852  0112              
 853  0112              USB_EP0_IN_TOKEN:
 854  0112  0001        		clr wdt
 855  0113              		;modify 2006-08-28
 856  0113  3421        		CLR		USR.@USR_EP0F	;Fix OHCI Volume
 857  0114  2000     E  		CALL		control_read
 858  0115  297B        		JMP		USB_EP0_ISR_END
 859  0116              
 860  0116              USB_EP0_OUT_ACK_TOKEN:
 861  0116              		;modify 2006-08-28
 862  0116  3421        		CLR		USR.@USR_EP0F	;Fix OHCI Volume
 863  0117  0001        		clr wdt
 864  0118  37A6        		clr		MISC.@MISC_LEN0
 865  0119              ;;		call		Delay_3us
 866  0119  297B        		JMP		USB_EP0_ISR_END
 867  011A              		
 868  011A              
 869  011A              
 870  011A              USB_EP0_OUT_TOKEN:
 871  011A              		;modify 2006-08-28
 872  011A  3421        		CLR		USR.@USR_EP0F	;Fix OHCI Volume
 873  011B  0001        		clr wdt
 874  011C  1F05        		clr		acc
 875  011D  047D        		xor		a,nCmdIndex1
 876  011E  3D0A        		sz		z
 877  011F  297B        		jmp		USB_EP0_ISR_END
 878  0120              
 879  0120              USB_EP0_OUT_TOKEN_Loop:
 880  0120  0001        		clr wdt
 881  0121  2000     E  		CALL		Check_Real_Cmd
 882  0122  3D75        		sz		bFlag_Real_Cmd
 883  0123  2940        		jmp		USB_EP0_OUT_TOKEN_End
 884  0124              
 885  0124  0001        		clr wdt	
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 16

 886  0125  2000     E  		CALL		FIFO0_RD_CHECK
 887  0126  39F5        		SNZ		bFlag_FIFO_Ready
 888  0127  2920        		JMP		USB_EP0_OUT_TOKEN_Loop
 889  0128              		
 890  0128  2000     E  		CALL		READ_FIFO0
 891  0129  0000        		NOP
 892  012A  2000     E  		CALL		Send_Hand_Shake
 893  012B              
 894  012B              
 895  012B              		;decode command
 896  012B              		;//parse Cmd , 21H = SetReport Out Data
 897  012B  0F21        		mov		a,21H
 898  012C  047D        		xor		a,nCmdIndex1
 899  012D  3D0A        		sz		z
 900  012E  2A1D        		jmp		ProcessOutData
 901  012F              
 902  012F              		;//parse Cmd , 18H = Speaker Mute Control
 903  012F  0F18        		mov		a,18H
 904  0130  047D        		xor		a,nCmdIndex1
 905  0131  3D0A        		sz		z
 906  0132  2942        		jmp		Implement_Speaker_Mute
 907  0133              
 908  0133              		;//parse Cmd , 19H = Mic Mute Control
 909  0133  0F19        		mov		a,19H
 910  0134  047D        		xor		a,nCmdIndex1
 911  0135  3D0A        		sz		z
 912  0136  2951        		jmp		Implement_Mic_Mute
 913  0137              
 914  0137              
 915  0137              		;//parse Cmd , 28H = Speaker Volume Control
 916  0137  0F28        		mov		a,28H
 917  0138  047D        		xor		a,nCmdIndex1
 918  0139  3D0A        		sz		z
 919  013A  295B        		jmp		Implement_Speaker_Volume
 920  013B              
 921  013B              		;//parse Cmd , 29H = Mic Volume Control
 922  013B  0F29        		mov		a,29H
 923  013C  047D        		xor		a,nCmdIndex1
 924  013D  3D0A        		sz		z
 925  013E  2961        		jmp		Implement_Mic_Volume
 926  013F              
 927  013F              
 928  013F              
 929  013F              		;//unknow command
 930  013F  2940        		jmp		USB_EP0_OUT_TOKEN_End
 931  0140              		
 932  0140              USB_EP0_OUT_TOKEN_End:
 933  0140  1F7D        		clr		nCmdIndex1
 934  0141  297B        		JMP		USB_EP0_ISR_END
 935  0142              
 936  0142              
 937  0142              Implement_Speaker_Mute:
 938  0142  0001        		clr wdt
 939  0143  3C63        		sz		FIFO_out1.0
 940  0144  379C        		clr		USVC.7			;mute
 941  0145  3863        		snz		FIFO_out1.0
 942  0146  339C        		set		USVC.7			;unmute
 943  0147              
 944  0147  3C63        		sz		FIFO_out1.0
 945  0148  3176        		set		bFlag_Audio_Mute	;mute
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 17

 946  0149  3863        		snz		FIFO_out1.0
 947  014A  3576        		clr		bFlag_Audio_Mute	;unmute
 948  014B              
 949  014B  3976        		snz		bFlag_Audio_Mute
 950  014C  2950        		jmp		Implement_Speaker_Mute_1
 951  014D              		
 952  014D  0FE0        		mov		a,Min_Volume
 953  014E  009C        		mov		USVC,a
 954  014F              		
 955  014F  379C        		clr		USVC.7
 956  0150              		
 957  0150              		
 958  0150              Implement_Speaker_Mute_1:
 959  0150  2940        		jmp		USB_EP0_OUT_TOKEN_End
 960  0151              
 961  0151              
 962  0151              Implement_Mic_Mute:
 963  0151  0001        		clr wdt
 964  0152  3C63        		sz		FIFO_OUT1.0
 965  0153  37B0        		clr		PGA_CTRL.7	;mute
 966  0154  3863        		snz		FIFO_OUT1.0
 967  0155  33B0        		set		PGA_CTRL.7	;unmute
 968  0156              		
 969  0156  3C63        		sz		FIFO_out1.0
 970  0157  31F6        		set		bFlag_Mic_Mute	;mute
 971  0158  3863        		snz		FIFO_out1.0
 972  0159  35F6        		clr		bFlag_Mic_Mute	;unmute
 973  015A              		
 974  015A              		
 975  015A  2940        		jmp		USB_EP0_OUT_TOKEN_End
 976  015B              		
 977  015B              
 978  015B              		
 979  015B              
 980  015B              Implement_Speaker_Volume:
 981  015B  0001        		clr wdt
 982  015C              		kmov		VolumeH_Save,FIFO_out1
 983  015E              		kmov		VolumeL_Save,FIFO_out2
 984  0160              Implement_Speaker_Volume_End:
 985  0160  2940        		jmp		USB_EP0_OUT_TOKEN_End		
 986  0161              
 987  0161              Implement_Mic_Volume:
 988  0161  0001        		clr wdt
 989  0162  0F7F        		mov		a,7FH
 990  0163  0464        		xor		a,FIFO_OUT2
 991  0164  3D0A        		sz		z
 992  0165  296D        		jmp		Implement_Mic_Volume_Set_Max
 993  0166              				
 994  0166  0F80        		mov		a,80H
 995  0167  0464        		xor		a,FIFO_OUT2
 996  0168  3D0A        		sz		z
 997  0169  2971        		jmp		Implement_Mic_Volume_Set_Min
 998  016A              	
 999  016A              		kmov		FIFO_TEMP,FIFO_OUT2
1000  016C  2975        		jmp		Implement_Mic_Volume_1
1001  016D              		
1002  016D              Implement_Mic_Volume_Set_Max:		
1003  016D  0001        		clr wdt
1004  016E              		kmov		FIFO_TEMP,MIC_Max_Volume
1005  0170  2975        		jmp		Implement_Mic_Volume_1
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 18

1006  0171              Implement_Mic_Volume_Set_Min:		
1007  0171  0001        		clr wdt
1008  0172              		kmov		FIFO_TEMP,MIC_Min_Volume
1009  0174  2975        		jmp		Implement_Mic_Volume_1
1010  0175              Implement_Mic_Volume_1:
1011  0175  0001        		clr wdt
1012  0176  0F80        		mov		a,80H
1013  0177  0630        		and		a,PGA_CTRL
1014  0178              		
1015  0178  0574        		or		a,FIFO_TEMP
1016  0179  00B0        		mov		PGA_CTRL,a
1017  017A              Implement_Mic_Volume_End:
1018  017A  2940        		jmp		USB_EP0_OUT_TOKEN_END
1019  017B              
1020  017B              USB_EP0_ISR_END:
1021  017B              		;modify 2006-07-27
1022  017B  3421        		CLR		USR.@USR_EP0F		;Fix Bus Enumeration Stress
1023  017C  28E9        		JMP		USB_ISR_END
1024  017D              ;-----------------------------------------------------
1025  017D              ;EPNPOINT 1 Interrupt
1026  017D              ;-----------------------------------------------------
1027  017D              USB_EP1_ISR:
1028  017D              		;check the data is in fifo ?
1029  017D              		;CALL		FIFO1_RD_CHECK
1030  017D              		;SNZ		bFlag_FIFO_Ready
1031  017D              		;JMP		USB_EP1_ISR_END
1032  017D              		;CALL		Read_FIFO1
1033  017D              
1034  017D              
1035  017D              		;;CALL		FIFO1_WR_CHECK
1036  017D              		;;SNZ		bFlag_FIFO_Ready
1037  017D              		;;JMP		USB_EP1_ISR_END
1038  017D              		;;MOV		A,00H
1039  017D              		;;MOV		FIFO_OUT1,A
1040  017D              		;;MOV		A,01H
1041  017D              		;;MOV		FIFO_SendLen,A
1042  017D              		;;CALL		WRITE_FIFO1		
1043  017D              
1044  017D              
1045  017D              
1046  017D              USB_EP1_ISR_END:
1047  017D  34A1        		CLR		USR.@USR_EP1F
1048  017E  28E9        		JMP		USB_ISR_END
1049  017F              ;-----------------------------------------------------
1050  017F              ;EPNPOINT 2 Interrupt
1051  017F              ;-----------------------------------------------------
1052  017F              USB_EP2_ISR:
1053  017F              		;;SET		ET0I		;enable timer0
1054  017F              		;;SET		TMR0C.4		;Enable timer0 counter
1055  017F              		
1056  017F              		;modify 2006-07-27
1057  017F              		;SET		ET1I
1058  017F              		;SET		TMR1C.4
1059  017F              
1060  017F  3626        		clr		MISC.@MISC_ISOEN		;close ISO(output) interrupt
1061  0180              
1062  0180              
1063  0180              USB_EP2_ISR_END:
1064  0180  3521        		CLR		USR.@USR_EP2F		
1065  0181  28E9        		JMP		USB_ISR_END
"File: MAIN.ASM      Holtek Cross-Assembler  Version 2.86      Page 19

1066  0182              ;-----------------------------------------------------
1067  0182              ;EPNPOINT 3 Interrupt
1068  0182              ;-----------------------------------------------------
1069  0182              USB_EP3_ISR:
1070  0182  35A6        		clr		MISC.@MISC_ISIEN		;close ISO(input) interrupt
1071  0183              USB_EP3_ISR_END:
1072  0183  35A1        		CLR		USR.@USR_EP3F
1073  0184  28E9        		JMP		USB_ISR_END
1074  0185              ;-----------------------------------------------------
1075  0185              ;EPNPOINT 4 Interrupt

⌨️ 快捷键说明

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