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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lion-tut-c12.htm

?? 內(nèi)有一些代碼
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<HTML>
<head>
<link rel="stylesheet" href="../../asm.css">

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Iczelion's win32 asm tutorial</title>
</head>

<body bgcolor="#FFFFFF" background="../../images/back01.jpg">
<P align=center><FONT color=#0000ff>第十二課 內(nèi)存管理和文件輸入/輸出</FONT></P>
<HR SIZE=1>
本課中我們將學(xué)習(xí)基本的內(nèi)存管理和文件輸入/輸出操作方面的知識。另外我們還將用上課學(xué)的通用對話框作為我們的顯示“設(shè)備”。 
<P><FONT color=#ff0000>理論:</FONT> 
<P>從用戶的角度來看,WIN32的內(nèi)存管理是非常簡單和明了的。每一個應(yīng)用程序都有自己獨(dú)立的4G地址空間,這種內(nèi)存模式叫做“平坦”型地址模式,所有的段寄存器或描述符都指向同樣的起始地址,所有的地址偏移都是32位的長度,這樣一個應(yīng)用程序無須變換選擇符就可以存取自己的多達(dá)4G的地址空間。這種內(nèi)存管理模式是非常簡潔而便于管理的,而且我們再不用和那些令人討厭的“near”和“far”指針打交道了。<BR>
  在W16下有兩種主要類型的API:全局和局部。“全局”的API 分配在其他的段中,這樣從內(nèi)存角度來看他們是一些“far”(遠(yuǎn))函數(shù)或者叫遠(yuǎn)過程調(diào)用,“局部”API只要和進(jìn)程的堆打交道,所以把它們叫做“near”(近)函數(shù)或者近過程調(diào)用。而在WIN32中,這兩種內(nèi)存模式是相同的,無論您調(diào)用GlobalAlloc還是LocalAlloc,結(jié)果都是一樣。<BR>
  至于分配和使用內(nèi)存的過程都是一樣的: 
<OL>
  <LI>調(diào)用GlobalAlloc函數(shù)分配一塊內(nèi)存,該函數(shù)會返回分配的內(nèi)存句柄。 
  <LI>調(diào)用GlobalLock函數(shù)鎖定內(nèi)存塊,該函數(shù)接受一個內(nèi)存句柄作為參數(shù),然后返回一個指向被鎖定的內(nèi)存塊的指針。 
  <LI>您可以用該指針來讀寫內(nèi)存。 
  <LI>調(diào)用GlobalUnlock函數(shù)來解鎖先前被鎖定的內(nèi)存,該函數(shù)使得指向內(nèi)存塊的指針無效。 
  <LI>調(diào)用GlobalFree函數(shù)來釋放內(nèi)存塊。您必須傳給該函數(shù)一個內(nèi)存句柄。 </LI>
</OL>
<P>在WIN32中您也可以用“Local”替代內(nèi)存分配API函數(shù)帶有“Global”字樣的函數(shù)中的“Global”,也即用LocalAlloc、LocalLock等。<BR>
  在調(diào)用函數(shù)GlobalAlloc時使用GMEM_FIXED標(biāo)志位可以更進(jìn)一步簡化操作。使用了該標(biāo)志后,Global/LocalAlloc返回的是指向已分配內(nèi)存的指針而不是句柄,這樣也就不用調(diào)用Global/LocalLock來鎖定內(nèi)存了,釋放內(nèi)存時只要直接調(diào)用Global/LocalFree就可以了。不過在本課中我們只使用傳統(tǒng)的方法,因?yàn)槠渌胤接性S多的源代碼是用這種方法寫的。</P>
<P>WIN32的文件輸入/輸出API和DOS下的從外表上看幾乎一樣(譯者注:也許不管內(nèi)部實(shí)現(xiàn)多么不同,可以想象所有的文件系統(tǒng)暴露給應(yīng)用程序編寫者的接口的功能應(yīng)該基本相同),不同的只是把DOS下的中斷方式處理文件輸入/輸出變成了對API函數(shù)的調(diào)用。以下是基本的步驟: 
  <BR>
  &nbsp; 
<OL>
  <LI>調(diào)用CreateFile函數(shù)生成一個文件,該函數(shù)可以應(yīng)用在多方面,除了磁盤文件外,我們還可以用來打開通訊端口、管道、驅(qū)動程序或控制臺。如果成功的話,會返回指向文件或設(shè)備的句柄。然后可以使用該句柄去完成對文件或設(shè)備操作。<BR>
    調(diào)用SetFilePointer來把文件指針移到想讀寫的地方。. 
  <LI>然后調(diào)用ReadFile 或 WriteFile來完成實(shí)際的讀寫。這些函數(shù)會自己處理文件和內(nèi)存之間的數(shù)據(jù)傳送,這樣免得您自己去做分配內(nèi)存等繁雜的瑣事。 
  <LI>調(diào)用CloseHandle來關(guān)閉文件。該函數(shù)接受一個先前打開的文件句柄。 </LI>
</OL>
<P><FONT color=#ff0000>內(nèi)容:</FONT></P>
<P>下面的代碼段演示了:打開一個“打開文件”對話框,用戶可以選擇打開一個文本文件,然后在一個編輯控件中打開該文本文件的內(nèi)容,另外用戶還可以編輯該文本文件的內(nèi)容并選擇保存。</P>
<P><B>.386</B> <BR>
  <B>.model flat,stdcall</B> <BR>
  <B>option casemap:none</B> <BR>
  <B>WinMain proto :DWORD,:DWORD,:DWORD,:DWORD</B> <BR>
  <B>include \masm32\include\windows.inc</B> <BR>
  <B>include \masm32\include\user32.inc</B> <BR>
  <B>include \masm32\include\kernel32.inc</B> <BR>
  <B>include \masm32\include\comdlg32.inc</B> <BR>
  <B>includelib \masm32\lib\user32.lib</B> <BR>
  <B>includelib \masm32\lib\kernel32.lib</B> <BR>
  <B>includelib \masm32\lib\comdlg32.lib</B> 
<P><B>.const</B> <BR>
  <B>IDM_OPEN equ 1</B> <BR>
  <B>IDM_SAVE equ 2</B> <BR>
  <B>IDM_EXIT equ 3</B> <BR>
  <B>MAXSIZE equ 260</B> <BR>
  <B>MEMSIZE equ 65535</B> 
<P><B>EditID equ 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  ; ID of the edit control</B> 
<P><B>.data</B> <BR>
  <B>ClassName db "Win32ASMEditClass",0</B> <BR>
  <B>AppName&nbsp; db "Win32 ASM Edit",0</B> <BR>
  <B>EditClass db "edit",0</B> <BR>
  <B>MenuName db "FirstMenu",0</B> <BR>
  <B>ofn&nbsp;&nbsp; OPENFILENAME &lt;&gt;</B> <BR>
  <B>FilterString db "All Files",0,"*.*",0</B> <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  db "Text Files",0,"*.txt",0,0</B> <BR>
  <B>buffer db MAXSIZE dup(0)</B> 
<P><B>.data?</B> <BR>
  <B>hInstance HINSTANCE ?</B> <BR>
  <B>CommandLine LPSTR ?</B> <BR>
  <B>hwndEdit HWND ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  ; Handle to the edit control</B> <BR>
  <B>hFile HANDLE ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  ; File handle</B> <BR>
  <B>hMemory HANDLE ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  ;handle to the allocated memory block</B> <BR>
  <B>pMemory DWORD ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  ;pointer to the allocated memory block</B> <BR>
  <B>SizeReadWrite DWORD ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  ; number of bytes actually read or write</B> 
<P><B>.code</B> <BR>
  <B>start:</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; invoke GetModuleHandle, NULL</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp; hInstance,eax</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; invoke GetCommandLine<BR>
  &nbsp;&nbsp;&nbsp;&nbsp;mov CommandLine,eax</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT</B> 
  <BR>
  <B>&nbsp;&nbsp;&nbsp; invoke ExitProcess,eax</B> 
<P><B>WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:SDWORD</B> 
  <BR>
  <B>&nbsp;&nbsp;&nbsp; LOCAL wc:WNDCLASSEX</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; LOCAL msg:MSG</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; LOCAL hwnd:HWND</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; wc.cbSize,SIZEOF WNDCLASSEX</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; wc.style, CS_HREDRAW or CS_VREDRAW</B> 
  <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; wc.lpfnWndProc, OFFSET WndProc</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; wc.cbClsExtra,NULL</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; wc.cbWndExtra,NULL</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; push&nbsp; hInst</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; pop&nbsp;&nbsp; wc.hInstance</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; wc.hbrBackground,COLOR_WINDOW+1</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; wc.lpszMenuName,OFFSET MenuName</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; wc.lpszClassName,OFFSET ClassName</B> 
  <BR>
  <B>&nbsp;&nbsp;&nbsp; invoke LoadIcon,NULL,IDI_APPLICATION</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; wc.hIcon,eax</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; wc.hIconSm,eax</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; invoke LoadCursor,NULL,IDC_ARROW</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; wc.hCursor,eax</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; invoke RegisterClassEx, addr wc</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; invoke CreateWindowEx,WS_EX_CLIENTEDGE,ADDR ClassName,ADDR 
  AppName,\</B> <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,\</B> 
  <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CW_USEDEFAULT,300,200,NULL,NULL,\</B> 
  <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hInst,NULL</B> 
  <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp; hwnd,eax</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; invoke ShowWindow, hwnd,SW_SHOWNORMAL</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; invoke UpdateWindow, hwnd</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; .WHILE TRUE</B> <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke GetMessage, ADDR msg,NULL,0,0</B> 
  <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .BREAK .IF (!eax)</B> <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke TranslateMessage, ADDR 
  msg</B> <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke DispatchMessage, ADDR msg</B> 
  <BR>
  <B>&nbsp;&nbsp;&nbsp; .ENDW</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; eax,msg.wParam</B> <BR>
  <B>&nbsp;&nbsp;&nbsp; ret</B> <BR>
  <B>WinMain endp</B> 
<P><B>WndProc proc uses ebx hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM</B> 
  <BR>
  <B>&nbsp;&nbsp;&nbsp; .IF uMsg==WM_CREATE</B> <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke CreateWindowEx,NULL,ADDR 
  EditClass,NULL,\</B> <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  WS_VISIBLE or WS_CHILD or ES_LEFT or ES_MULTILINE or\</B> <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  ES_AUTOHSCROLL or ES_AUTOVSCROLL,0,\</B> <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  0,0,0,hWnd,EditID,\</B> <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  hInstance,NULL</B> <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov hwndEdit,eax</B> <BR>
  <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; invoke SetFocus,hwndEdit</B> <BR>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线一区二区三区| 国产喷白浆一区二区三区| 欧美性感一类影片在线播放| 不卡av在线网| 不卡电影一区二区三区| 成人午夜又粗又硬又大| av在线免费不卡| 95精品视频在线| 色婷婷av一区二区三区软件| 色综合天天综合网天天看片| 97精品电影院| 欧美日韩国产系列| 日韩网站在线看片你懂的| 欧美xxxxxxxx| 中文无字幕一区二区三区| 国产精品久久久久精k8| 亚洲精品videosex极品| 亚洲高清三级视频| 美女网站色91| 粉嫩一区二区三区在线看| k8久久久一区二区三区| 91成人在线免费观看| 正在播放亚洲一区| 久久综合九色综合欧美亚洲| 欧美激情在线一区二区三区| 一区二区三区在线观看视频| 午夜精品久久久久久不卡8050| 蜜臀av性久久久久蜜臀aⅴ| 国产成人在线免费观看| 色哟哟亚洲精品| 日韩亚洲国产中文字幕欧美| 久久久五月婷婷| 亚洲靠逼com| 看电视剧不卡顿的网站| 成人性生交大片免费| 欧美日韩国产天堂| 日本一区二区三区在线观看| 亚洲在线视频免费观看| 狠狠色综合播放一区二区| 成a人片亚洲日本久久| 欧美日韩亚洲不卡| 久久久精品免费网站| 亚洲六月丁香色婷婷综合久久| 日韩福利视频网| 成人视屏免费看| 欧美高清视频一二三区 | 风流少妇一区二区| 色8久久人人97超碰香蕉987| 欧美大片一区二区| 亚洲女同ⅹxx女同tv| 久久国产精品免费| 色婷婷久久99综合精品jk白丝| 欧美电影精品一区二区| 亚洲精品视频在线观看免费| 免费观看日韩电影| 91国偷自产一区二区三区观看| 精品国产伦一区二区三区观看体验| 国产精品久久看| 卡一卡二国产精品| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 久久综合色天天久久综合图片| 亚洲五月六月丁香激情| 丁香婷婷综合五月| 欧美一卡二卡三卡| 亚洲欧美日韩综合aⅴ视频| 国内精品伊人久久久久av影院 | 自拍偷自拍亚洲精品播放| 男人操女人的视频在线观看欧美| 91在线观看一区二区| 欧美精品一区视频| 日本午夜精品一区二区三区电影 | 精品成人佐山爱一区二区| 亚洲综合丁香婷婷六月香| 国产成人av影院| 精品国精品自拍自在线| 日韩精品一区第一页| 欧洲亚洲精品在线| 中文字幕一区二区三区蜜月| 国内精品视频666| 欧美一级精品大片| 亚洲电影你懂得| 一本大道久久a久久精二百 | 国产一区二区三区高清播放| 欧美日韩视频在线第一区 | 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美一区二区精品在线| 亚洲一区免费观看| 色婷婷国产精品| 亚洲精品国产精品乱码不99| voyeur盗摄精品| 国产精品乱人伦中文| 国产激情视频一区二区在线观看| 欧美成人乱码一区二区三区| 蜜桃久久久久久久| 欧美一级二级三级乱码| 日本在线观看不卡视频| 欧美日韩在线电影| 亚洲成人av中文| 精品视频一区二区不卡| 亚洲综合自拍偷拍| 在线看国产一区| 亚洲午夜免费视频| 欧美日韩一区小说| 天天射综合影视| 91精品免费在线| 免费在线观看成人| 精品国产伦理网| 国产乱人伦偷精品视频免下载| 精品国产髙清在线看国产毛片| 精品一区二区免费| 国产三级精品三级| 成人av在线一区二区| 中文字幕亚洲成人| 91蝌蚪国产九色| 亚洲成人一区二区| 日韩三级视频在线观看| 黄色资源网久久资源365| 久久久久高清精品| www.亚洲精品| 一区二区三区在线视频免费| 欧美日韩国产a| 久久精品理论片| 久久久久久久久一| 成人18精品视频| 亚洲国产精品精华液网站| 6080yy午夜一二三区久久| 久久精品久久精品| 欧美激情在线看| 欧美亚洲国产bt| 麻豆91在线看| 国产精品欧美一级免费| 欧美午夜一区二区三区免费大片| 日韩av在线免费观看不卡| 亚洲精品一区二区三区蜜桃下载| 成人精品一区二区三区中文字幕| 一区二区三区视频在线看| 91精品国产综合久久久久久漫画| 国精品**一区二区三区在线蜜桃| 国产精品网站在线| 欧美日韩国产首页| 国产成人精品亚洲午夜麻豆| 亚洲一区二区三区影院| 精品国产sm最大网站免费看| 91免费观看在线| 蜜臀av国产精品久久久久| 国产精品久久久久久久久晋中| 欧美日韩在线一区二区| 国产精品一区二区无线| 亚洲影视在线观看| 精品国产乱码久久久久久蜜臀| av电影在线观看一区| 日本女人一区二区三区| 中文字幕欧美日韩一区| 欧美四级电影网| 国产精品99久久不卡二区| 亚洲午夜影视影院在线观看| 精品日韩在线一区| 在线观看亚洲专区| 国产激情一区二区三区桃花岛亚洲| 亚洲精品精品亚洲| 国产亚洲一区字幕| 91精品麻豆日日躁夜夜躁| 91年精品国产| 国产精品乡下勾搭老头1| 亚洲va欧美va人人爽午夜| 欧美韩国日本不卡| 欧美一级爆毛片| 欧美网站一区二区| 91一区一区三区| 国产不卡一区视频| 看电影不卡的网站| 亚洲一区二区三区四区五区黄| 国产色一区二区| 日韩丝袜美女视频| 欧美中文字幕一区| 床上的激情91.| 久久99久久精品| 日韩精品一二三| 一区二区三区日韩在线观看| 欧美国产亚洲另类动漫| 精品欧美一区二区在线观看| 欧美色图一区二区三区| av电影天堂一区二区在线观看| 免费欧美在线视频| 亚洲大片在线观看| 一区二区视频在线| 亚洲视频你懂的| 综合色中文字幕| 国产精品区一区二区三| 国产清纯白嫩初高生在线观看91| 精品成a人在线观看| 7777精品伊人久久久大香线蕉的| 色婷婷精品久久二区二区蜜臂av | 91精品国产福利在线观看| 91精品91久久久中77777| 波多野结衣的一区二区三区| 国产成人综合在线观看| 国产一区二区三区免费在线观看| 全国精品久久少妇| 蜜臀99久久精品久久久久久软件|