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

📄 channeltable.asm

📁 w588d开发例程
💻 ASM
📖 第 1 页 / 共 4 页
字号:
			.ENDIF
		.ENDIF	
	.ENDIF	
.ENDIF	
;================================================================================	
	PUBLIC SP_TM_DIVISION_MAP_ADDR_TABLE	
SP_TM_DIVISION_MAP_ADDR_TABLE:
.IF (WITH_SP .EQ. 1)
	.IF (CHIPSERIES = 'W583C')
		.IF (WITH_VS1A .EQ. 1)
		DW SP_TM1_DIV_MAP_TABLE
		.ENDIF		
	.ENDIF
	.IF (CHIPSERIES = 'W588C')
		.IF (WITH_VS1A .EQ. 1)
		DW SP_TM1_DIV_MAP_TABLE
		.ENDIF

		.IF (WITH_VS2A .EQ. 1)
		DW SP_TM2_DIV_MAP_TABLE
		.ENDIF			
	.ENDIF
	.IF (CHIPSERIES = 'W588D')
		.IF (WITH_TONE .EQ. 0)
			.IF (WITH_VS1A .EQ. 1)
			DW SP_TM1_DIV_MAP_TABLE
			.ENDIF
			
			.IF (WITH_VS2A .EQ. 1)
			DW SP_TM2_DIV_MAP_TABLE
			.ENDIF
			
			.IF (WITH_VS0A .EQ. 1)
			DW SP_TM0_DIV_MAP_TABLE
			.ENDIF
		
		.ELSE			;WITH_TONE=1
			.IF (WITH_VS0A .EQ. 1)
			DW SP_TM0_DIV_MAP_TABLE
			.ENDIF	
			
			.IF (WITH_VS1A .EQ. 1)
			DW SP_TM1_DIV_MAP_TABLE
			.ENDIF
			
			.IF (WITH_VS2A .EQ. 1)
			DW SP_TM2_DIV_MAP_TABLE
			.ENDIF
		
		.ENDIF
	.ENDIF
.ENDIF

	PUBLIC HQ_TM_DIVISION_MAP_ADDR_TABLE
HQ_TM_DIVISION_MAP_ADDR_TABLE:
.IF (WITH_MS .EQ. 1)
	.IF (CHIPSERIES = 'W588C')
		DW SP_TM2_DIV_MAP_TABLE
		DW SP_TM1_DIV_MAP_TABLE
	.ENDIF	
	.IF (CHIPSERIES = 'W588D')
		.IF (WITH_TONE .EQ. 0)
			.IF (WITH_SP .EQ. 0)
				DW SP_TM0_DIV_MAP_TABLE
				DW SP_TM2_DIV_MAP_TABLE
				DW SP_TM1_DIV_MAP_TABLE
				
			.ELSE ;WITH_SP .EQ. 1
				DW SP_TM1_DIV_MAP_TABLE
				DW SP_TM2_DIV_MAP_TABLE
				DW SP_TM0_DIV_MAP_TABLE
				
			.ENDIF
		.ELSE		;WITH_TONE=1
			DW SP_TM2_DIV_MAP_TABLE
			DW SP_TM1_DIV_MAP_TABLE
			DW SP_TM0_DIV_MAP_TABLE
			
		.ENDIF					
	.ENDIF	
	DW 0000H
.ENDIF	
;---------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------

	.IF (WITH_VS0A .EQ. 1)
SP_TM0_DIV_MAP_TABLE:
	DB 00H
	DB 08H
	DB 02H	
	.ENDIF

;---------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------	
	.IF (WITH_VS1A .EQ. 1).OR.(WITH_VS2A .EQ. 1)
SP_TM1_DIV_MAP_TABLE:
SP_TM2_DIV_MAP_TABLE:
	DB 00H
	DB 02H
	DB 08H		
	.ENDIF	
		
;================================================================================	
	PUBLIC SP_SUPPORT_SIM_BUF	
SP_SUPPORT_SIM_BUF:
	.IF (CHIPBODY='W588D300').OR. (CHIPBODY='W588D350').OR. (CHIPBODY='W588D400')
		.IF (WITH_SIM_TYPE .EQ. 0)	;W55F
			DB 31H	
			DB 39H	
		.ENDIF
		.IF (WITH_SIM_TYPE .EQ. 1)	;SPI,angela 2006.06.09
			DB 35H
			DB 3DH
		.ENDIF	
			DB 0
	.ELSE
		.IF (WITH_SIM_TYPE .EQ. 0)	;W55F
			DB 31H	
			DB 0	
		.ENDIF
		.IF (WITH_SIM_TYPE .EQ. 1)	;SPI,angela 2006.06.09
			DB 35H
			DB 0
		.ENDIF	
			DB 0
	.ENDIF
		
;--------------------------------------------------------------------------------------------------------------------	
;--------------------------------------------------------------------------------------------------------------------	
	
	PUBLIC SP_CH_SIM_BUF_LOOP_FLAG  ;COMMON_FLAG: specify channel 1/2 i-f need loop sic
SP_CH_SIM_BUF_LOOP_FLAG: 
	.IF (CHIPBODY='W588D300').OR. (CHIPBODY='W588D350').OR. (CHIPBODY='W588D400')
	DB SP_SIM_BUF_LOOP_FLAG_VS0A
	DB SP_SIM_BUF_LOOP_FLAG_VS1A			
	DB 0
	.ELSE	
	DB SP_SIM_BUF_LOOP_FLAG_VS0A
	DB 0			
	DB 0
	.ENDIF

;--------------------------------------------------------------------------------------------------------------------
;--------------------------------------------------------------------------------------------------------------------			
	PUBLIC SP_CH_SIM_BUF_SET
SP_CH_SIM_BUF_SET:
	.IF (CHIPBODY='W588D300').OR. (CHIPBODY='W588D350').OR. (CHIPBODY='W588D400')
		.IF (WITH_SIM_TYPE .EQ. 0)	;W55F
			DB 01H ;x-buffer
			DB 09H ;y-buffer
		.ENDIF
		.IF (WITH_SIM_TYPE .EQ. 1)	;SPI,angela 2006.06.09
			DB 05H ;x-buffer
			DB 0DH ;y-buffer
		.ENDIF	
			DB 00H  ;not support
	.ELSE	
		.IF (WITH_SIM_TYPE .EQ. 0)	;W55F
			DB 01H ;x-buffer
			DB 00H
		.ENDIF
		.IF (WITH_SIM_TYPE .EQ. 1)	;SPI,angela 2006.06.09
			DB 05H ;x-buffer
			DB 00H
		.ENDIF	
			DB 00H  ;not support
	.ENDIF	
	
;------------------------------------------------------------------------
	PUBLIC	SP_LO_INDEX_TABLE
	PUBLIC	SP_HI_INDEX_TABLE
	PUBLIC	MS_LO_INDEX_TABLE
	PUBLIC	MS_HI_INDEX_TABLE

;-------------------------------------------------------
; For W588 Timer and Channel Assignment Mapping
; 0:VS1->TMG->SP0C
; 1:VS0->TM0->SP0A
; 2:VS2->TM1->SP0B
;--------------------------------------------------------
SP_LO_INDEX_TABLE:
	.IF (CHIPSERIES = 'W583C')
		.IF (WITH_VS1A .EQ. 1)
		DB SP0AL-SP0AL
		.ENDIF
	.ENDIF
	.IF (CHIPSERIES = 'W588C')
		.IF (WITH_VS1A .EQ. 1)
		DB SP0AL-SP0AL
		.ENDIF
					
		.IF (WITH_VS2A .EQ. 1)
		DB SP0BL-SP0AL
		.ENDIF
	.ENDIF
	.IF (CHIPSERIES = 'W588D')
		.IF (WITH_TONE .EQ. 0)
			.IF (WITH_VS1A .EQ. 1)
			DB SP0AL-SP0AL
			.ENDIF
			
			.IF (WITH_VS2A .EQ. 1)
			DB SP0BL-SP0AL
			.ENDIF
			
			.IF (WITH_VS0A .EQ. 1)
			DB SP0CL-SP0AL
			.ENDIF
		.ELSE 			;WITH_TONE=1
			.IF (WITH_VS0A .EQ. 1)
			DB SP0CL-SP0AL
			.ENDIF
			
			.IF (WITH_VS1A .EQ. 1)
			DB SP0AL-SP0AL
			.ENDIF
			
			.IF (WITH_VS2A .EQ. 1)
			DB SP0BL-SP0AL
			.ENDIF	
		.ENDIF
	.ENDIF
	DB FFH
;----------------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------------
SP_HI_INDEX_TABLE:
	.IF (CHIPSERIES = 'W583C')
		.IF (WITH_VS1A .EQ. 1)
		DB SP0A-SP0A
		.ENDIF
	.ENDIF
	.IF (CHIPSERIES = 'W588C')
		.IF (WITH_VS1A .EQ. 1)
		DB SP0A-SP0A
		.ENDIF
		
		.IF (WITH_VS2A .EQ. 1)
		DB SP0B-SP0A
		.ENDIF
	.ENDIF
	.IF (CHIPSERIES = 'W588D')
		.IF (WITH_TONE .EQ. 0)
			.IF (WITH_VS1A .EQ. 1)
			DB SP0A-SP0A
			.ENDIF
			
			.IF (WITH_VS2A .EQ. 1)
			DB SP0B-SP0A
			.ENDIF
			
			.IF (WITH_VS0A .EQ. 1)
			DB SP0C-SP0A
			.ENDIF		
			
		.ELSE		;WITH_TONE=1
			.IF (WITH_VS0A .EQ. 1)
			DB SP0C-SP0A
			.ENDIF
			
			.IF (WITH_VS1A .EQ. 1)
			DB SP0A-SP0A
			.ENDIF
			
			.IF (WITH_VS2A .EQ. 1)
			DB SP0B-SP0A
			.ENDIF
		
		.ENDIF
	.ENDIF

;-----------------------------------------------------------------------------------------
;-----------------------------------------------------------------------------------------
MS_LO_INDEX_TABLE:
	.IF (CHIPSERIES = 'W588C')
			.IF (WITH_VS2A .EQ. 1)
			DB SP0BL-SP0AL
			.ENDIF
			
			.IF (WITH_VS1A .EQ. 1)
			DB SP0AL-SP0AL
			.ENDIF			
	.ENDIF
	.IF (CHIPSERIES = 'W588D')
		.IF (WITH_TONE .EQ. 0)
			.IF (WITH_SP .EQ. 0)
		
				.IF (WITH_VS0A .EQ. 1)
				DB SP0CL-SP0AL
				.ENDIF
			
				.IF (WITH_VS2A .EQ. 1)
				DB SP0BL-SP0AL
				.ENDIF
				
				.IF (WITH_VS1A .EQ. 1)
				DB SP0AL-SP0AL
				.ENDIF	
			
			.ELSE	
				.IF (WITH_VS1A .EQ. 1)
				DB SP0AL-SP0AL
				.ENDIF
			
				.IF (WITH_VS2A .EQ. 1)
				DB SP0BL-SP0AL
				.ENDIF
				
				.IF (WITH_VS0A .EQ. 1)
				DB SP0CL-SP0AL
				.ENDIF	
			.ENDIF
			
		.ELSE			;WITH_TONE=1
			.IF (WITH_VS2A .EQ. 1)
			DB SP0BL-SP0AL
			.ENDIF
			
			.IF (WITH_VS1A .EQ. 1)
			DB SP0AL-SP0AL
			.ENDIF
			
			.IF (WITH_VS0A .EQ. 1)
			DB SP0CL-SP0AL
			.ENDIF
		.ENDIF
	.ENDIF
	DB FFH	

;---------------------------------------------------------------------------------
;--------------------------------------------------------------------------------
MS_HI_INDEX_TABLE:
	.IF (CHIPSERIES = 'W588C')
			.IF (WITH_VS2A .EQ. 1)
			DB SP0B-SP0A
			.ENDIF
			
			.IF (WITH_VS1A .EQ. 1)
			DB SP0A-SP0A
			.ENDIF			
	.ENDIF
	.IF (CHIPSERIES = 'W588D')
		.IF (WITH_TONE .EQ. 0)
			.IF (WITH_SP .EQ. 0)
				.IF (WITH_VS0A .EQ. 1)
				DB SP0C-SP0A
				.ENDIF
			
				.IF (WITH_VS2A .EQ. 1)
				DB SP0B-SP0A
				.ENDIF
				
				.IF (WITH_VS1A .EQ. 1)
				DB SP0A-SP0A
				.ENDIF	
			.ELSE	
				.IF (WITH_VS1A .EQ. 1)
				DB SP0A-SP0A
				.ENDIF
			
				.IF (WITH_VS2A .EQ. 1)
				DB SP0B-SP0A
				.ENDIF
				
				.IF (WITH_VS0A .EQ. 1)
				DB SP0C-SP0A
				.ENDIF	
			.ENDIF	
			
		.ELSE			;WITH_TONE=1
			.IF (WITH_VS2A .EQ. 1)
			DB SP0B-SP0A
			.ENDIF
			
			.IF (WITH_VS1A .EQ. 1)
			DB SP0A-SP0A
			.ENDIF
			
			.IF (WITH_VS0A .EQ. 1)
			DB SP0C-SP0A
			.ENDIF
		.ENDIF
	.ENDIF

;------------------------------------------------------------------------
;
;------------------------------------------------------------------------
	.IF (WITH_T_BUFFER .EQ. 1)

	PUBLIC	SP_LO_T_INDEX_TABLE
	PUBLIC	SP_HI_T_INDEX_TABLE
	PUBLIC	MS_LO_T_INDEX_TABLE
	PUBLIC	MS_HI_T_INDEX_TABLE

SP_LO_T_INDEX_TABLE:
	.IF (CHIPSERIES = 'W583C')
		.IF (WITH_VS1A .EQ. 1)
		DB SP0ALT-SP0ALT
		.ENDIF
	.ENDIF
	.IF (CHIPSERIES = 'W588C')
		.IF (WITH_VS1A .EQ. 1)
		DB SP0ALT-SP0ALT
		.ENDIF
		
		.IF (WITH_VS2A .EQ. 1)
		DB SP0BLT-SP0ALT
		.ENDIF
	.ENDIF
	.IF (CHIPSERIES = 'W588D')
		.IF (WITH_TONE .EQ. 0)
			.IF (WITH_VS1A .EQ. 1)
			DB SP0ALT-SP0ALT
			.ENDIF
			
			.IF (WITH_VS2A .EQ. 1)
			DB SP0BLT-SP0ALT
			.ENDIF
			
			.IF (WITH_VS0A .EQ. 1)
			DB SP0CLT-SP0ALT
			.ENDIF
		.ELSE 			;WITH_TONE=1
			.IF (WITH_VS0A .EQ. 1)
			DB SP0CLT-SP0ALT
			.ENDIF
			
			.IF (WITH_VS1A .EQ. 1)
			DB SP0ALT-SP0ALT
			.ENDIF
			
			.IF (WITH_VS2A .EQ. 1)
			DB SP0BLT-SP0ALT
			.ENDIF	
		.ENDIF		
	.ENDIF
	DB FFH
;-------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------		

SP_HI_T_INDEX_TABLE:
	.IF (CHIPSERIES = 'W583C')
		.IF (WITH_VS1A .EQ. 1)
		DB SP0AT-SP0AT
		.ENDIF
	.ENDIF
	.IF (CHIPSERIES = 'W588C')
		.IF (WITH_VS1A .EQ. 1)
		DB SP0AT-SP0AT
		.ENDIF
		
		.IF (WITH_VS2A .EQ. 1)
		DB SP0BT-SP0AT
		.ENDIF		
	.ENDIF
	.IF (CHIPSERIES = 'W588D')
		.IF (WITH_TONE .EQ. 0)
			.IF (WITH_VS1A .EQ. 1)
			DB SP0AT-SP0AT
			.ENDIF
			
			.IF (WITH_VS2A .EQ. 1)
			DB SP0BT-SP0AT
			.ENDIF
			
			.IF (WITH_VS0A .EQ. 1)
			DB SP0CT-SP0AT
			.ENDIF		
			
		.ELSE		;WITH_TONE=1
			.IF (WITH_VS0A .EQ. 1)
			DB SP0CT-SP0AT
			.ENDIF
			
			.IF (WITH_VS1A .EQ. 1)
			DB SP0AT-SP0AT
			.ENDIF
			
			.IF (WITH_VS2A .EQ. 1)
			DB SP0BT-SP0AT
			.ENDIF		
		.ENDIF
	.ENDIF	
	
MS_LO_T_INDEX_TABLE:
	.IF (CHIPSERIES = 'W588C')
			.IF (WITH_VS2A .EQ. 1)
			DB SP0BLT-SP0ALT
			.ENDIF
			
			.IF (WITH_VS1A .EQ. 1)
			DB SP0ALT-SP0ALT
			.ENDIF			
	.ENDIF
	.IF (CHIPSERIES = 'W588D')
		.IF (WITH_TONE .EQ. 0)
			.IF (WITH_SP .EQ. 0)
				.IF (WITH_VS0A .EQ. 1)
				DB SP0CLT-SP0ALT
				.ENDIF
			
				.IF (WITH_VS2A .EQ. 1)
				DB SP0BLT-SP0ALT
				.ENDIF
				
				.IF (WITH_VS1A .EQ. 1)
				DB SP0ALT-SP0ALT
				.ENDIF	
			.ELSE	
				.IF (WITH_VS1A .EQ. 1)
				DB SP0ALT-SP0ALT
				.ENDIF
			
				.IF (WITH_VS2A .EQ. 1)
				DB SP0BLT-SP0ALT
				.ENDIF
				
				.IF (WITH_VS0A .EQ. 1)
				DB SP0CLT-SP0ALT
				.ENDIF	
			.ENDIF	
			
		.ELSE			;WITH_TONE=1
			.IF (WITH_VS2A .EQ. 1)
			DB SP0BLT-SP0ALT
			.ENDIF
			
			.IF (WITH_VS1A .EQ. 1)
			DB SP0ALT-SP0ALT
			.ENDIF
			
			.IF (WITH_VS0A .EQ. 1)
			DB SP0CLT-SP0ALT
			.ENDIF
		.ENDIF
	.ENDIF

MS_HI_T_INDEX_TABLE:
	.IF (CHIPSERIES = 'W588C')
			.IF (WITH_VS2A .EQ. 1)
			DB SP0BT-SP0AT
			.ENDIF
			
			.IF (WITH_VS1A .EQ. 1)
			DB SP0AT-SP0AT
			.ENDIF			
	.ENDIF
	.IF (CHIPSERIES = 'W588D')
		.IF (WITH_TONE .EQ. 0)
			.IF (WITH_SP .EQ. 0)
				.IF (WITH_VS0A .EQ. 1)
				DB SP0CT-SP0AT
				.ENDIF
			
				.IF (WITH_VS2A .EQ. 1)
				DB SP0BT-SP0AT
				.ENDIF
				
				.IF (WITH_VS1A .EQ. 1)
				DB SP0AT-SP0AT
				.ENDIF	
			.ELSE	
				.IF (WITH_VS1A .EQ. 1)
				DB SP0AT-SP0AT
				.ENDIF
			
				.IF (WITH_VS2A .EQ. 1)
				DB SP0BT-SP0AT
				.ENDIF
				
				.IF (WITH_VS0A .EQ. 1)
				DB SP0CT-SP0AT
				.ENDIF	
			.ENDIF	
			
		.ELSE			;WITH_TONE=1
			.IF (WITH_VS2A .EQ. 1)
			DB SP0BT-SP0AT
			.ENDIF
			
			.IF (WITH_VS1A .EQ. 1)
			DB SP0AT-SP0AT
			.ENDIF
			
			.IF (WITH_VS0A .EQ. 1)
			DB SP0CT-SP0AT
			.ENDIF
		.ENDIF
	.ENDIF
.ENDIF	
;------------------------------------------------------------------------
	PUBLIC DIS_UIO_EVENT_FLAG  ;COMMON_FLAG2: en/dis UIO event for speech channel
DIS_UIO_EVENT_FLAG: 
	DB DIS_UIO_EVENT_FLAG_CH0
	DB DIS_UIO_EVENT_FLAG_CH1			
	DB DIS_UIO_EVENT_FLAG_CH2
.ENDIF
	.ENDS	

⌨️ 快捷键说明

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