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

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

?? main.bak

?? ucos porting source for Am188
?? BAK
字號:
/************************************************************************/
/* PROGRAMER: CHAE BYOUNG CHEOL										    */
/* PROGRAM 	: MAIN.C                                                    */
/* COMPILER : BORLAND C/C++ 3.1 FOR DOS                                 */
/************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <dos.h>
#include <stdarg.h>
#include <math.h>

#include ".\header\main.h"

//**************************************************************************
// CONSTANTS
//**************************************************************************

#define	TASK_STK_SIZE     512	/* Size of each task's stacks (# of WORDs)*/

#define TASK_START_ID       0   /* Application tasks IDs                  */
#define TASK_1_ID           1                
#define TASK_2_ID           2
#define TASK_3_ID           3
#define TASK_4_ID           4
#define TASK_5_ID           5

#define TASK_START_PRIO    10   /* Application tasks priorities           */
#define TASK_1_PRIO        11                
#define TASK_2_PRIO        12
#define TASK_3_PRIO        13
#define TASK_4_PRIO        14
#define TASK_5_PRIO        15

//*****************************************************************************
// VARIABLES
//*****************************************************************************

OS_STK	TaskStartStk[TASK_STK_SIZE];	/* Startup    task stack           */
OS_STK  Task1Stk[TASK_STK_SIZE];       
OS_STK  Task2Stk[TASK_STK_SIZE];      
OS_STK  Task3Stk[TASK_STK_SIZE];     
OS_STK  Task4Stk[TASK_STK_SIZE];    
OS_STK  Task5Stk[TASK_STK_SIZE];   

OS_EVENT        *AckMbox;	/* Message mailboxes */
OS_EVENT        *TxMbox;

//****************************************************************************
// FUNCTION PROTOTYPES
//****************************************************************************

void	TaskStart(void *data);/* Function prototypes of tasks */
void    Task1(void *data);
void    Task2(void *data);
void    Task3(void *data);
void    Task4(void *data);
void    Task5(void *data);


#define WATCHDOG	0x2000

void InitSystem(void);
void DefineInterrupt(void);
void GotoMonitor(void);

void EnabletchDog(void);
void WatchDog(void);

/*
void static __interrupt far int_DIV(void);
void static __interrupt far int_TRACE(void);
void static __interrupt far int_NMI(void);
void static __interrupt far int_BREAK(void);
*/
void static __interrupt far int_OVERFLOW(void);
void static __interrupt far int_BOUNDS(void);
void static __interrupt far int_ILLOP(void);
void static __interrupt far int_ESC(void);
void static __interrupt far int_TMR0(void);
void static __interrupt far int_TMR1(void);
void static __interrupt far int_TMR2(void);
void static __interrupt far int_DMA0(void);
void static __interrupt far int_DMA1(void);
void static __interrupt far int_INT0(void);
void static __interrupt far int_INT1(void);
void static __interrupt far int_INT2(void);
void static __interrupt far int_INT3(void);
void static __interrupt far int_INT4(void);
void static __interrupt far int_INT5(void);
void static __interrupt far int_INT6(void);
void static __interrupt far int_SPRT0(void);
void static __interrupt far int_SPRT1(void);
void static __interrupt far int_WDOG_ES(void);

void Test(void);

//===================================================================
void main(void)
{
	InitSystem();

    COM_Printf(COM2, "START\r\n");
	
	OSInit();

    OSTaskCreateExt(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE-1], 
			        TASK_START_PRIO,TASK_START_ID, &TaskStartStk[0], 
					TASK_STK_SIZE, (void *)0, 
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
		
    OSTaskCreateExt(Task1, (void *)0, &Task1Stk[TASK_STK_SIZE-1], TASK_1_PRIO,
                   TASK_1_ID, &Task1Stk[0], TASK_STK_SIZE, (void *)0, 
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

    OSTaskCreateExt(Task2, (void *)0, &Task2Stk[TASK_STK_SIZE-1], TASK_2_PRIO, 
                   TASK_2_ID, &Task2Stk[0], TASK_STK_SIZE, (void *)0, 
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
                   
    OSTaskCreateExt(Task3, (void *)0, &Task3Stk[TASK_STK_SIZE-1], TASK_3_PRIO, 
                   TASK_3_ID, &Task3Stk[0], TASK_STK_SIZE, (void *)0, 
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

    OSTaskCreateExt(Task4, (void *)0, &Task4Stk[TASK_STK_SIZE-1], TASK_4_PRIO, 
                   TASK_4_ID, &Task4Stk[0], TASK_STK_SIZE, (void *)0, 
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

    OSTaskCreateExt(Task5, (void *)0, &Task5Stk[TASK_STK_SIZE-1], TASK_5_PRIO, 
                   TASK_5_ID, &Task5Stk[0], TASK_STK_SIZE, (void *)0, 
                   OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
	
	
	poke(0x0000, uCOS*4,  	FP_OFF(OSCtxSw));
    poke(0x0000, uCOS*4+2,	FP_SEG(OSCtxSw));

	OSStatInit();

	OSStart();
	
	OS_ENTER_CRITICAL(); 
	TIMER_Initialize();
    TMR_ON();
	OS_EXIT_CRITICAL();
    enable();
	
	while (1) ;
}


void TaskStart(void *data)
{
    data = data;

	for (;;)
    {
        OSCtxSwCtr = 0;
        COM_Printf(COM2, "a");
		OSTimeDly(1); 
    }
}


void Task1(void *data)
{
    data = data;
    for (;;)
    {
		COM_Printf(COM2, "b");
		OSTimeDly(1);              
    }
}


void Task2(void *data)
{
    data = data;
    for (;;)
    {
		COM_Printf(COM2, "c");
		OSTimeDly(1);
    }
}


void Task3(void *data)
{
    data = data;
    for (;;)
    {
		COM_Printf(COM2, "d");
        OSTimeDly(1);
    }
}


void Task4(void *data)
{
    data  = data;
    for (;;)
    {
		COM_Printf(COM2, "e");
        OSTimeDly(1);
    }
}


void Task5(void *data)
{
    data = data;
    for (;;)
    {
		COM_Printf(COM2, "f");
        OSTimeDly(1);    
    }
}


void InitSystem(void)
{
	disable();
    
	// PCS0 - 3
	outpw(CS_MPCS, CS_MPCS_64K);									
	outpw(CS_PACS, CS_PACS_RESERVED | 0x010F);	// 0000 0001 0111 xxxx
												// BASE ADDRESS = 1000h
												// PCS0 - 1000h~10FFh
												// PCS1 - 1100h-11FFh
												// PCS2 - 1200h-12FFh
												// PCS3 - 1300h-13FFh

	//SYSCON, DS Enabled 
	outpw(PDCN_REG, inpw(PDCN_REG) | PDCN_REG_DSDEN);
		
	// interrupt disable 
	outpw(INT_MASK, 
		  INT_I0 | INT_I1 | INT_I2 | INT_I3 | INT_I4 | INT_I5 | INT_I6);
   
	// define external interrupt registers
    outpw(INT_INT0, INT_ENABLE | INT_PRI5 | INT_LEVEL);		// SCC
	//outpw(INT_INT1, INT_ENABLE | INT_PRI7);	// RF CARD
	outpw(INT_INT2, INT_ENABLE | INT_PRI4);		// MSR TRACK2
	outpw(INT_INT3, INT_ENABLE | INT_PRI4);		// MSR TRACK3
#ifdef MODEM
	//outpw(INT_INT4, INT_ENABLE | INT_PRI6);	// MODEM
#endif	
	//outpw(INT_INT5, INT_ENABLE | INT_PRI7);
	//outpw(INT_INT6, INT_ENABLE | INT_PRI7);
	
	
	// | MODE | DIR | 	         FUNCTION            |
	// |------|-----|--------------------------------|
	// |   0  |  0  | Normal Operation               |
	// |   0  |  1  | PIO-input with pullup/pulldown |
	// |   1  |  0  | PIO-output                     |
	// |   1  |  1  | PIO-input  w/o pullup/pulldown |

	//V2.4
	outpw(PIO_DIR0,  0x1C10);   // xooi iixx xoxi oooo 
    outpw(PIO_DATA0, 0xBFBF);	// 1011 1111 1011 1111
	outpw(PIO_MODE0, 0x7C5F);	// 0111 1100 0101 1111
								// nnnp ppnn npnp pppp
    outpw(PIO_DIR1,  0x0000);	// xxox xooo xxoo xxxx 
    outpw(PIO_DATA1, 0xDFFF);	// 1101 1111 1111 1111 
	outpw(PIO_MODE1, 0x2730);	// 0010 0111 0011 0000
 	 							// nnpn nppp nnpp nnnn
	DefineInterrupt();
	
	COM_Initialize(COM1, 9600, 8, 'N', 1);
    COM_Initialize(COM2, 38400, 8, 'N', 1);
 
	SCC_Initialize(0, 9600, 8, 'N', 1);
	SCC_Initialize(1, 2400, 8, 'N', 1);
}

void EnabletchDog(void)
{
	outpw(WDOG_REG, WDOG_CLR1_ES);	// write enable	
	outpw(WDOG_REG, WDOG_CLR2_ES);

	outpw(WDOG_REG, WDOG_WR1_ES);	// clear watchdog register
	outpw(WDOG_REG, WDOG_WR2_ES);

	outpw(WDOG_REG, inpw(WDOG_REG) | WDOG_ENA_ES + 26); // enable, 1.67sec  	
}


void WatchDog(void)
{
	outpw(PIO_DATA0, inpw(PIO_DATA0) | WATCHDOG);
	outpw(PIO_DATA0, inpw(PIO_DATA0) & ~WATCHDOG);
}

/************************************************************************/
/* NAME 	:															*/
/* FUNCTION :															*/
/* ARGUMENT :															*/
/* RETURN	:															*/
/************************************************************************/
void GotoMonitor(void)
{
	__emit__(0xea,0xF0,0xFF,0x00,0xF0);
}

/************************************************************************/
/* NAME 	:															*/
/* FUNCTION :															*/
/* ARGUMENT :															*/
/* RETURN	:															*/
/************************************************************************/
void DefineInterrupt(void)
{
	/*	
	poke(0x0000, ITYPE_DIV*4,  		FP_OFF(int_DIV));
    poke(0x0000, ITYPE_DIV*4+2, 	FP_SEG(int_DIV));

    poke(0x0000, ITYPE_TRACE*4,  	FP_OFF(int_TRACE));
    poke(0x0000, ITYPE_TRACE*4+2,	FP_SEG(int_TRACE));

    poke(0x0000, ITYPE_NMI*4,  		FP_OFF(int_NMI));
    poke(0x0000, ITYPE_NMI*4+2,		FP_SEG(int_NMI));

    poke(0x0000, ITYPE_BREAK*4,  	FP_OFF(int_BREAK));
    poke(0x0000, ITYPE_BREAK*4+2,	FP_SEG(int_BREAK));
	*/
    poke(0x0000, ITYPE_OVERFLOW*4,  FP_OFF(int_OVERFLOW));
    poke(0x0000, ITYPE_OVERFLOW*4+2,FP_SEG(int_OVERFLOW));

    poke(0x0000, ITYPE_BOUNDS*4,  	FP_OFF(int_BOUNDS));
    poke(0x0000, ITYPE_BOUNDS*4+2,	FP_SEG(int_BOUNDS));

    poke(0x0000, ITYPE_ILLOP*4,  	FP_OFF(int_ILLOP));
    poke(0x0000, ITYPE_ILLOP*4+2,	FP_SEG(int_ILLOP));

    poke(0x0000, ITYPE_ESC*4,  		FP_OFF(int_ESC));
    poke(0x0000, ITYPE_ESC*4+2,		FP_SEG(int_ESC));

    poke(0x0000, ITYPE_TMR0*4,  	FP_OFF(int_TMR0));
    poke(0x0000, ITYPE_TMR0*4+2,	FP_SEG(int_TMR0));

    poke(0x0000, ITYPE_TMR1*4,  	FP_OFF(int_TMR1));  
    poke(0x0000, ITYPE_TMR1*4+2,	FP_SEG(int_TMR1));  
    
	poke(0x0000, ITYPE_TMR2*4,  	FP_OFF(int_TMR2));
    poke(0x0000, ITYPE_TMR2*4+2,	FP_SEG(int_TMR2));

	poke(0x0000, ITYPE_DMA0*4,  	FP_OFF(int_DMA0));
    poke(0x0000, ITYPE_DMA0*4+2,	FP_SEG(int_DMA0));

    poke(0x0000, ITYPE_DMA1*4,  	FP_OFF(int_DMA1));  
    poke(0x0000, ITYPE_DMA1*4+2,	FP_SEG(int_DMA1));
   
    poke(0x0000, ITYPE_INT0*4,  	FP_OFF(int_INT0));  
    poke(0x0000, ITYPE_INT0*4+2,	FP_SEG(int_INT0));  

	poke(0x0000, ITYPE_INT1*4,  	FP_OFF(int_INT1));  
    poke(0x0000, ITYPE_INT1*4+2,	FP_SEG(int_INT1));     
    
	poke(0x0000, ITYPE_INT2*4,  	FP_OFF(int_INT2));    
    poke(0x0000, ITYPE_INT2*4+2,	FP_SEG(int_INT2));      
    
	poke(0x0000, ITYPE_INT3*4,  	FP_OFF(int_INT3));  
	poke(0x0000, ITYPE_INT3*4+2,	FP_SEG(int_INT3));
    
	poke(0x0000, ITYPE_INT4*4,  	FP_OFF(int_INT4));
    poke(0x0000, ITYPE_INT4*4+2,	FP_SEG(int_INT4));
    
	poke(0x0000, ITYPE_INT5*4,  	FP_OFF(int_INT5));
    poke(0x0000, ITYPE_INT5*4+2,	FP_SEG(int_INT5));
    
	poke(0x0000, ITYPE_INT6*4,  	FP_OFF(int_INT6));
    poke(0x0000, ITYPE_INT6*4+2,	FP_SEG(int_INT6));
    
	poke(0x0000, ITYPE_SPRT0*4,  	FP_OFF(int_SPRT0));
    poke(0x0000, ITYPE_SPRT0*4+2,	FP_SEG(int_SPRT0));

	poke(0x0000, ITYPE_SPRT1*4,  	FP_OFF(int_SPRT1));
    poke(0x0000, ITYPE_SPRT1*4+2,	FP_SEG(int_SPRT1));
	
	poke(0x0000, ITYPE_WDOG_ES*4,  	FP_OFF(int_WDOG_ES));
    poke(0x0000, ITYPE_WDOG_ES*4+2,	FP_SEG(int_WDOG_ES));
	
}

/*
void static __interrupt far int_DIV(void)
{
	OSIntEnter();
	OSIntExit();
}

void static __interrupt far int_TRACE(void)
{
	OSIntEnter();
	OSIntExit();
}

void static __interrupt far int_NMI(void)
{
	OSIntEnter();
	OSIntExit();
}

void static __interrupt far int_BREAK(void)
{
	OSIntEnter();
	OSIntExit();
}
*/
void static __interrupt far int_OVERFLOW(void)
{
	OSIntEnter();
	OSIntExit();
}

void static __interrupt far int_BOUNDS(void)
{
	OSIntEnter();
	OSIntExit();
}

void static __interrupt far int_ILLOP(void)
{
	OSIntEnter();
	OSIntExit();
}

void static __interrupt far int_ESC(void)
{
	OSIntEnter();
	OSIntExit();
}

void static __interrupt far int_TMR0(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_TMR0);
	OSIntExit();
}

void static __interrupt far int_TMR1(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_TMR1);
	OSIntExit();
}

void static __interrupt far int_TMR2(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_TMR2);
	OSIntExit();
}

void static __interrupt far int_DMA0(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_DMA0);
	OSIntExit();
}

void static __interrupt far int_DMA1(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_DMA1);
	OSIntExit();
}

void static __interrupt far int_INT0(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_INT0);
	OSIntExit();
}

void static __interrupt far int_INT1(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_INT1);
	OSIntExit();
}

void static __interrupt far int_INT2(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_INT2);
	OSIntExit();
}

void static __interrupt far int_INT3(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_INT3);
	OSIntExit();
}

void static __interrupt far int_INT4(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_INT4);
	OSIntExit();
}

void static __interrupt far int_INT5(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_INT5);
	OSIntExit();
}

void static __interrupt far int_INT6(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_INT6);
	OSIntExit();
}

void static __interrupt far int_SPRT0(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_SPRT0);
	OSIntExit();
}

void static __interrupt far int_SPRT1(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_SPRT1);
	OSIntExit();
}

void static __interrupt far int_WDOG_ES(void)
{
	OSIntEnter();
	outpw(INT_EOI, EOITYPE_WDOG_EM);
	OSIntExit();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色狠狠色合久久伊人| 日韩色在线观看| 欧美一区二区在线视频| 国产亚洲一区二区三区四区| 亚洲午夜久久久| 波多野结衣亚洲一区| 日韩视频在线永久播放| 亚洲夂夂婷婷色拍ww47| 成人精品一区二区三区中文字幕| 91精品国产福利| 一卡二卡欧美日韩| 99久久精品情趣| 欧美国产欧美综合| 九九在线精品视频| 欧美一区二区三区色| 亚洲成人免费在线| 色菇凉天天综合网| 成人欧美一区二区三区白人| 国产成人午夜精品影院观看视频| 91精品欧美一区二区三区综合在| 一区二区久久久久久| 成人高清视频免费观看| 国产色一区二区| 国内外成人在线| 精品国产一二三区| 久久国产婷婷国产香蕉| 91精品国产一区二区三区蜜臀| 亚洲综合视频网| 欧洲亚洲国产日韩| 亚洲国产欧美日韩另类综合| 日本韩国欧美一区| 一区二区三区日韩欧美精品| 91年精品国产| 亚洲综合激情另类小说区| 欧美综合久久久| 亚洲.国产.中文慕字在线| 欧美日韩免费在线视频| 图片区小说区区亚洲影院| 欧美卡1卡2卡| 蜜桃久久久久久久| 久久综合色8888| 国产精品亚洲第一| 中文字幕在线不卡国产视频| 91老师片黄在线观看| 亚洲另类色综合网站| 欧美性受xxxx| 国产综合色视频| 国产精品美女www爽爽爽| 成人97人人超碰人人99| 亚洲乱码日产精品bd| 在线亚洲欧美专区二区| 亚洲成人精品一区二区| 日韩片之四级片| 国产精品一卡二卡| 亚洲欧美一区二区三区极速播放| 欧美性猛片xxxx免费看久爱| 日本美女一区二区三区视频| 精品国产乱码久久久久久蜜臀 | 韩国欧美国产一区| 国产调教视频一区| 欧美在线一二三四区| 日韩av电影免费观看高清完整版| 精品国产乱码久久久久久老虎| 丁香亚洲综合激情啪啪综合| 亚洲精品你懂的| 欧美videos中文字幕| av在线一区二区| 日本不卡一区二区三区高清视频| 久久理论电影网| 欧美色老头old∨ideo| 韩日精品视频一区| 一区二区国产盗摄色噜噜| 欧美videossexotv100| 成人av免费网站| 毛片av一区二区| 亚洲精品ww久久久久久p站| 日韩一区二区三区免费看| 99精品欧美一区二区三区小说 | 精品在线播放午夜| 伊人婷婷欧美激情| 久久人人爽爽爽人久久久| 欧洲一区在线观看| 成人美女视频在线观看| 青椒成人免费视频| 亚洲综合免费观看高清在线观看| 久久久精品一品道一区| 欧美军同video69gay| 不卡的电视剧免费网站有什么| 免费欧美日韩国产三级电影| 亚洲日本电影在线| 久久久国产精品午夜一区ai换脸| 欧美男生操女生| 色噜噜久久综合| 波多野洁衣一区| 国产精品99久| 久久精品99国产国产精| 三级一区在线视频先锋 | 日韩黄色一级片| 一区二区三区**美女毛片| 亚洲国产精品v| 久久综合给合久久狠狠狠97色69| 欧美日韩另类一区| 欧美在线观看视频一区二区三区| 粉嫩嫩av羞羞动漫久久久| 久久99久国产精品黄毛片色诱| 亚洲不卡在线观看| 亚洲动漫第一页| 一区二区欧美在线观看| 亚洲美女一区二区三区| 国产精品国产精品国产专区不片| 久久只精品国产| 久久久九九九九| 久久先锋影音av| 国产欧美精品在线观看| 久久精品网站免费观看| 国产午夜精品一区二区三区嫩草 | 国产午夜精品久久久久久久| 欧美va亚洲va| 久久久久久久久岛国免费| 337p日本欧洲亚洲大胆精品| 精品国产电影一区二区| 久久亚洲欧美国产精品乐播| 久久亚洲一区二区三区明星换脸| 精品国产区一区| 国产情人综合久久777777| 国产精品日产欧美久久久久| 中文字幕第一页久久| 中文久久乱码一区二区| ...av二区三区久久精品| 亚洲人成精品久久久久| 亚洲成人一区二区在线观看| 日韩成人av影视| 韩国视频一区二区| 99国产麻豆精品| 欧美日韩一区国产| 欧美成人aa大片| 国产精品久久久久久久岛一牛影视| 国产精品国产三级国产aⅴ无密码| 亚洲欧美国产三级| 秋霞av亚洲一区二区三| 国内久久精品视频| 92国产精品观看| 在线播放中文一区| 精品国精品国产尤物美女| 国产精品免费丝袜| 亚洲成人综合视频| 狠狠色丁香九九婷婷综合五月| 不卡视频在线看| 51午夜精品国产| 亚洲国产岛国毛片在线| 亚洲国产精品影院| 国产在线精品不卡| 日本道在线观看一区二区| 日韩午夜在线播放| 蜜臀av性久久久久蜜臀aⅴ流畅 | 91色porny| 日韩三级视频中文字幕| 综合久久综合久久| 蜜桃视频一区二区三区| 一本一道波多野结衣一区二区| 日韩视频一区二区| 亚洲欧美日韩国产另类专区| 捆绑紧缚一区二区三区视频| 色综合天天性综合| 2欧美一区二区三区在线观看视频| 1024成人网| 国产精品88av| 欧美一级欧美一级在线播放| 国产精品久久久久永久免费观看| 日本美女一区二区三区| 日本久久精品电影| 中文一区在线播放| 美女视频免费一区| 欧美婷婷六月丁香综合色| 国产情人综合久久777777| 美国三级日本三级久久99 | 国产精品影视在线观看| 欧美午夜宅男影院| 亚洲欧美色综合| 成人午夜视频福利| 国产亚洲精品福利| 久久精品二区亚洲w码| 91.com在线观看| 一区二区三区产品免费精品久久75| 国产精品18久久久久久久网站| 91精品国产乱| 日韩电影免费一区| 欧美日本韩国一区| 一区二区在线观看免费 | 国产日韩欧美一区二区三区综合| 日本不卡一区二区| 欧美日韩aaaaaa| 亚洲午夜日本在线观看| 一本色道久久综合精品竹菊| 欧美激情自拍偷拍| 国产不卡在线视频| 国产欧美一区二区精品仙草咪| 国产高清亚洲一区| 久久久99久久| 成人app网站|