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

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

?? mainform.cpp

?? TvicHW32(評估版)另一個編寫驅動程序的實用工具(497KB)
?? CPP
字號:
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include <vcl\IniFiles.hpp>
#include "mainform.h"
//---------------------------------------------------------------------------
#pragma link "Grids"
#pragma resource "*.dfm"

#define MaxPorts  8

#include "tvichw32.h"

Word      PortWSel,PortRSel,NumLine,NumSymbol;
Byte      ValWSel,NomWSel,NomRSel,Scan_Code,Data_Reg,Status_Reg;
DWORD     TestVar,CurrAddr,PhysAddr,IRQCounter,Flag_Intr,Flag_Tim,
          Sum_Ticks,CurrTicker,OldTicker;
char      TestString[256];
TCheckBox *CPinRead[26],*CPinWrite[26];
Byte      *TPointPhys[17][17];
boolean   FlagPrint;
BOOL      ActiveHW = FALSE;
Byte      *PointPhys;
short	  IRQ;

PVicHW32Descriptor HwCtrl;

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
ULONG CharToNumber(char ch)
{
  int n,i;
  char hexh[17] = "0123456789ABCDEF";
  n = 0;
  for (i=0;i<=15;i++){ if (UpperCase(ch)==hexh[i]) n=i; }
  return n;
}
//---------------------------------------------------------------------------
int HexToInt(AnsiString s)
{

  int i,r,k;
  char    ch;

  k=1; r=0;
  for (i=s.Length();i>0; i--){
    ch=s[i];
    r=r+CharToNumber(ch)*k; if (i>1) k*=16;
  }
  return r;
}
// ---------------------------------------------------------
// Hardware Interrupt Handler
// ---------------------------------------------------------
void _stdcall
HWCtrlHwInterrupt(long  HWCounter,
				  short LPT_DataReg,
				  short LPT_StatusReg,
				  short Keyb_ScanCode)
{
	Flag_Intr ++;
	IRQCounter = HWCounter;
	Scan_Code = Keyb_ScanCode;
    Data_Reg = LPT_DataReg;
	Status_Reg = LPT_StatusReg;

}

//---------------------------------------------------------------------------
void ShowButtons()
{
   Form1->B_SetMemory->Enabled  =  ActiveHW;
   if (!ActiveHW) Form1->B_Mask->Checked  =  FALSE;
   Form1->SpinLPT->Enabled = ActiveHW;
   if (ActiveHW) {
      Form1->SpinLPT->Max = GetLPTNumPorts(HwCtrl);
      Form1->L_LPTs->Caption = IntToStr(GetLPTNumPorts(HwCtrl));
      Form1->L_Base->Caption = IntToHex(GetLPTBasePort(HwCtrl),3)+'h';
      Form1->C_Hard->Checked  =  GetHardAccess(HwCtrl);
   }
   Form1->L_LPTNumber->Caption = IntToStr(Form1->SpinLPT->Position);
   Form1->C_Hard->Enabled  =  ActiveHW;
   Form1->SpinIRQ->Enabled  =  ActiveHW && (!Form1->B_Mask->Checked);
   Form1->B_Open->Enabled = !ActiveHW;
   Form1->B_CloseDriver->Enabled  =  ActiveHW;
   Form1->B_Write->Enabled = ActiveHW;
   Form1->B_Read->Enabled = ActiveHW;
   Form1->B_WriteAll->Enabled = ActiveHW;
   Form1->B_ReadAll->Enabled = ActiveHW;
   Form1->C_Init->Enabled = ActiveHW;
   Form1->B_Print->Enabled = ActiveHW;
   Form1->B_Stop->Enabled = ActiveHW;
   Form1->B_ReadMemory->Enabled = ActiveHW && (PointPhys!=NULL);
   Form1->B_FillMemory->Enabled = ActiveHW && (PointPhys!=NULL);
   Form1->B_Mask->Enabled = ActiveHW && (IRQ>0) && (IRQ<16);
   Form1->C_LPT_IRQ->Enabled = ActiveHW &&
       ((IRQ==7 && GetLPTNumber(HwCtrl) == 1) ||
       (IRQ==5  && GetLPTNumber(HwCtrl) == 2));
   for (int nPin = 1;  nPin<18; nPin++) {
     if (!ActiveHW) CPinRead[nPin]->Checked = FALSE;
     if (!ActiveHW) CPinWrite[nPin]->Checked = FALSE;
     CPinWrite[nPin]->Enabled = ActiveHW;
   };
   CPinWrite[10]->Enabled = FALSE;
   CPinWrite[11]->Enabled = FALSE;
   CPinWrite[12]->Enabled = FALSE;
   CPinWrite[13]->Enabled = FALSE;
   CPinWrite[15]->Enabled = FALSE;
}
void __fastcall TForm1::FormActivate(TObject *Sender)
{
 int i;

 TIniFile* MyIniFile = new TIniFile("HW_test");
 TabbedNotebook1->PageIndex = 0;
 CPinRead[ 1] = RPin1;    CPinWrite[ 1] = WPin1;
 CPinRead[ 2] = RPin2;    CPinWrite[ 2] = WPin2;
 CPinRead[ 3] = RPin3;    CPinWrite[ 3] = WPin3;
 CPinRead[ 4] = RPin4;    CPinWrite[ 4] = WPin4;
 CPinRead[ 5] = RPin5;    CPinWrite[ 5] = WPin5;
 CPinRead[ 6] = RPin6;    CPinWrite[ 6] = WPin6;
 CPinRead[ 7] = RPin7;    CPinWrite[ 7] = WPin7;
 CPinRead[ 8] = RPin8;    CPinWrite[ 8] = WPin8;
 CPinRead[ 9] = RPin9;    CPinWrite[ 9] = WPin9;
 CPinRead[10] = RPin10;   CPinWrite[10] = WPin10; WPin10->Enabled = FALSE;
 CPinRead[11] = RPin11;   CPinWrite[11] = WPin11; WPin11->Enabled = FALSE;
 CPinRead[12] = RPin12;   CPinWrite[12] = WPin12; WPin12->Enabled = FALSE;
 CPinRead[13] = RPin13;   CPinWrite[13] = WPin13; WPin13->Enabled = FALSE;
 CPinRead[14] = RPin14;   CPinWrite[14] = WPin14;
 CPinRead[15] = RPin15;   CPinWrite[15] = WPin15; WPin15->Enabled = FALSE;
 CPinRead[16] = RPin16;   CPinWrite[16] = WPin16;
 CPinRead[17] = RPin17;   CPinWrite[17] = WPin17;


  if ((GetVersion() & 0x80000000) != 0)
     Label3->Caption = "Windows 95/98";
  else
     Label3->Caption = "Windows NT";
  PhysAddr = MyIniFile->ReadInteger("misc","ADDR",0xC0044);
  IRQ = (short)MyIniFile->ReadInteger("misc","IRQ",10);
  SpinIRQ->Position = IRQ; L_IRQ->Caption = IntToStr(IRQ);
  E_Addr->Text = IntToHex(PhysAddr,8);
  for (i=1; i<=MaxPorts; i++) {
      GWrite->Cells[0][i] = IntToStr(i);
      GWrite->Cells[1][0] = "PORT";
      GWrite->Cells[2][0] = "VAL";
      GWrite->Cells[1][i] = MyIniFile->ReadString("PortW","Port"+IntToStr(i),"");
      GWrite->Cells[2][i] = MyIniFile->ReadString("Values","Val"+IntToStr(i),"");
      GRead->Cells[0][i] = IntToStr(i);
      GRead->Cells[1][0] = "PORT";
      GRead->Cells[2][0] = "VAL";
      GRead->Cells[1][i] = MyIniFile->ReadString("PortR","Port"+IntToStr(i),"");
  };
 MyIniFile->Free();
 MemoHex->Cells[0][0] = "  ADDR";
 MemoHex->Cells[1][0] = "             HEX";
 MemoHex->Cells[2][0] = "     ASCII";
 ShowButtons();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::B_WriteClick(TObject *Sender)
{
   PortWSel=(Word)HexToInt(GWrite->Cells[1][GWrite->Row]);
   GWrite->Cells[1][GWrite->Row]=IntToHex(PortWSel,4);
   ValWSel=(UCHAR)HexToInt(GWrite->Cells[2][GWrite->Row]);
   GWrite->Cells[2][GWrite->Row]=IntToHex(ValWSel,2);
   NomWSel=(Word)GWrite->Row;
   if (PortWSel==0) {MessageBeep(0); return;}
   SetPortByte(HwCtrl,PortWSel,ValWSel);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::B_WriteAllClick(TObject *Sender)
{
  Word i,P,V;
  for (i=1; i<=MaxPorts; i++) {
    P=(Word)HexToInt(GWrite->Cells[1][i]); GWrite->Cells[1][i]=IntToHex(P,4);
    if (P) {
      V=(Word)HexToInt(GWrite->Cells[2][i]); GWrite->Cells[2][i]=IntToHex(V,2);
      SetPortByte(HwCtrl,P,V);
    }
   }

}
//---------------------------------------------------------------------------
void __fastcall TForm1::B_ReadClick(TObject *Sender)
{
   PortRSel=(Word)HexToInt(GRead->Cells[1][GRead->Row]);
   GRead->Cells[1][GRead->Row]=IntToHex(PortRSel,4);
   NomRSel=(Word)GRead->Row;
   if (PortRSel==0) { MessageBeep(0); return; }
   GRead->Cells[2][GRead->Row]=IntToHex((int)GetPortByte(HwCtrl,PortRSel),2);

}
//---------------------------------------------------------------------------
void __fastcall TForm1::B_ReadAllClick(TObject *Sender)
{
 UCHAR cl[17];
 Word  ports[17],P,N,i;

 N=0;
 for (i=1; i<=MaxPorts; i++) {
   P=(Word)HexToInt(GRead->Cells[1][i]);
   GRead->Cells[1][i]=IntToHex(P,4);
   if(P) {ports[++N]=P; cl[N]=(UCHAR) i;}
 }
 for (i=1; i<=N; i++)
   GRead->Cells[2][cl[i]]=IntToHex((int)GetPortByte(HwCtrl,ports[i]),2);


}
//---------------------------------------------------------------------------
void __fastcall TForm1::C_HardClick(TObject *Sender)
{
  SetHardAccess(HwCtrl,C_Hard->Checked);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::B_SetMemoryClick(TObject *Sender)
{
  ULONG i,n;
  PhysAddr=0; n=0x10000000L;
  for (i=1; i<=8; i++){
    PhysAddr=PhysAddr+CharToNumber(E_Addr->Text[i])*n; n=n>>4;
  };
  E_Addr->Text = IntToHex(PhysAddr,8);
  PointPhys = (Byte*)MapPhysToLinear(HwCtrl,PhysAddr,256);
  B_SetMemory->Enabled = false;
  ShowButtons();

}
//---------------------------------------------------------------------------
void __fastcall TForm1::B_ReadMemoryClick(TObject *Sender)
{
int i,j;
AnsiString s,s1;
char b;
Byte *LocP;

  if (PointPhys) {
    CurrAddr = PhysAddr;
    LocP = PointPhys;
    for (i=1; i<=16; i++) {
      MemoHex->Cells[0][i]=IntToHex(CurrAddr,8);
      s  = "";
      s1 = "";
      for (j=1; j<=16; j++) {
        s = s+IntToHex(*LocP,2);
        b=*LocP++;
        if (b<0x20) b='.';
        s1 = s1 + b;
      }
      MemoHex->Cells[1][i]=s;
      MemoHex->Cells[2][i]=s1;
      CurrAddr+=16;
    }

  }

}
//---------------------------------------------------------------------------
void __fastcall TForm1::E_AddrChange(TObject *Sender)
{
B_SetMemory->Enabled = true;	
}
//---------------------------------------------------------------------------
void __fastcall TForm1::B_MaskClick(TObject *Sender)
{
  if (!ActiveHW) return;
  if (!B_Mask->Checked) {
      Sum_Ticks = Flag_Tim;
      MaskIRQ(HwCtrl);
      SetPortByte(HwCtrl,(Word)GetLPTBasePort(HwCtrl)+2,(Byte)0x00);
      C_LPT_IRQ->Checked = FALSE;
  }
  else {
      IRQ  =  SpinIRQ->Position;
      SetIRQ(HwCtrl,(BYTE)IRQ, HWCtrlHwInterrupt);
      Flag_Intr  =  0;
      Sum_Ticks  =  0;
      Flag_Tim   =  0;
      Scan_Code  =  0;
      UnmaskIRQ(HwCtrl);
   };
   ShowButtons();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::C_LPT_IRQClick(TObject *Sender)
{
  Word n = GetLPTBasePort(HwCtrl)+2;
  if (C_LPT_IRQ->Checked)
    SetPortByte(HwCtrl,n,0x10);
  else
    SetPortByte(HwCtrl,n,0x00);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::WPin1Click(TObject *Sender)
{
  for (Byte nPin = 1; nPin<=17; nPin++)
     SetPin(HwCtrl,nPin,(BOOL)CPinWrite[nPin]->Checked);
	
}
//---------------------------------------------------------------------------
void __fastcall TForm1::C_InitClick(TObject *Sender)
{
  LPTInit(HwCtrl);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::B_ClearClick(TObject *Sender)
{
  TextMemo->Clear();	
}
//---------------------------------------------------------------------------
void __fastcall TForm1::B_PrintClick(TObject *Sender)
{
    if (FlagPrint) return;
    NumLine = 0;
    NumSymbol = 1;
    FlagPrint = TRUE;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::B_StopClick(TObject *Sender)
{
  FlagPrint = FALSE;	
}
//---------------------------------------------------------------------------
void __fastcall TForm1::B_OpenClick(TObject *Sender)
{
  HwCtrl = NULL;
  HwCtrl = OpenTVicHW32(HwCtrl);
  ActiveHW = GetActiveHW(HwCtrl);
//  L_Debug.caption:='DebugCode='+IntToStr(HwCtrl.DebugCode);
  if (!ActiveHW) {
    MessageBeep(0);
    Application->MessageBox("Driver  VICHWxx  not found",
                      " Warning! ",IDOK);
  }
  else {
         IRQ = SpinIRQ->Position;
//         IRQNumber = (Byte)IRQ;
         Timer1->Enabled = TRUE;
       };
  B_SetMemory->Enabled = TRUE;
  ShowButtons();

}
//---------------------------------------------------------------------------
void __fastcall TForm1::B_CloseDriverClick(TObject *Sender)
{
  Timer1->Enabled = FALSE;
  ActiveHW = FALSE;
  SetPortByte(HwCtrl,GetLPTBasePort(HwCtrl)+2,0x00);
  C_LPT_IRQ->Checked = FALSE;
  HwCtrl = CloseTVicHW32(HwCtrl);
  PointPhys = NULL;
  B_SetMemory->Enabled = FALSE;
  Flag_Intr = 0;
  ShowButtons();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
//    ShortString s;
    AnsiString s;
    if (ActiveHW) L_Gen->Caption = IntToStr(IRQCounter);
//    L_Debug->caption = "DebugCode="+IntToStr(DebugCode);
    L_ScanCode->Caption = ": "+IntToHex(Scan_Code,2)+"h";
    L_LPT_Data->Caption = ": "+IntToHex(Data_Reg,2)+"h";
    L_LPT_STATUS->Caption = ": "+IntToHex(Status_Reg,2)+"h";
    L_Timers->Caption = IntToStr(Flag_Tim / 1000);
    L_Flag->Caption = IntToStr(Flag_Intr);
    if (ActiveHW && (!IsIRQMasked(HwCtrl))){
      CurrTicker = GetTickCount();
      Flag_Tim = Sum_Ticks+CurrTicker-OldTicker;
    }
    else  OldTicker = GetTickCount();
    for ( Byte nPin = 1; nPin<=17;  nPin++)
      CPinRead[nPin]->Checked = GetPin(HwCtrl,nPin);
    C_ACKWL->Checked  =  GetLPTAckwl(HwCtrl);
    C_BUSY->Checked   =  GetLPTBusy(HwCtrl);
    C_ERROR->Checked  =  GetLPTError(HwCtrl);
    C_PE->Checked     =  GetLPTPaperEnd(HwCtrl);
    C_SLCT->Checked   =  GetLPTSlct(HwCtrl);

    if (FlagPrint) {
      Timer1->Enabled = FALSE;
      for ( Byte i = 1; i<100; i++) {
        Application->ProcessMessages();
        s = TextMemo->Lines->Strings[NumLine];
        s = s+(char)0x0D+(char)0x0A;
        if (NumSymbol>(Word)strlen(s.c_str())) {
          if (NumLine == TextMemo->Lines->Count) {
             Timer1->Enabled = TRUE;
             FlagPrint = FALSE; return;
          };
          NumLine++;
          s = TextMemo->Lines->Strings[NumLine]+(char)0x0D+(char)0x0A;
          NumSymbol = 1;
        };
        if (LPTPrintChar(HwCtrl,s[NumSymbol])) NumSymbol++;
      };
      Timer1->Enabled = TRUE;
    };

    B_Stop->Enabled = FlagPrint;
    B_Print->Enabled = ! FlagPrint;

}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpinIRQClick(TObject *Sender, TUDBtnType Button)
{
  IRQ = SpinIRQ->Position;
  L_IRQ->Caption = IntToStr(IRQ);
  ShowButtons();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpinLPTClick(TObject *Sender, TUDBtnType Button)
{
  SetLPTNumber(HwCtrl,SpinLPT->Position);
  ShowButtons();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{
 int i;

 TIniFile* MyIniFile = new TIniFile("HW_test");
 MyIniFile->WriteInteger("misc","ADDR",PhysAddr);
 MyIniFile->WriteInteger("misc","IRQ",IRQ);
 for (i = 1; i<=MaxPorts; i++) {
      MyIniFile->WriteString("PortW","Port"+IntToStr(i),GWrite->Cells[1][i]);
      MyIniFile->WriteString("Values","Val"+IntToStr(i),GWrite->Cells[2][i]);
      MyIniFile->WriteString("PortR","Port"+IntToStr(i),GRead->Cells[1][i]);
 };
 MyIniFile->Free();
 Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::HwCtrlHwInterrupt(TObject *Sender, int HwCounter,
	short LPT_DataReg, short LPT_StatusReg, short ScanCode)
{
  Data_Reg   = LPT_DataReg;
  Status_Reg = LPT_StatusReg;
  Scan_Code  = ScanCode;
  IRQCounter = HwCounter;
  Flag_Intr++;

}
//---------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久午夜色播影院免费高清| 无码av中文一区二区三区桃花岛| 一区二区三区精品| 国产综合久久久久久鬼色| 在线免费视频一区二区| 国产三级精品三级| 另类中文字幕网| 欧美精品粉嫩高潮一区二区| 亚洲三级在线看| 国产成a人无v码亚洲福利| 欧美成人一级视频| 亚洲电影视频在线| 色老汉一区二区三区| 国产亚洲精品精华液| 精品一区二区三区不卡| 欧美视频在线不卡| 中文字幕欧美一| a亚洲天堂av| 中文字幕一区二区三区乱码在线 | 亚洲一区在线观看免费 | 美女视频黄久久| 91成人免费在线视频| 中文字幕一区二区三区不卡 | 日韩免费看网站| 日本欧美大码aⅴ在线播放| 在线视频观看一区| 亚洲欧美日韩国产手机在线| 成a人片亚洲日本久久| 国产婷婷精品av在线| 国产一区中文字幕| 久久久久久久网| 国产精品一区二区不卡| www久久精品| 国产精品系列在线观看| 国产丝袜在线精品| 成人精品高清在线| 综合亚洲深深色噜噜狠狠网站| 成人午夜大片免费观看| 国产视频一区在线观看| 成人一级片在线观看| 中文乱码免费一区二区| 成人免费va视频| 中文字幕一区二区三区视频| 日本韩国一区二区三区视频| 亚洲午夜一区二区三区| 欧美精品在线视频| 狠狠久久亚洲欧美| 中文乱码免费一区二区| 色老头久久综合| 日韩av电影免费观看高清完整版在线观看| 欧美一区二区三区不卡| 久久aⅴ国产欧美74aaa| 欧美激情一区二区三区蜜桃视频 | 91麻豆精品久久久久蜜臀| 久久国产人妖系列| 国产精品国产a| 欧美性一级生活| 久久国产麻豆精品| 亚洲欧洲99久久| 欧美一级在线观看| 国产91高潮流白浆在线麻豆| 亚洲青青青在线视频| 91麻豆精品国产自产在线 | 欧美午夜一区二区三区免费大片| 亚洲国产成人高清精品| 欧美精品一区二区三区蜜臀| 色综合夜色一区| 激情综合网av| 亚洲国产精品久久久久秋霞影院| 精品国产自在久精品国产| 色狠狠桃花综合| 国产福利一区在线观看| 亚洲国产精品久久久久婷婷884 | 午夜电影久久久| 国产欧美日韩亚州综合 | 精品视频全国免费看| 国产专区欧美精品| 亚洲高清一区二区三区| 久久久国产午夜精品| 在线播放日韩导航| 成人a级免费电影| 美女尤物国产一区| 亚洲一区二区三区美女| 日本一区免费视频| 日韩精品在线看片z| 欧美影视一区二区三区| 成+人+亚洲+综合天堂| 美女一区二区三区| 亚洲成人动漫一区| 综合激情成人伊人| 国产视频不卡一区| 日韩欧美色电影| 欧美久久久久久久久久 | 不卡一区中文字幕| 久久99国内精品| 午夜影院久久久| 亚洲一区二区三区中文字幕在线| 欧美激情在线一区二区| 久久综合九色综合欧美就去吻| 欧美午夜一区二区| 91成人在线免费观看| 91视频精品在这里| 91美女蜜桃在线| 99re在线精品| 色综合久久综合网欧美综合网 | 精久久久久久久久久久| 视频一区二区国产| 日韩高清在线一区| 奇米精品一区二区三区在线观看| 丝袜亚洲另类欧美| 视频一区二区三区中文字幕| 婷婷夜色潮精品综合在线| 亚洲午夜在线视频| 日产欧产美韩系列久久99| 日日噜噜夜夜狠狠视频欧美人| 天堂一区二区在线免费观看| 午夜久久久影院| 天天综合网 天天综合色| 视频一区二区中文字幕| 日本伊人色综合网| 国产在线精品免费av| 国产精品综合二区| 成人黄色av电影| 91蜜桃在线观看| 欧美日韩你懂得| 日韩女优av电影| 国产色综合久久| 一区二区在线免费观看| 亚洲午夜精品一区二区三区他趣| 亚洲成人动漫av| 经典三级在线一区| 成人免费av网站| 欧美午夜不卡视频| 欧美一级视频精品观看| 欧美经典一区二区三区| 国产精品第四页| 天天综合网 天天综合色| 国产尤物一区二区| gogo大胆日本视频一区| 欧美嫩在线观看| 久久综合99re88久久爱| 亚洲欧洲精品一区二区精品久久久| 亚洲精品成人精品456| 免费人成精品欧美精品 | 麻豆精品国产传媒mv男同| 国产·精品毛片| 精品视频一区三区九区| 国产亚洲欧美激情| 亚洲国产日韩精品| 国产伦精品一区二区三区在线观看| 97精品久久久午夜一区二区三区| 欧美乱熟臀69xxxxxx| 日本一区二区免费在线观看视频 | 亚洲精品国久久99热| 久久电影网站中文字幕| 99久久精品免费| 精品国产污网站| 一区二区三区欧美| 国产一区二区女| 欧美乱妇23p| 国产精品狼人久久影院观看方式| 亚洲成人资源网| 91丝袜美腿高跟国产极品老师| 欧美mv日韩mv国产网站app| 亚洲三级在线免费观看| 国产精一区二区三区| 欧美日韩卡一卡二| 自拍偷拍欧美精品| 激情欧美一区二区| 欧美高清视频不卡网| 日韩一区有码在线| 国产精品一区二区91| 日韩视频国产视频| 亚洲综合精品自拍| 91在线精品秘密一区二区| 精品国产第一区二区三区观看体验| 亚洲一区二区三区四区五区中文| 成人美女在线观看| 久久精品一区八戒影视| 美女一区二区视频| 91精品国产一区二区三区蜜臀| 亚洲日本在线a| 成人激情午夜影院| 久久女同精品一区二区| 麻豆一区二区99久久久久| 欧美男人的天堂一二区| 一区二区在线免费| 91丝袜国产在线播放| ●精品国产综合乱码久久久久| 国产精品一区一区三区| 精品国产1区2区3区| 久久精品国产亚洲aⅴ | 欧美精品在线一区二区三区| 亚洲午夜电影在线| 欧美日免费三级在线| 天天色图综合网| 欧美片在线播放| 免费精品视频在线| 欧美tickling网站挠脚心| 激情久久五月天|