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

📄 function.lst

📁 Holtek audio decoder , Dongle 参考范例
💻 LST
📖 第 1 页 / 共 5 页
字号:
"File: FUNCTION.ASM  Holtek Cross-Assembler  Version 2.86      Page 1


   1  0000              ;*********************************************************************
   2  0000              ;	Functin Library
   3  0000              ;	Author : Ansonku
   4  0000              ;	EMail  : ansonku@holtek.com.tw
   5  0000              ;	Date   : 2005/01/11
   6  0000              ;*********************************************************************
   7  0000              #include		ht82a851r.inc


   8  0000              #include		const.inc


   9  0000              ;=====================================================================
  10  0000              ;	Descriptor Label
  11  0000              ;=====================================================================
  12  0000              ;2005/11/01  ClearFeature_Endpoint add Send_Hand_Shake 
  13  0000              ;
  14  0000              ;
  15  0000              ;
  16  0000              ;
  17  0000              ;
  18  0000              ;
  19  0000              ;
  20  0000              ;
  21  0000              
  22  0000              
  23  0000              
  24  0000              
  25  0000              
  26  0000              extern			control_read_table:NEAR        
  27  0000              extern			device_desc_table:NEAR         
  28  0000              extern			config_desc_table:NEAR         
  29  0000              
  30  0000              extern			end_config_desc_table:NEAR  
  31  0000              extern			hid_report_desc_table:NEAR
  32  0000              extern			end_hid_report_desc_table:NEAR
  33  0000              
  34  0000              extern			USBStringLanguageDescription:NEAR
  35  0000              extern			USBStringDescription1:NEAR
  36  0000              extern			USBStringDescription2:NEAR
  37  0000              extern			USBStringDescription3:NEAR
  38  0000              extern			HID_Desc:NEAR
  39  0000              
  40  0000              extern			config_desc_length:NEAR
  41  0000              extern			hid_desc_length:NEAR
  42  0000              extern			report_desc_length:NEAR
  43  0000              
  44  0000              
  45  0000              extern			USB_EP0_ISR_END:NEAR
  46  0000              
  47  0000              ;=====================================================================
  48  0000              ;	External Variable
  49  0000              ;=====================================================================
  50  0000              
  51  0000              ;modify 2006-09-22
  52  0000              extern		FIFO_SIZE:byte
  53  0000              ;-----------------------------
  54  0000              extern		FIFO_SendLen:byte
  55  0000              extern		FIFO_Type:byte
"File: FUNCTION.ASM  Holtek Cross-Assembler  Version 2.86      Page 2

  56  0000              extern		FIFO_Request:byte
  57  0000              extern		FIFO_wValueL:byte
  58  0000              extern		FIFO_wValueH:byte
  59  0000              extern		FIFO_wIndexL:byte
  60  0000              extern		FIFO_wIndexH:byte
  61  0000              extern		FIFO_wLengthL:byte
  62  0000              extern		FIFO_wLengthH:byte
  63  0000              
  64  0000              extern		FIFO_Out1:byte
  65  0000              extern		FIFO_Out2:byte
  66  0000              extern		FIFO_Out3:byte
  67  0000              extern		FIFO_Out4:byte
  68  0000              extern		FIFO_Out5:byte
  69  0000              extern		FIFO_Out6:byte
  70  0000              extern		FIFO_Out7:byte
  71  0000              extern		FIFO_Out8:byte
  72  0000              
  73  0000              extern		USB_Interface:byte
  74  0000              extern		USB_Interface_Alt:byte
  75  0000              extern		USB_Configuration:byte
  76  0000              
  77  0000              extern		FIFO_ADDR:byte
  78  0000              
  79  0000              
  80  0000              
  81  0000              extern		Loop_Counter:byte
  82  0000              extern		Data_Count:byte
  83  0000              extern		Data_Start:byte
  84  0000              
  85  0000              
  86  0000              extern		nCmdIndex1:byte
  87  0000              extern		nCmdIndex2:byte
  88  0000              extern		nCmdIndex3:byte
  89  0000              extern		VolumeH_Save:byte
  90  0000              extern		VolumeL_Save:byte
  91  0000              extern		bFlag_Audio_Mute:bit
  92  0000              ;modify 2006-09-28
  93  0000              extern		bFlag_Mic_Mute:bit
  94  0000              
  95  0000              ;=====================================================================
  96  0000              ;	FIFO Status
  97  0000              ;=====================================================================
  98  0000              
  99  0000              ;FIFO
 100  0000              extern		FIFO_TEMP:byte
 101  0000              extern		bFlag_Real_Cmd:bit
 102  0000              extern		bFlag_FIFO_Ready:bit
 103  0000              extern		bFlag_FIFO_LEN0:bit
 104  0000              extern		bFlag_RD_HTable:bit
 105  0000              extern		bFlag_wait_control_out:bit
 106  0000              extern		bFlag_SET_ADDRESS:bit
 107  0000              extern		bFlag_SCMD:bit
 108  0000              extern		bFlag_Enum_Ready:bit
 109  0000              
 110  0000              extern		bFlag_SetConfiguration_Ready:bit
 111  0000              extern		bFlag_SetInterface_Ready:bit
 112  0000              
 113  0000              extern		StageOne:NEAR
 114  0000              extern		USB_ISR_END:NEAR
 115  0000              ;********************************************************************
"File: FUNCTION.ASM  Holtek Cross-Assembler  Version 2.86      Page 3

 116  0000              ;		USB	 LIB  
 117  0000              ;		1.CHECK FIFOX RD READEY? bFlag_FIFO_Ready = 1:bFlag_FIFO_Ready = 0
 118  0000              ;********************************************************************
 119  0000              FIFO0_RD_CHECK:
 120  0000  0722        		MOV		A,UCC
 121  0001  0D07        		OR		A,00000111b
 122  0002  0EF8        		AND		A,11111000b
 123  0003  00A2        		MOV		UCC,A
 124  0004              		
 125  0004  0F00        		MOV		A,00000000b
 126  0005  2800     R  		JMP		FIFO_CHECK
 127  0006              FIFO1_RD_CHECK:
 128  0006  0722        		MOV		A,UCC
 129  0007  0D07        		OR		A,00000111b
 130  0008  0EF9        		AND		A,11111001b
 131  0009  00A2        		MOV		UCC,A
 132  000A              
 133  000A  0F00        		MOV		A,00000000b
 134  000B  2800     R  		JMP		FIFO_CHECK
 135  000C              FIFO2_RD_CHECK:
 136  000C  0722        		MOV		A,UCC
 137  000D  0D07        		OR		A,00000111b
 138  000E  0EFA        		AND		A,11111010b
 139  000F  00A2        		MOV		UCC,A
 140  0010              
 141  0010  0F00        		MOV		A,00000000b
 142  0011  2800     R  		JMP		FIFO_CHECK
 143  0012              FIFO3_RD_CHECK:
 144  0012  0722        		MOV		A,UCC
 145  0013  0D07        		OR		A,00000111b
 146  0014  0EFB        		AND		A,11111011b
 147  0015  00A2        		MOV		UCC,A
 148  0016              		
 149  0016  0F00        		MOV		A,00000000b
 150  0017  2800     R  		JMP		FIFO_CHECK
 151  0018              FIFO4_RD_CHECK:
 152  0018  0722        		MOV		A,UCC
 153  0019  0D07        		OR		A,00000111b
 154  001A  0EFC        		AND		A,11111100b
 155  001B  00A2        		MOV		UCC,A
 156  001C              		
 157  001C  0F00        		MOV		A,00000000b
 158  001D  2800     R  		JMP		FIFO_CHECK
 159  001E              
 160  001E              FIFO5_RD_CHECK:
 161  001E  0722        		MOV		A,UCC
 162  001F  0D07        		OR		A,00000111b
 163  0020  0EFD        		AND		A,11111101b
 164  0021  00A2        		MOV		UCC,A
 165  0022              		
 166  0022  0F00        		MOV		A,00000000b
 167  0023  2800     R  		JMP		FIFO_CHECK
 168  0024              ;********************************************************************
 169  0024              ;		USB	 LIB  
 170  0024              ;		1.CHECK FIFOX WR READEY ?  bFlag_FIFO_Ready = 1:bFlag_FIFO_Ready = 0
 171  0024              ;********************************************************************
 172  0024              
 173  0024              ;LEN0 ready to write??
 174  0024              LEN0_WR_CHECK:
 175  0024              ;CHECK FIFOX ready to write?
"File: FUNCTION.ASM  Holtek Cross-Assembler  Version 2.86      Page 4

 176  0024              FIFO0_WR_CHECK:
 177  0024  0722        		MOV		A,UCC
 178  0025  0D07        		OR		A,00000111b
 179  0026  0EF8        		AND		A,11111000b
 180  0027  00A2        		MOV		UCC,A
 181  0028              		
 182  0028  0F02        		MOV		A,00000010b
 183  0029  2800     R  		JMP		FIFO_CHECK
 184  002A              FIFO1_WR_CHECK:
 185  002A  0722        		MOV		A,UCC
 186  002B  0D07        		OR		A,00000111b
 187  002C  0EF9        		AND		A,11111001b
 188  002D  00A2        		MOV		UCC,A
 189  002E              
 190  002E  0F02        		MOV		A,00000010b
 191  002F  2800     R  		JMP		FIFO_CHECK
 192  0030              FIFO2_WR_CHECK:
 193  0030  0722        		MOV		A,UCC
 194  0031  0D07        		OR		A,00000111b
 195  0032  0EFA        		AND		A,11111010b
 196  0033  00A2        		MOV		UCC,A
 197  0034              
 198  0034  0F02        		MOV		A,00000010b
 199  0035  2800     R  		JMP		FIFO_CHECK
 200  0036              FIFO3_WR_CHECK:
 201  0036  0722        		MOV		A,UCC
 202  0037  0D07        		OR		A,00000111b
 203  0038  0EFB        		AND		A,11111011b
 204  0039  00A2        		MOV		UCC,A
 205  003A              		
 206  003A  0F02        		MOV		A,00000010b
 207  003B  2800     R  		JMP		FIFO_CHECK
 208  003C              FIFO4_WR_CHECK:
 209  003C  0722        		MOV		A,UCC
 210  003D  0D07        		OR		A,00000111b
 211  003E  0EFC        		AND		A,11111100b
 212  003F  00A2        		MOV		UCC,A
 213  0040              		
 214  0040  0F02        		MOV		A,00000010b
 215  0041  2800     R  		JMP		FIFO_CHECK
 216  0042              
 217  0042              FIFO5_WR_CHECK:
 218  0042  0722        		MOV		A,UCC
 219  0043  0D07        		OR		A,00000111b
 220  0044  0EFD        		AND		A,11111101b
 221  0045  00A2        		MOV		UCC,A
 222  0046              		
 223  0046  0F02        		MOV		A,00000010b
 224  0047  2800     R  		JMP		FIFO_CHECK
 225  0048              
 226  0048              FIFO_CHECK:
 227  0048  0001        		clr wdt	
 228  0049  0080     E  		MOV		FIFO_TEMP,A
 229  004A  0F26        		MOV		A,USB_MISC
 230  004B  0083        		MOV		MP1,A
 231  004C  0702        		MOV		A,R1
 232  004D  0EF8        		AND		A,11111000b
 233  004E  0500     E  		OR		A,FIFO_TEMP
 234  004F  0082        		MOV		R1,A
 235  0050  2000     R  		CALL		Delay_3us
"File: FUNCTION.ASM  Holtek Cross-Assembler  Version 2.86      Page 5

 236  0051  3002        		SET		R1.@MISC_REQ			;set request
 237  0052  2000     R  		CALL		Delay_28us
 238  0053  3000     E  		SET		bFlag_FIFO_Ready
 239  0054  3B02        		SNZ		R1.@MISC_Ready
 240  0055  3400     E  		CLR		bFlag_FIFO_Ready	;if MISC.Ready = 1 -> bFlag_FIFO_Ready = 1
 241  0056  3000     E  		SET		bFlag_FIFO_LEN0
 242  0057  3B82        		SNZ		R1.@MISC_LEN0
 243  0058  3400     E  		CLR		bFlag_FIFO_LEN0
 244  0059              
 245  0059              		;;SZ		bFlag_FIFO_Ready
 246  0059  3426        		clr		MISC.@MISC_REQ
 247  005A  0001        		clr wdt	
 248  005B  0003        		RET
 249  005C              
 250  005C              ;modify 2006-09-22
 251  005C              ReadLen0:
 252  005C  0F28        		MOV		A,USB_FIFO0
 253  005D  0083        		MOV		MP1,A
 254  005E  0702        		MOV		A,R1
 255  005F  0000        		NOP
 256  0060  2800     R  		JMP		Read_FIFO_END
 257  0061              Read_FIFO0:
 258  0061  0F08        		MOV		A,USB_FIFO0_SIZE
 259  0062  0080     E  		MOV		FIFO_SIZE,A
 260  0063  0F28        		MOV		A,USB_FIFO0
 261  0064  2800     R  		JMP		Read_FIFO
 262  0065              Read_FIFO1:
 263  0065  0F08        		MOV		A,USB_FIFO1_SIZE
 264  0066  0080     E  		MOV		FIFO_SIZE,A
 265  0067  0F29        		MOV		A,USB_FIFO1
 266  0068  2800     R  		JMP		Read_FIFO
 267  0069              Read_FIFO2:
 268  0069  0F08        		MOV		A,USB_FIFO2_SIZE
 269  006A  0080     E  		MOV		FIFO_SIZE,A
 270  006B  0F2A        		MOV		A,USB_FIFO2
 271  006C  2800     R  		JMP		Read_FIFO
 272  006D              Read_FIFO3:
 273  006D  0F08        		MOV		A,USB_FIFO3_SIZE
 274  006E  0080     E  		MOV		FIFO_SIZE,A
 275  006F  0F2B        		MOV		A,USB_FIFO3
 276  0070  2800     R  		JMP		Read_FIFO
 277  0071              Read_FIFO4:
 278  0071  0F08        		MOV		A,USB_FIFO4_SIZE
 279  0072  0080     E  		MOV		FIFO_SIZE,A
 280  0073  0F2C        		MOV		A,USB_FIFO4
 281  0074  2800     R  		JMP		Read_FIFO
 282  0075              Read_FIFO5:
 283  0075  0F08        		MOV		A,USB_FIFO5_SIZE
 284  0076  0080     E  		MOV		FIFO_SIZE,A

⌨️ 快捷键说明

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