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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? nf.c

?? D12 的源代碼
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):

/*_____ E X T E R N  V A R I A B L E ___________________________________*/
extern data    Uint32	gl_ptr_mem;         /* memory data pointer */
extern data    Byte		EnglishPage;
extern bdata 	Byte		PlayStatusSign;
extern xdata 	Byte		sound_mode;
extern xdata 	Byte		light_mode;
extern xdata   Byte		PlayVolume;
extern pdata   Byte		gl_buffer[];
extern bdata 	bit		light_bit;
extern bdata 	bit		record_open_bit;
extern bdata	bit		NormalPlay;
extern xdata 	Uint16	nb_reserved_sector;
extern xdata	Byte		ReplayTime;
extern  Union_IDATA xdata UnionIDATA;
extern  Union_XDATA xdata UnionXDATA;
/*_____ EXTERN ADDRESS _________________________________________________*/

xdata Byte nf_send_cmd At(NF_CMD_LATCH_ENABLE_ADD); /* Command */
xdata Byte nf_send_add At(NF_ADD_LATCH_ENABLE_ADD); /* Address */
xdata Byte volatile nf_data At(NF_ADDRESS_CMD_DATA);/* Data    */

extern void 	nf_read_init(Uint32 offset);
void store_read(void);
void store_write(void);
/*_____ V A R I A B L E ________________________________________________*/
bdata bit block_used;    /* When a block was used */
bdata bit nf_busy;
bdata	bit nf_64=1;

data  Uint32 current_physical_sector_addr;
data  Uint32 address;
data  Uint16 look_up_table_block;                   /* Look up table block address  */
data  Byte 	 index_block_erased = 0;              /* give the number of block to be erased      */
xdata Byte   store_ptr;

idata Uint32 address_look_up_table;
idata Uint16 gl_cpt_page;
idata Byte   index_reassign;                  /* give the number of block to be reassigned  */
idata Byte   nf_zone_max;                     /* max zone number (from 1 to 8)              */
idata Byte 	 nf_device_type;                  /* Give the size of device in Mbytes          */ 
idata Byte 	 index_look_up_table;             /* Index of free block for LUT                */
idata Uint16 redundant_logical_block_value; /* Logical block value in the redundant area  */

idata Uint16 block_to_be_erased[NF_FREE_BLOCK_SIZE];/* Block address to be erased   */
idata Byte index_block_used[NF_FREE_BLOCK_SIZE];    /* Index of new assigned block */
xdata Byte nf_spare_block_number[NF_ZONE_MAX];      /* Number of free spare block in each zone */
xdata Uint32 nf_disk_size;            /* Size of the disk in sector - 1  */ 
xdata Byte index_free_block[NF_ZONE_MAX];   /* index in the LUT for free block for data   */

/* reassign_block : conversion logical block/physical block   */
/* it's used to update the look up table                      */
xdata t_reassign_block  reassign_block[NF_FREE_BLOCK_SIZE];
/*_____ D E F I N I T I O N ____________________________________________*/

/*_____ C O D E ________________________________________________________*/
/* Card Identification System definition */
code Byte nf_cis_table[]=
  {
  0x01, 0x03, 0xD9, 0x01, 0xFF, 0x18, 0x02, 0xDF, 0x01, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x21,
  0x02, 0x04, 0x01, 0x22, 0x02, 0x01, 0x01, 0x22, 0x03, 0x02, 0x04, 0x07, 0x1A, 0x05, 0x01, 0x03, 
  0x00, 0x02, 0x0F, 0x1B, 0x08, 0xC0, 0xC0, 0xA1, 0x01, 0x55, 0x08, 0x00, 0x20, 0x1B, 0x0A, 0xC1, 
  0x41, 0x99, 0x01, 0x55, 0x64, 0xF0, 0xFF, 0xFF, 0x20, 0x1B, 0x0C, 0x82, 0x41, 0x18, 0xEA, 0x61, 
  0xF0, 0x01, 0x07, 0xF6, 0x03, 0x01, 0xEE, 0x1B, 0x0C, 0x83, 0x41, 0x18, 0xEA, 0x61, 0x70, 0x01, 
  0x07, 0x76, 0x03, 0x01, 0xEE, 0x15, 0x14, 0x05, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
  0x00, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x2E, 0x30, 0x00, 0xFF, 0x14, 0x00, 0xFF, 0x00, 0x00

  };


extern bdata bit Nf_WP;
/*_____ D E C L A R A T I O N ______________________________________________*/
 

/*F**************************************************************************
* NAME:     read_spare_byte
----------------------------------------------------------------------------
* PURPOSE:  read spare data byte and construct the look up table.

*****************************************************************************/
Uint16 read_spare_byte_sub(Byte mode,Byte nf_zone,Uint16 start,Uint16 free_bloc_pos);

void read_spare_byte(void)
{
  Uint16 free_bloc_pos,start,block;
  Uint16 i,j;
  Byte   dummy,nf_zone;
//  idata Uint32 address2; /* LUT table address */
//  idata Uint32 address3; /* Used to determine free physical block */
  bit    bad_block;
  xdata Uint16 last_physical_used_block[NF_ZONE_MAX]; /* Last physical block used     */


  Nf_CS_ON();
  /***************************************************/
  /* Search bad block                                */
  /***************************************************/
	address = 0x8000;            /* Start from sector 0 */
	Nf_wait_busy();
	for (j = NF_BLOCK_PER_ZONE; j != 0; j--) /* Only zone 0 */
	{
		nf_send_rc_cmd();
		if ( Nf_rd_byte() == 0xFF )				/* Not a bad block */
		{
			if ( Nf_rd_byte() == 0xE8)				/* Look up table? */
			{
				nf_block_erase(address);
			}
		}
		address += 32;
	}

  address = 0;            /* Start from sector 0 */
  Nf_wait_busy();
  for (i = 0; i < nf_zone_max; i++)
  {
    nf_spare_block_number[i] = 0;
    for (j = NF_BLOCK_PER_ZONE; j != 0; j--)
    {
		nf_send_rc_cmd();
      if ( Nf_rd_byte() != 0xFF )                 /* 0xFF = valid block */
        nf_spare_block_number[i]++;
      else
      {
        dummy = Nf_rd_byte();
			if (  (dummy == 0x00) || ( (dummy != 0xFF) && ( (dummy & 0xF8) != 0x10 )) )	// Value in redundant spare area not correct 
			{
				nf_spare_block_number[i]++;
				if(i == 1)
				{
					gl_buffer[nf_spare_block_number[1]-1] = dummy;
				}
			}
      }
      address += 32;
    }
  }

	for (i = 0; i < nf_zone_max; i++)
	{
		nf_spare_block_number[i] = (32 - nf_spare_block_number[i]) << 1;
	}

  /***************************************************/
  /* Search a look-up table and erase it             */
  /***************************************************/
  address = 0;
  Nf_wait_busy();
  for (j = NF_BLOCK_PER_ZONE; j != 0; j--) /* Only zone 0 */
  {
	nf_send_rc_cmd();
    if ( Nf_rd_byte() == 0xFF )				/* Not a bad block */
    {
      if ( Nf_rd_byte() == 0xE8)				/* Look up table? */
      {
        nf_block_erase(address);
      }
    }
    address += 32;
  }
  /***************************************************/
  /* Find the last physical block used for each zone */
  /***************************************************/
  for (nf_zone = 0; nf_zone < nf_zone_max; nf_zone++)
  {
    last_physical_used_block[nf_zone] = (Uint16)(nf_zone) << 10;
    address = (Uint32)(nf_zone) << 15;
    Nf_wait_busy();   
    for (j = NF_BLOCK_PER_ZONE; j != 0; j--)
    {
		nf_send_rc_cmd();
      if ( Nf_rd_byte() == 0xFF)                  /* Not a bad block            */
      {
        dummy = Nf_rd_byte();
        if ( ((dummy & 0xF8) == 0x10) && (dummy != 0x00) )       /* Used block                 */
        {
          last_physical_used_block[nf_zone] = address >> 5;
        }
      }
      address += 32;
    }
  }

  
  /***************************************************/
  /*          Find free physical block for LUT       */
  /***************************************************/
  address = 0;
  do
  {
    bad_block = FALSE;
    /* Send READ C Area command */

	nf_send_rc_cmd();

    if (Nf_rd_byte() == 0xFF)                   /* Not a bad block            */
      dummy = Nf_rd_byte();
    else
      bad_block = TRUE;
    address += 32;
  }
  while ( (dummy != 0xFF) || (dummy == 0x00) || (bad_block) );

  address -= 32;
  /* Updata look up table address */
  look_up_table_block = address >> 5;
  address_look_up_table = address;

  /*********************************************************/
  /* Create the look-up table                              */
  /* ***************************************************** */
  for (nf_zone = 0; nf_zone < nf_zone_max; nf_zone++)           /* for each zone */
  {
    start = 0;                                /* initialize the logical block value */
    free_bloc_pos = last_physical_used_block[nf_zone];
    do
    {
	  free_bloc_pos = read_spare_byte_sub(MODE_CMDA,nf_zone,start,free_bloc_pos);
      start += 128;                           /* process next 128 logical block */
	  free_bloc_pos = read_spare_byte_sub(MODE_CMDB,nf_zone,start,free_bloc_pos);
      start += 128;  
      address++;
    }
    while (start < NF_BLOCK_PER_ZONE);
  }
  /***************************************************/
  /*                Recopy the LUT                   */
  /***************************************************/
  index_look_up_table = 20;
  index_free_block[0] = 0;

  address = address_look_up_table + 3;

  Nf_wait_busy();

  Nf_send_command(NF_READ_B_AREA_CMD);       
  Nf_send_address(0x00);
  Nf_send_address ( ((Byte*)&address)[3] );   
  Nf_send_address ( ((Byte*)&address)[2] );   
  if (nf_64)                                  
    Nf_send_address ( ((Byte*)&address)[1] ); 
  Nf_wait_busy();

  nf_upload_buffer();
  
  block = (gl_buffer[192] << 8) + gl_buffer[193];

  block = block & 0x7FFF;

  if (block != look_up_table_block)
  {
    address = (Uint32)(block) << 5;
    for (j = 32; j != 0; j--)
    {
      Nf_wait_busy();

      Nf_send_command(NF_READ_A_AREA_CMD);
      Nf_send_address(0x00);
      Nf_send_address ( ((Byte*)&address_look_up_table)[3] );   
      Nf_send_address ( ((Byte*)&address_look_up_table)[2] );   
      if (nf_64)                                                
        Nf_send_address ( ((Byte*)&address_look_up_table)[1] ); 
      Nf_wait_busy();
      nf_upload_buffer();

	  nf_send_w_cmd(MODE_CMDA,0);

      nf_download_buffer();
  
      Nf_send_command(NF_PAGE_PROGRAM_CMD);
      Nf_wait_busy();

      Nf_send_command(NF_READ_B_AREA_CMD);
      Nf_send_address(0x00);
      Nf_send_address ( ((Byte*)&address_look_up_table)[3] );  
      Nf_send_address ( ((Byte*)&address_look_up_table)[2] );  
      if (nf_64)        
        Nf_send_address ( ((Byte*)&address_look_up_table)[1] );
      Nf_wait_busy();

      nf_upload_buffer();

	  nf_send_w_cmd(MODE_CMDB,0);
      nf_download_buffer();
  
      /* Write redundant data */
      Nf_wr_byte(0xFF); Nf_wr_byte(0xFF); Nf_wr_byte(0xFF);
      Nf_wr_byte(0xFF); Nf_wr_byte(0xFF);
      Nf_wr_byte(0xFF);
      Nf_wr_byte(0xE8); Nf_wr_byte(0xFF);                   /* Logical block value */
      Nf_wr_byte(0xFF); Nf_wr_byte(0xFF); Nf_wr_byte(0xFF); /* ECC area 2 */
      Nf_wr_byte(0xE8); Nf_wr_byte(0xFF);                   /* Logical block value */
      Nf_wr_byte(0xFF); Nf_wr_byte(0xFF); Nf_wr_byte(0xFF); /* ECC area 1 */
  
      Nf_send_command(NF_PAGE_PROGRAM_CMD);
      address++;
      address_look_up_table++;
    }
  
    /* Erase old LUT */
    nf_block_erase(address_look_up_table - 1);
    /* New address of LUT */
    look_up_table_block = block;
    address_look_up_table = (Uint32)(block) << 5;
  }
  Nf_CS_OFF();

}
//------------------------
Uint16 read_spare_byte_sub(Byte mode,Byte nf_zone,Uint16 start,  Uint16 free_bloc_pos)
{
data	Uint16 block;
idata Uint32 address2; 
idata Uint32 address3; 
data	Uint16 i,j;
data	Byte   dummy;
bdata	bit    bad_block;

	nf_init_buffer();                       /* Reinitialize the buffer  */
	address2 = (Uint32)(nf_zone) << 15;     /* Block address            */
	Nf_wait_busy();
  
	for (j = NF_BLOCK_PER_ZONE; j != 0 ; j--)            /* for each block */
	{ // Read Spare data value 
		Nf_send_command (NF_READ_C_AREA_CMD);
		Nf_send_address ( 0x05 );
		Nf_send_address ( ((Byte*)&address2)[3] );  
		Nf_send_address ( ((Byte*)&address2)[2] );  
		if (nf_64)                                  
		{
			Nf_send_address ( ((Byte*)&address2)[1] );
		}
		Nf_wait_busy();

		// Calculate the logical/physical conversion 
		if (Nf_rd_byte() == 0xFF)                   // Not a bad block 
		{
			// Read the value of logical block 
			((Byte*)&block)[0] = Nf_rd_byte();
			((Byte*)&block)[1] = Nf_rd_byte();
          // Don't take bad block or unused block 
			if ((block != 0xFFFF) && (block != 0x0000))
			{
				// Calculate the logical block value 
            block = (block & 0x0FFF) >> 1;
            // If the value is in the range, then save it 
            if ( (block < start + 128) && (block >= start))
            {
					gl_buffer[2 * block] = (address2 >> 5) >> 8;
					gl_buffer[2 * block + 1] = address2 >> 5;
				}
			}
		}
		address2 += 32; // increase address 
	}
      
	address3 = (Uint32)(free_bloc_pos) << 5;
	for (i = 0; i < 256; i+=2)
	{
		if (gl_buffer[i] == 0xFF)
		{
			do   // Search free physical block 
			{
				bad_block = FALSE;
				address3 += 32;
				if (address3 >= ((Uint32)(nf_zone + 1) << 15) )
				{
					address3 = (Uint32)(nf_zone) << 15;
				}

				Nf_send_command(NF_READ_C_AREA_CMD);
				Nf_send_address(0x05);
				Nf_send_address ( ((Byte*)&address3)[3] );  
				Nf_send_address ( ((Byte*)&address3)[2] );  
				if (nf_64)
				{
					Nf_send_address ( ((Byte*)&address3)[1] );
				}
				Nf_wait_busy();

				if (Nf_rd_byte() == 0xFF)                   // Not a bad block ? 
				{
					dummy = Nf_rd_byte();
				}
				else
				{
					bad_block = TRUE;
				}
			}
			while ( (dummy != 0xFF) || (dummy == 0x00) || (bad_block) );
			free_bloc_pos = address3 >> 5;
			gl_buffer[i] = (free_bloc_pos >> 8) + 0x80;
			gl_buffer[i + 1] = free_bloc_pos;
		}
	}

	nf_send_w_cmd(mode,0);
	// Write 256 bytes from the buffer 
	nf_download_buffer();  
	// Valid the page programmation 
	Nf_send_command(NF_PAGE_PROGRAM_CMD);
	return free_bloc_pos;
}
//------------------------
void nf_send_rc_cmd()
{
	Nf_send_command (NF_READ_C_AREA_CMD);
    Nf_send_address ( 0x05 );
    Nf_send_address ( ((Byte*)&address)[3] );  /* 2nd address cycle         */
    Nf_send_address ( ((Byte*)&address)[2] );  /* 3rd address cycle         */
    if (nf_64)                                  /* Size of card >= 64Mbytes ?*/
      Nf_send_address ( ((Byte*)&address)[1] );/* 4th address cycle         */

    Nf_wait_busy();
}
//------------------------
void nf_send_ra_cmd()
{
	Nf_send_command (NF_READ_A_AREA_CMD);
	Nf_send_address ( 0x00 );              
	Nf_send_address ( ((Byte*)&current_physical_sector_addr)[3] ); 
	Nf_send_address ( ((Byte*)&current_physical_sector_addr)[2] ); 
	if (nf_64)
	{        
		Nf_send_address ( ((Byte*)&current_physical_sector_addr)[1] );
	}
}
//------------------------
void nf_send_w_cmd(Byte Mode,bit Par)
{
	Nf_wait_busy();
	if (Mode == MODE_CMDA)
	{
		Nf_send_command (NF_READ_A_AREA_CMD);
	}
	else
	{
		Nf_send_command (NF_READ_B_AREA_CMD);
	}
	Nf_send_command(NF_SEQUENTIAL_DATA_INPUT_CMD);
	Nf_send_address (0x00);

	if(!Par)
    {
	   	Nf_send_address ( ((Byte*)&address)[3] );   
   		Nf_send_address ( ((Byte*)&address)[2] );   
   		if (nf_64)                                  
      	Nf_send_address ( ((Byte*)&address)[1] );  
  	}
	else
    {
   		Nf_send_address ( ((Byte*)&current_physical_sector_addr)[3] );   
	   	Nf_send_address ( ((Byte*)&current_physical_sector_addr)[2] );   
   		if (nf_64)                                  
  		   Nf_send_address ( ((Byte*)&current_physical_sector_addr)[1] ); 
	}
}
/*F**************************************************************************
* NAME:     nf_init

*----------------------------------------------------------------------------
* PURPOSE:  NF initialisation

*****************************************************************************/
//bdata bit		nf_connect=1;
extern void	load_hex(Byte i ,Byte j, Byte buf);
extern void	lcd_deal(void);

void nf_init (void)
{
	Nf_CS_ON();
	/* Read ID code */
	Nf_send_command(NF_READ_ID_CMD);
	Nf_send_address(0x00);
	Nf_wait_busy();

	ACC = Nf_rd_byte();

//	if (0XEC == Nf_rd_byte())nf_connect=KO;

	switch (Nf_rd_byte())   /* Device code */
	{
		case 0x73 :                         /* 16 Mbyte  */
			nf_device_type = NF_SIZE_16MB;
			nf_zone_max = 1;
			nb_reserved_sector=1;
			nf_disk_size =  NF_SECTOR_SIZE_16MB;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国免费一区二区三区| 欧美日韩在线三区| 91精品国产一区二区三区蜜臀| 久久久三级国产网站| 婷婷丁香久久五月婷婷| eeuss影院一区二区三区 | 丝袜亚洲另类欧美| 99久久精品免费看| 国产日韩欧美在线一区| 久久精品国产一区二区三 | 欧美三级日韩三级国产三级| 久久久国产精品午夜一区ai换脸| 日本欧美一区二区三区乱码| 欧美性猛片aaaaaaa做受| 日韩理论电影院| 成人黄页毛片网站| 久久综合色之久久综合| 美女在线观看视频一区二区| 欧美日韩视频在线一区二区 | 日韩欧美视频在线| 亚洲v精品v日韩v欧美v专区| 在线国产电影不卡| 一区二区三区在线免费播放| 99久久综合99久久综合网站| 亚洲国产精品成人久久综合一区| 国产美女精品一区二区三区| 亚洲精品一区二区三区香蕉| 精品一区二区三区蜜桃| 精品国产一区二区三区久久久蜜月| 日韩激情一二三区| 欧美高清www午色夜在线视频| 亚洲成人av一区| 欧美群妇大交群中文字幕| 亚洲一二三区在线观看| 在线视频综合导航| 一区二区三区**美女毛片| 色婷婷久久99综合精品jk白丝| 中文字幕亚洲欧美在线不卡| 成人黄色一级视频| |精品福利一区二区三区| 99久久免费精品| 亚洲精品五月天| 日本韩国欧美在线| 亚洲一区免费视频| 6080国产精品一区二区| 日本不卡免费在线视频| 日韩精品中午字幕| 激情成人综合网| 欧美激情中文字幕| 9i在线看片成人免费| 亚洲黄色小说网站| 欧美人伦禁忌dvd放荡欲情| 日韩专区欧美专区| 日韩精品一区在线| 国产成人99久久亚洲综合精品| 国产精品美女www爽爽爽| 91女神在线视频| 午夜精品123| 精品国产99国产精品| 丁香桃色午夜亚洲一区二区三区| 中文字幕欧美一区| 欧美中文字幕不卡| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久综合九色综合97_久久久| 成人国产精品视频| 亚洲午夜视频在线| 日韩免费视频线观看| 国产成人亚洲综合a∨婷婷| 国产精品国产精品国产专区不片 | 国产精品99久久久久久久女警| 欧美激情一区二区三区不卡| 色八戒一区二区三区| 日韩av在线播放中文字幕| 久久久亚洲精品石原莉奈| 成人高清在线视频| 亚洲6080在线| 国产亚洲成年网址在线观看| 91麻豆精东视频| 日本中文在线一区| 中文字幕av一区二区三区高| 日本高清不卡在线观看| 日韩av一区二区在线影视| 中文字幕乱码久久午夜不卡| 在线一区二区三区四区| 久久99精品久久久久久久久久久久 | 国产乱人伦偷精品视频不卡 | 欧美激情在线看| 欧美日韩一区不卡| 国产伦精一区二区三区| 亚洲精品一二三区| 精品国产伦一区二区三区观看方式| 97精品国产露脸对白| 青青国产91久久久久久| 亚洲欧美一区二区视频| 日韩欧美一区电影| 91黄色在线观看| 国产美女在线观看一区| 亚洲综合在线第一页| 久久久亚洲精华液精华液精华液 | 成人性色生活片| 视频一区免费在线观看| 中文字幕视频一区| 欧美成人艳星乳罩| 欧美熟乱第一页| 国产ts人妖一区二区| 日本三级亚洲精品| 亚洲色欲色欲www在线观看| 欧美精品一区二区三区蜜臀| 91福利区一区二区三区| 岛国精品一区二区| 激情综合网激情| 午夜精品一区二区三区电影天堂| 国产精品网站在线观看| 欧美成人欧美edvon| 欧美色手机在线观看| 本田岬高潮一区二区三区| 美女被吸乳得到大胸91| 亚洲国产一区二区三区青草影视| 国产欧美视频在线观看| 欧美tk—视频vk| 欧美一区二区三区视频免费| 91久久精品午夜一区二区| 粉嫩嫩av羞羞动漫久久久 | 亚洲电影中文字幕在线观看| 国产精品久久久久久久久免费樱桃| 欧美tickling网站挠脚心| 欧美精品乱人伦久久久久久| 日本道色综合久久| 91首页免费视频| 风间由美一区二区av101| 国产美女视频91| 久久99日本精品| 免费观看一级特黄欧美大片| 亚洲123区在线观看| 一区二区三区在线观看国产| 亚洲欧洲性图库| 国产精品午夜在线| 国产精品日韩成人| 国产清纯美女被跳蛋高潮一区二区久久w | 精品视频在线视频| 91视频在线看| 91在线视频播放| 成人avav影音| 成人18精品视频| eeuss鲁片一区二区三区在线观看| 高清在线成人网| 国产成人精品影视| 国产精品18久久久久| 国产精品夜夜嗨| 国产精品中文字幕一区二区三区| 国产麻豆欧美日韩一区| 国产激情精品久久久第一区二区| 国产黄色精品视频| 风间由美一区二区av101| 成人毛片视频在线观看| 成人av在线看| 99精品视频在线免费观看| 91在线观看一区二区| 91色.com| 欧美视频中文字幕| 8v天堂国产在线一区二区| 制服丝袜av成人在线看| 日韩一级片网址| 精品日韩在线一区| 国产偷国产偷亚洲高清人白洁| 国产日产亚洲精品系列| 一色桃子久久精品亚洲| 亚洲一二三区视频在线观看| 五月综合激情网| 伦理电影国产精品| 国产寡妇亲子伦一区二区| 不卡的电视剧免费网站有什么| aaa国产一区| 欧美日韩色一区| 欧美变态tickling挠脚心| 久久久综合九色合综国产精品| 国产精品少妇自拍| 亚洲精品少妇30p| 亚洲丰满少妇videoshd| 久久精品国产久精国产| 国产经典欧美精品| 色婷婷精品大在线视频| 欧美精品久久天天躁| 久久综合久久综合久久综合| 中文字幕在线视频一区| 亚洲一卡二卡三卡四卡无卡久久 | 毛片基地黄久久久久久天堂| 国产精品白丝jk白祙喷水网站 | 国产九色sp调教91| 91在线视频播放地址| 欧美日韩第一区日日骚| 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品久久久久婷婷| 亚洲一区二区三区爽爽爽爽爽| 蜜臀91精品一区二区三区 | 美女脱光内衣内裤视频久久网站| 国产精品18久久久久久vr| 91久久精品一区二区| 日韩精品一区二区三区老鸭窝| 中文字幕欧美一区|