亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dtmfsub.asm

?? 運行環境:CCS2.1
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
	 sth	B,*AR4+		; store result E[k] into energy data block
goer4				;}


;------------------------------------------------------------------------
; Initialize Filter Taps to zero for next round
;
;------------------------------------------------------------------------
	ld	*AR5(1),A
	stlm	A,AR2		;AR2 points to beginning of filter taps
	ld	#0,A
	rpt	#(20-1)		;for(i=0;i<20;i++)
	 stl	A,*AR2+		;   initialize filter taps for next round

goer5	popm	AR7
	popm	AR6
	popm	AR1
	popm	ST1
	popm	ST0
	ret




**************************************************************************
* SUBROUTINE: dtmf_checks             (approx 1544 cycles)
*
* Input:  ptr to DTMFDECOBJ
* Output: none
* Uses:
*
* Description:
*  - maximum search
*  - DTMF status check
*  - signal strength check
*  - twist check
*  - relative peak check
*  - 2nd harmonic check
*	conditional computation of 2nd harmonics energies
*  - digit validation
*
**************************************************************************

_dtmfchecks:
	nop
	pshm	ST0
	pshm	ST1
	pshm	AR1
	pshm	AR6
	pshm	AR7
	nop
	frame	#0		;---- local variables -----
				; none
				;---- arguments -----------
				; (A)    = ptr to dtmfchannel struct
	ssbx	FRCT
	stlm	A,AR5		;AR5 is used as ptr to dtmfchannel struct
				; *AR5(0) = ptr to data
				; *AR5(1) = ptr to taps
				; *AR5(2) = ptr to energy template
				; *AR5(3) = digitptr
				; *AR5(4) = digitlast
				; *AR5(5) = detectstat
				; *AR5(6) = err_flags


;------------------------------------------------------------------------
; Alternative Maximum search
; result: AR3 points to max row energy ROWMAX
;         AR4 points to max col energy COLMAX
;------------------------------------------------------------------------
max_search:
	ld	*AR5(2),A
	stlm	A,AR2		;AR2 points to ENERGY table (row energies)
	mvmm	AR2,AR3		;AR3 points to ENERGY table
	stm	#(4-1),BRC
	rptb	max1-1		;for(k=0;k<4;k++)
	ld	*AR3,A		;   (A)=oldmax
	sub	*AR2,A		;   (A)=oldmax-E[k]
	bc	max11,AGT	;   if(oldmax < E[k])
	mvmm	AR2,AR3		;      AR3 points to newmax
max11	mar	*AR2+		;   increment pointer
max1				;result: AR3 points to ROWMAX
				;        AR2 points to column energies

	mvmm	AR2,AR4		;AR4 points to ENERGY table (column energies)
	stm	#(4-1),BRC
	rptb	max2-1		;for(k=0;k<4;k++)
	ld	*AR4,A		;   (A)=oldmax
	sub	*AR2,A		;   (A)=oldmax-E[k]
	bc	max21,AGT	;   if(oldmax < E[k])
	mvmm	AR2,AR4		;      AR4 points to newmax
max21	mar	*AR2+		;   increment pointer
max2				;result: AR4 points to COLMAX
				;        AR2 points to column energies


;----------------------------------------------------------------------
; DTMF Status Check:
;   if(detectstat == 0) 
;      if( max(ROWMAX,COLMAX) < THR_PAU )
;         detectstat = 1, detector enabled
;      terminate all checks
;   else
;      continue
;
; AR3 points to ROWMAX
; AR4 points to COLMAX
;----------------------------------------------------------------------
stat_check
	andm	#0080h,*AR5(6)	;clear error flags, except OVA
	bitf	*AR5(5),#0001h	;

	bc	stat1,NTC	;if(detectstat == 1)
	ld	*AR5(5),A	;   load detectstat
	and	#0F00h,A	;   mask out duration bits
	sftl	A,1		;   shift duration bits
	andm	#0001h,*AR5(5)	;   retain only detect status bit
	or	*AR5(5),A	;   or in duration bits
	stl	A,*AR5(5)	;   write back to detectstat
	b	sig_check	;   continue with sig_check

stat1	ld	*AR3,A		;else
	ld	*AR4,B		;
	max	A		;  (A)=max(ROWMAX,COLMAX)
	sub	#THR_PAU,A	;  (A)=max(ROWMAX,COLMAX) - THR_PAU
	bc	stat2,ageq	;  if((A)<0)
	st	#0001h,*AR5(5)	;     detectstat = 1
stat2	b	ende		;  terminate all checks


;----------------------------------------------------------------------
; Signal strength check:
;    if(ROWMAX+COLMAX > THR_SIG)  continue
;    else  terminate all checks
;
; AR3 points to ROWMAX
; AR4 points to COLMAX
;----------------------------------------------------------------------
sig_check:
	ld	*AR3,A
	add	*AR4,A		;(A) = ROWMAX+COLMAX
	sub	#THR_SIG1,A,B	;
	bc	ende,BLEQ	;if(ROWMAX+COLMAX <= THR_SIG1) 
				;    signal is not possible tone
				;    terminate checks
	sub	#THR_SIG2,A,B	;
	bc	err_sig,BLEQ	;if(ROWMAX+COLMAX <= THR_SIG2)
				;    signal is possible tone
				;    however does not meet THR_SIG2
				;    branch to err_sig
	b	twist_check

err_sig:			;**** record signal strength error ****
	orm	#0001h,*AR5(6)	; set signal strength error flag (b0)
	b	ende		; terminate checks


;----------------------------------------------------------------------
; Twist check:
;    if(ROWMAX > COLMAX)   
;       check reverse twist:
;       if((COLMAX/ROWMAX) > THR_REVTWI)   continue
;       else terminate all checks
;    else                  
;       check standard twist:
;       if((ROWMAX/COLMAX) > THR_STDTWI)   continue
;       else  terminate all check
;
; AR3 points to ROWMAX
; AR4 points to COLMAX
;----------------------------------------------------------------------
twist_check:
	ld	*AR3,A
	sub	*AR4,A
	bc	twist2,ALEQ	;if(ROWMAX > COLMAX)

twist1	ld	*AR4,16,A	;   (AH)=COLMAX
	rpt	#(16-1)		;
	 subc	*AR3,A		;   compute (COLMAX/ROWMAX)
	and	#0ffffh,A	;   retain quotient (AL), mask remainder
	sfta	A,15		;   shift quotient into AH
	sub	#THR_REVTWI,16,A;
	bc	err_revtwi,ALEQ	;   if((COLMAX/ROWMAX) <= THR_REVTWI)
				;      branch to err_revtwi
	b	rel_check	
				;else
twist2	ld	*AR3,16,A	;   (AH)=ROWMAX
	rpt	#(16-1)		;
	 subc	*AR4,A		;   compute (ROWMAX/COLMAX)
	and	#0ffffh,A	;   retain quotient (AL), mask remainder
	sfta	A,15		;   shift quotient into AH
	sub	#THR_STDTWI,16,A;
	bc	err_stdtwi,ALEQ	;   if((COLMAX/ROWMAX) <= THR_STDTWI)
				;      branch to err_stdtwi
	b	rel_check

err_revtwi:			;**** record reverse twist error ****
	orm	#0002h,*AR5(6)	; set reverse twist error flag (b1)
	b	ende		; terminate checks

err_stdtwi:			;**** record standard twist error ****
	orm	#0004h,*AR5(6)	; set standard twist error flag (b2)
	b	ende		; terminate checks


;----------------------------------------------------------------------
; Relative peak check:
;    
;    find rel row peak --> RELPEAK
;    if(RELPEAK/ROWMAX < THR_ROWREL)  continue
;    else terminate all checks
;
;    find rel col peak --> RELPEAK
;    if(RELPEAK/COLMAX < THR_ROWREL)  continue
;    else terminate all checks
;
; AR3 points to ROWMAX
; AR4 points to COLMAX
;----------------------------------------------------------------------
rel_check:			;------ relative row peak ratio check -------
	ld	*AR5(2),A	;
	stlm	A,AR0		;AR0 points to ENERGY table (row frequencies)
	ld	#0,B		;(BH)=0
	stm	#(4-1),BRC	;
	rptb	rel12-1		;for(k=0;k<4;k++)
	 ld	*AR0,16,A	;  (AH)=E[k]
	 cmpr	0,AR3		; 
	 bc	rel11,TC	;  if(AR0==AR3)
	 max	B		;    (B)=newmax=max(oldmax,E[k])
rel11	 mar	*AR0+		;
	
rel12	rpt	#(16-1)		;
	 subc	*AR3,B		;compute (RELPEAK/ROWMAX)
	and	#0ffffh,B	;retain quotient (BL), mask remainder
	sfta	B,15		;shift quotient into BH
	sub	#THR_ROWREL,16,B;
	bc	err_rowrel,BGEQ	;if((RELPEAK/ROWMAX) >= THR_ROWREL)
				;      branch to err_rowrel

				;------ relative column peak ratio check ----
rel2	ld	#0,B		;(BH)=0
	stm	#(4-1),BRC	;
	rptb	rel22-1		;for(k=4;k<8;k++)
	 ld	*AR0,16,A	;  (AH)=E[k]
	 cmpr	0,AR4		; 
	 bc	rel21,TC	;  if(AR0==AR4)
	 max	B		;    (B)=newmax=max(oldmax,E[k])
rel21	 mar	*AR0+		;
		
rel22	rpt	#(16-1)		;
	 subc	*AR4,B		;compute (RELPEAK/COLMAX)
	and	#0ffffh,B	;retain quotient (BL), mask remainder
	sfta	B,15		;shift quotient into BH
	sub	#THR_COLREL,16,B;
	bc	err_colrel,BGEQ	;if((RELPEAK/COLMAX) >= THR_COLREL)
				;      branch to err_colrel
	b	sec_check

err_rowrel:			;**** record row's rel peak error ****
	orm	#0008h,*AR5(6)	; set row's rel peak error flag (b3)
	b	ende		; terminate checks

err_colrel			;**** record col's rel peak error ****
	orm	#0010h,*AR5(6)	; set col's rel peak error flag (b4)
	b	ende		; terminate checks


;----------------------------------------------------------------------
; Second Harmonics check
;    if( (ROW2nd/ROWMAX) < THR_ROW2nd )  continue
;    else terminate all checks
;
;    if( (COL2nd/COLMAX) < THR_COL2nd )  continue
;    else terminate all checks
;
; AR3 points to ROWMAX
; AR4 points to COLMAX
;----------------------------------------------------------------------
sec_check:
	mvmm	AR3,AR6		;backup AR3
	mvmm	AR4,AR7		;backup AR4

	;=========== 2nd harmonics check for rows ===========
				;----- define ptr to coeff tbl (AR3) -----
	ld	*AR5(2),A	;load pointer to coeffs from struct
	stlm	A,AR0		;AR0 points to energy template
	nop
	nop			;pipeline latencies
	mar	*AR3-0		;AR3 contains displacement in energy template
	mvmm	AR3,AR1		;save displacement in AR1
	stm	#COEF2nd,AR0	;AR0 points to 2nd harm coefficients
	mar	*AR3+0		;AR3 points to desired coefficient

				;----- define ptr to taps array (AR4) -----
	ld	*AR5(1),A	;load pointer to taps from struct
	add	#3,A		;
	stlm	A,AR4		;AR4 points to row's 2nd harm tap

				;----- define ptr to energy (AR1) ------
	ld	*AR5(2),A	;
	add	#8,A		;
	stlm	A,AR1		;AR1 points to row's 2nd harm in energy template

				;----- compute goertzel filter -----
	ld	#0,ASM		;ASM=0
	ld	*AR5(0),A	;
	stlm	A,AR2		;AR2 points to data
	stm	#(N-1),BRC	;
	ld	*AR2+,16,A	;(AH) = x(n)
	rptb	sec1-1		;for(n=0;n<N;n++)	{
	 sub	*AR4-,16,A,B	;   (B) = -vk(n-2) + x(n)
	 mac	*AR4,*AR3,B	;   (B) = coef*vk(n-1) - vk(n-2) + x(n)
	 mac	*AR4,*AR3,B	;   (B) = 2*coef*vk(n-1) - vk(n-2) + x(n)
	 delay	*AR4		;   vk(n-1) ---> vk(n-2)
	 st	B,*AR4+		;   (B)     ---> vk(n-1)
	|| ld	*AR2+,A		;   (AH) = x(n)
sec1				;}
				;----- compute energy --------------
	ld	*AR4,16,A	; (A) = vk(N-1), A(32:16) loaded
	mpya	*AR4-		; (B) = vk(N-1)*vk(N-1), (T) = vk(N-1)
	mpy	*AR4,A		; (A) = vk(N)*vk(N-1)
	ld	*AR3+,T		; (T) = coef
	mpya	A		; (A) = coef*vk(N)*vk(N-1)
	sub	A,1,B		; (B) = -2*coef*vk(N)*vk(N-1) + vk(N-1)*vk(N-1)
	ld	*AR4,T		; (T) = vk(N)
	mac	*AR4,B		; (B) = vk(N)*vk(N) - 2*coef*vk(N)*vk(N-1) + vk(N-1)*vk(N-1)
	sth	B,*AR1		; store result E[k] into energy template

				;----- check threshold condition ------
	ld	*AR1,16,A	;(AH)=ROW2nd
	sub	*AR6,16,A,B	;(BH)=ROW2nd-ROWMAX
	bc	err_row2nd,BGEQ	;if(ROW2nd<ROWMAX)
	rpt	#(16-1)		;
	 subc	*AR6,A		;   compute (ROW2nd/ROWMAX)
	and	#0ffffh,A	;   retain quotient (AL), mask remainder
	sfta	A,15		;   shift quotient into AH
	sub	#THR_ROW2nd,16,A;
	bc	err_row2nd,AGEQ	;   if((ROW2nd/ROWMAX) >= THR_ROW2nd)
				;      branch to err_row2nd



	;=========== 2nd harmonics check for columns ===========
				;----- define ptr to coeff tbl (AR3) -----
	mvmm	AR7,AR3		;AR3 points to COLMAX
	ld	*AR5(2),A	;load pointer to coeffs from struct
	stlm	A,AR0		;AR0 points to energy template
	nop
	nop			;pipeline latencies
	mar	*AR3-0		;AR3 contains displacement in energy template
	mvmm	AR3,AR1		;save displacement in AR1
	stm	#COEF2nd,AR0	;AR0 points to 2nd harm coefficients
	mar	*AR3+0		;AR3 points to desired coefficient

				;----- define ptr to taps array (AR4) -----
	ld	*AR5(1),A	;load pointer to taps from struct
	add	#1,A		;
	stlm	A,AR4		;AR4 points to column's 2nd harm tap

				;----- define ptr to energy (AR1) ------
	ld	*AR5(2),A	;
	add	#9,A		;
	stlm	A,AR1		;AR1 points to column's 2nd harm in energy template

				;----- compute goertzel filter -----
	ld	#0,ASM		;ASM=0
	ld	*AR5(0),A	;
	stlm	A,AR2		;AR2 points to data
	stm	#(N-1),BRC	;
	ld	*AR2+,16,A	;(AH) = x(n)
	rptb	sec2-1		;for(n=0;n<N;n++)	{
	 sub	*AR4-,16,A,B	;   (B) = -vk(n-2) + x(n)
	 mac	*AR4,*AR3,B	;   (B) = coef*vk(n-1) - vk(n-2) + x(n)
	 mac	*AR4,*AR3,B	;   (B) = 2*coef*vk(n-1) - vk(n-2) + x(n)
	 delay	*AR4		;   vk(n-1) ---> vk(n-2)
	 st	B,*AR4+		;   (B)     ---> vk(n-1)
	|| ld	*AR2+,A		;   (AH) = x(n)
sec2				;}
				;----- compute energy --------------
	ld	*AR4,16,A	; (A) = vk(N-1), A(32:16) loaded
	mpya	*AR4-		; (B) = vk(N-1)*vk(N-1), (T) = vk(N-1)
	mpy	*AR4,A		; (A) = vk(N)*vk(N-1)
	ld	*AR3+,T		; (T) = coef
	mpya	A		; (A) = coef*vk(N)*vk(N-1)
	sub	A,1,B		; (B) = -2*coef*vk(N)*vk(N-1) + vk(N-1)*vk(N-1)
	ld	*AR4,T		; (T) = vk(N)
	mac	*AR4,B		; (B) = vk(N)*vk(N) - 2*coef*vk(N)*vk(N-1) + vk(N-1)*vk(N-1)
	sth	B,*AR1		; store result E[k] into energy template

				;----- check threshold condition ------
	ld	*AR1,16,A	;(AH)=COL2nd
	sub	*AR7,16,A,B	;(BH)=COL2nd-COLMAX
	bc	err_col2nd,BGEQ	;if(COL2nd<COLMAX)
	rpt	#(16-1)		;
	 subc	*AR7,A		;   compute (COL2nd/COLMAX)
	and	#0ffffh,A	;   retain quotient (AL), mask remainder
	sfta	A,15		;   shift quotient into AH
	sub	#THR_COL2nd,16,A;
	bc	err_col2nd,AGEQ	;   if((COL2nd/COLMAX) >= THR_COL2nd)
				;      branch to err_col2nd

	mvmm	AR6,AR3		;restore AR3
	mvmm	AR7,AR4		;restore AR4

	b	digit_map

err_row2nd:			;**** record row's 2nd harm error ****
	orm	#0020h,*AR5(6)	; set row's 2nd harm error flag (b5)
	b	ende		; terminate checks

err_col2nd:			;**** record col's 2nd harm error ****
	orm	#0040h,*AR5(6)	; set col's 2nd harm error flag (b6)
	b	ende		; terminate checks


;----------------------------------------------------------------------
; Map detected tone pair to digit
; 
; AR3 points to ROWMAX
; AR4 points to COLMAX
;----------------------------------------------------------------------
digit_map:
;---------- find row and col numbers ----------------------------
	ld	*AR5(2),A
	stlm	A,AR0		;load offset
	nop
	nop
	mar	*AR3-0		;AR3 contains row#
	mar	*+AR0(4)
	mar	*AR4-0		;AR4 contains col#
	
;---------- map row and column numbers to actual digit -------------
	ld	*(AR3),8,A	;load row nbr in upper byte of AL
	add	*(AR4),A	;load column nbr in lower byte of AL
	stm	#KEYS,AR2	;AR2 points to key mapping table
	stm	#0,AR3		;AR3 is used as counter
	stm	#(16-1),BRC
	rptb	digit3-1	;for(k=0;k<16;k++)   {
	 sub	*AR2+,A,B
	 bc	digit31,bneq	;   if(A == KEYS[k])  insert delay
	  b	digit4		;       branch to ende
digit31	 mar	*AR3+		;  increment counter
digit3				;}

				
;------------------------------------------------------------------------
; Validate digit from previous digit
;
;------------------------------------------------------------------------
digit4	nop			;now AR3 contains decoded digit
	ld	*AR5(3),A	;
	stlm	A,AR4		;AR4 used as digitptr

	orm	#0100h,*AR5(5)	;set bit "duration counter"
	ldm	AR3,A		;load current digit
	sub	*AR5(4),A,B	;compare with last digit
	bc	digit5,bneq	;if current digit and last digit are the same
	stl	A,*AR4+		;   store VALID DIGIT into DIGITS
	ldm	AR4,A		;
	stl	A,*AR5(3)	;   update pointer
	st	#0,*AR5(5)	;   disable detector and wait for pause
	st	#-1,*AR5(4)	;   reset last digit
	b	ende		;else
digit5	ldm	AR3,A		;   store decoded digit
	stl	A,*AR5(4)	;   into digitlast

ende	bitf	*AR5(5),#0400h	;test "duration counter"
	bc	end1,NTC	;if(bit set)
	st	#0,*AR5(5)	;   disable detector and wait for pause
	st	#-1,*AR5(4)	;   reset last digit

end1	frame	#0
	popm	AR7
	popm	AR6
	popm	AR1
	popm	ST1
	popm	ST0
	nop
	ret


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久电影网站中文字幕| 日韩毛片精品高清免费| 久久99精品视频| 精品国产三级电影在线观看| 黄页网站大全一区二区| 26uuu精品一区二区| 丁香亚洲综合激情啪啪综合| 亚洲欧洲av一区二区三区久久| 91黄色激情网站| 免费欧美日韩国产三级电影| 久久日一线二线三线suv| av一本久道久久综合久久鬼色| 国产精品视频看| 色欧美片视频在线观看在线视频| 午夜久久久影院| 久久品道一品道久久精品| 成人精品视频一区二区三区| 亚洲乱码国产乱码精品精的特点| 欧美日韩高清影院| 国产在线精品一区二区三区不卡| 亚洲欧洲精品一区二区三区 | 在线亚洲人成电影网站色www| 亚洲综合一区二区三区| 日韩一级大片在线| 成人免费视频网站在线观看| 亚洲风情在线资源站| 欧美成人一区二区三区| 成人97人人超碰人人99| 五月天网站亚洲| 久久久久久97三级| 欧美日韩在线精品一区二区三区激情| 久久国内精品视频| 一区二区三区在线观看网站| 26uuu国产日韩综合| 在线亚洲一区观看| 国内成人自拍视频| 亚洲va欧美va人人爽| 国产欧美一区二区精品秋霞影院 | 91免费在线播放| 轻轻草成人在线| 日韩理论片一区二区| 26uuu亚洲综合色欧美 | 奇米精品一区二区三区在线观看一 | 老司机午夜精品99久久| 国产精品欧美久久久久无广告 | 久久综合九色综合欧美就去吻| 91亚洲精华国产精华精华液| 精品一区二区影视| 亚洲国产wwwccc36天堂| 国产日产亚洲精品系列| 日韩欧美国产麻豆| 欧美片网站yy| 欧美精品一级二级| 91欧美激情一区二区三区成人| 国产在线精品免费av| 日本在线播放一区二区三区| 亚洲激情图片qvod| 国产精品夫妻自拍| 国产欧美精品一区aⅴ影院| 欧美一区二区二区| 5858s免费视频成人| 欧美三级日韩三级| 欧美性猛片xxxx免费看久爱| av电影在线不卡| 高清在线不卡av| 国产91精品入口| 国产精品亚洲一区二区三区在线| 奇米综合一区二区三区精品视频| 天涯成人国产亚洲精品一区av| 亚洲一级在线观看| 亚洲国产成人av网| 午夜精品久久久久| 热久久国产精品| 麻豆一区二区在线| 久久99久久久欧美国产| 蜜臀av一区二区| 日本不卡视频在线| 日韩国产精品91| 免费在线看成人av| 国产在线麻豆精品观看| 国产一区二区三区电影在线观看 | 天天av天天翘天天综合网色鬼国产 | 成人av免费观看| 福利一区福利二区| 91一区二区三区在线观看| 99精品在线观看视频| 日本黄色一区二区| 欧美午夜精品久久久| 9191国产精品| 亚洲欧洲精品一区二区三区不卡 | 一区二区三区加勒比av| 一区二区三区 在线观看视频| 亚洲午夜精品在线| 美脚の诱脚舐め脚责91| 国内成+人亚洲+欧美+综合在线| 国产米奇在线777精品观看| 成人黄色免费短视频| 在线观看国产91| 日韩一本二本av| 国产女主播在线一区二区| 亚洲三级免费观看| 日韩av中文在线观看| 国产精品一区二区无线| 色婷婷狠狠综合| 日韩一区二区电影网| 国产精品色噜噜| 一区二区三区在线视频免费 | 国产成人在线视频免费播放| av高清久久久| 欧美日韩午夜在线视频| 久久这里只有精品6| 一色桃子久久精品亚洲| 亚洲成av人**亚洲成av**| 国产盗摄女厕一区二区三区| 日本二三区不卡| 26uuu色噜噜精品一区二区| 亚洲免费观看高清| 国产在线视频精品一区| 欧美亚男人的天堂| 久久久久国产一区二区三区四区| 亚洲综合色自拍一区| 精品午夜一区二区三区在线观看| 91麻豆123| 久久综合九色欧美综合狠狠| 亚洲精品国产一区二区三区四区在线| 久久成人久久爱| 欧美性猛交xxxx乱大交退制版| 久久在线免费观看| 亚洲一区二区精品视频| 高清国产一区二区| 日韩三级在线免费观看| 亚洲免费在线看| 粉嫩欧美一区二区三区高清影视| 欧美三级资源在线| 中文字幕制服丝袜成人av | 久久久久久久久岛国免费| 亚洲影院在线观看| 成人av资源在线| 欧美精品一区二区在线播放| 亚洲电影第三页| www.亚洲激情.com| 久久久久久电影| 蜜臀久久99精品久久久画质超高清| 色呦呦一区二区三区| 国产欧美日韩综合精品一区二区| 日韩精品一区第一页| 91成人免费在线| 日本视频在线一区| 欧美伊人精品成人久久综合97| 国产精品天干天干在线综合| 久久99精品一区二区三区三区| 欧美二区三区的天堂| 亚洲国产精品久久一线不卡| 91蜜桃免费观看视频| 国产精品久久久久久妇女6080| 国产一区二区三区在线观看免费视频| 欧美蜜桃一区二区三区| 亚洲综合男人的天堂| 日本乱人伦aⅴ精品| 国产精品初高中害羞小美女文| 国产精品一级二级三级| 欧美精品一区二区三区在线| 激情小说欧美图片| 精品美女在线观看| 青青青伊人色综合久久| 宅男噜噜噜66一区二区66| 午夜精品久久久久久久| 欧美群妇大交群中文字幕| 亚洲国产欧美在线人成| 欧美视频中文字幕| 午夜免费久久看| 91精品国产一区二区三区蜜臀| 亚洲成人av一区二区三区| 欧美精品少妇一区二区三区| 视频一区二区中文字幕| 67194成人在线观看| 卡一卡二国产精品 | 久久蜜桃av一区精品变态类天堂| 韩国成人在线视频| 久久久国产精品午夜一区ai换脸| 国产精品夜夜嗨| 中文字幕一区二区三区在线观看 | eeuss鲁一区二区三区| 亚洲欧洲另类国产综合| 欧洲av在线精品| 午夜精品影院在线观看| 欧美一区二区免费观在线| 久久国产尿小便嘘嘘| 国产日本亚洲高清| 91免费视频大全| 午夜精品一区二区三区三上悠亚| 日韩精品在线一区| 成人99免费视频| 亚洲电影在线免费观看| 精品美女被调教视频大全网站| 国产91精品一区二区麻豆亚洲| 亚洲精品va在线观看| 91麻豆精品国产自产在线观看一区 | 在线成人小视频| 国产不卡一区视频|