中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

.NET框架中間語言IL指令大全
來源:易賢網 閱讀:1585 次 日期:2016-08-06 14:07:18
溫馨提示:易賢網小編為您整理了“.NET框架中間語言IL指令大全”,方便廣大網友查閱!

IL是.NET框架中中間語言(Intermediate Language)的縮寫。使用.NET框架提供的編譯器可以直接將源程序編譯為.exe或.dll文件,但此時編譯出來的程序代碼并不是CPU能直接執行的機器代碼,而是一種中間語言IL(Intermediate Language)的代碼。

名稱 說明
Add 將兩個值相加并將結果推送到計算堆棧上。
Add.Ovf 將兩個整數相加,執行溢出檢查,并且將結果推送到計算堆棧上。
Add.Ovf.Un 將兩個無符號整數值相加,執行溢出檢查,并且將結果推送到計算堆棧上。
And 計算兩個值的按位“與”并將結果推送到計算堆棧上。
Arglist 返回指向當前方法的參數列表的非托管指針。
Beq 如果兩個值相等,則將控制轉移到目標指令。
Beq.S 如果兩個值相等,則將控制轉移到目標指令(短格式)。
Bge 如果第一個值大于或等于第二個值,則將控制轉移到目標指令。
Bge.S 如果第一個值大于或等于第二個值,則將控制轉移到目標指令(短格式)。
Bge.Un 當比較無符號整數值或不可排序的浮點型值時,如果第一個值大于第二個值,則將控制轉移到目標指令。
Bge.Un.S 當比較無符號整數值或不可排序的浮點型值時,如果第一個值大于第二個值,則將控制轉移到目標指令(短格式)。
Bgt 如果第一個值大于第二個值,則將控制轉移到目標指令。
Bgt.S 如果第一個值大于第二個值,則將控制轉移到目標指令(短格式)。
Bgt.Un 當比較無符號整數值或不可排序的浮點型值時,如果第一個值大于第二個值,則將控制轉移到目標指令。
Bgt.Un.S 當比較無符號整數值或不可排序的浮點型值時,如果第一個值大于第二個值,則將控制轉移到目標指令(短格式)。
Ble 如果第一個值小于或等于第二個值,則將控制轉移到目標指令。
Ble.S 如果第一個值小于或等于第二個值,則將控制轉移到目標指令(短格式)。
Ble.Un 當比較無符號整數值或不可排序的浮點型值時,如果第一個值小于或等于第二個值,則將控制轉移到目標指令。
Ble.Un.S 當比較無符號整數值或不可排序的浮點值時,如果第一個值小于或等于第二個值,則將控制權轉移到目標指令(短格式)。
Blt 如果第一個值小于第二個值,則將控制轉移到目標指令。
Blt.S 如果第一個值小于第二個值,則將控制轉移到目標指令(短格式)。
Blt.Un 當比較無符號整數值或不可排序的浮點型值時,如果第一個值小于第二個值,則將控制轉移到目標指令。
Blt.Un.S 當比較無符號整數值或不可排序的浮點型值時,如果第一個值小于第二個值,則將控制轉移到目標指令(短格式)。
Bne.Un 當兩個無符號整數值或不可排序的浮點型值不相等時,將控制轉移到目標指令。
Bne.Un.S 當兩個無符號整數值或不可排序的浮點型值不相等時,將控制轉移到目標指令(短格式)。
Box 將值類轉換為對象引用(O 類型)。
Br 無條件地將控制轉移到目標指令。
Br.S 無條件地將控制轉移到目標指令(短格式)。
Break 向公共語言結構 (CLI) 發出信號以通知調試器已撞上了一個斷點。
Brfalse 如果 value 為 false、空引用(Visual Basic 中的 Nothing)或零,則將控制轉移到目標指令。
Brfalse.S 如果 value 為 false、空引用或零,則將控制轉移到目標指令。
Brtrue 如果 value 為 true、非空或非零,則將控制轉移到目標指令。
Brtrue.S 如果 value 為 true、非空或非零,則將控制轉移到目標指令(短格式)。
Call 調用由傳遞的方法說明符指示的方法。
Calli 通過調用約定描述的參數調用在計算堆棧上指示的方法(作為指向入口點的指針)。
Callvirt 對對象調用后期綁定方法,并且將返回值推送到計算堆棧上。
Castclass 嘗試將引用傳遞的對象轉換為指定的類。
Ceq 比較兩個值。如果這兩個值相等,則將整數值 1 (int32) 推送到計算堆棧上;否則,將 0 (int32) 推送到計算堆棧上。
Cgt 比較兩個值。如果第一個值大于第二個值,則將整數值 1 (int32) 推送到計算堆棧上;反之,將 0 (int32) 推送到計算堆棧上。
Cgt.Un 比較兩個無符號的或不可排序的值。如果第一個值大于第二個值,則將整數值 1 (int32) 推送到計算堆棧上;反之,將 0 (int32) 推送到計算堆棧上。
Ckfinite 如果值不是有限數,則引發 ArithmeticException。
Clt 比較兩個值。如果第一個值小于第二個值,則將整數值 1 (int32) 推送到計算堆棧上;反之,將 0 (int32) 推送到計算堆棧上。
Clt.Un 比較無符號的或不可排序的值 value1 和 value2。如果 value1 小于 value2,則將整數值 1 (int32 ) 推送到計算堆棧上;反之,將 0 ( int32 ) 推送到計算堆棧上。
Constrained 約束要對其進行虛方法調用的類型。
Conv.I 將位于計算堆棧頂部的值轉換為 native int。
Conv.I1 將位于計算堆棧頂部的值轉換為 int8,然后將其擴展(填充)為 int32。
Conv.I2 將位于計算堆棧頂部的值轉換為 int16,然后將其擴展(填充)為 int32。
Conv.I4 將位于計算堆棧頂部的值轉換為 int32。
Conv.I8 將位于計算堆棧頂部的值轉換為 int64。
Conv.Ovf.I 將位于計算堆棧頂部的有符號值轉換為有符號 native int,并在溢出時引發 OverflowException。
Conv.Ovf.I.Un 將位于計算堆棧頂部的無符號值轉換為有符號 native int,并在溢出時引發 OverflowException。
Conv.Ovf.I1 將位于計算堆棧頂部的有符號值轉換為有符號 int8 并將其擴展為 int32,并在溢出時引發 OverflowException。
Conv.Ovf.I1.Un 將位于計算堆棧頂部的無符號值轉換為有符號 int8 并將其擴展為 int32,并在溢出時引發 OverflowException。
Conv.Ovf.I2 將位于計算堆棧頂部的有符號值轉換為有符號 int16 并將其擴展為 int32,并在溢出時引發 OverflowException。
Conv.Ovf.I2.Un 將位于計算堆棧頂部的無符號值轉換為有符號 int16 并將其擴展為 int32,并在溢出時引發 OverflowException。
Conv.Ovf.I4 將位于計算堆棧頂部的有符號值轉換為有符號 int32,并在溢出時引發 OverflowException。
Conv.Ovf.I4.Un 將位于計算堆棧頂部的無符號值轉換為有符號 int32,并在溢出時引發 OverflowException。
Conv.Ovf.I8 將位于計算堆棧頂部的有符號值轉換為有符號 int64,并在溢出時引發 OverflowException。
Conv.Ovf.I8.Un 將位于計算堆棧頂部的無符號值轉換為有符號 int64,并在溢出時引發 OverflowException。
Conv.Ovf.U 將位于計算堆棧頂部的有符號值轉換為 unsigned native int,并在溢出時引發 OverflowException。
Conv.Ovf.U.Un 將位于計算堆棧頂部的無符號值轉換為 unsigned native int,并在溢出時引發 OverflowException。
Conv.Ovf.U1 將位于計算堆棧頂部的有符號值轉換為 unsigned int8 并將其擴展為 int32,并在溢出時引發 OverflowException。
Conv.Ovf.U1.Un 將位于計算堆棧頂部的無符號值轉換為 unsigned int8 并將其擴展為 int32,并在溢出時引發 OverflowException。
Conv.Ovf.U2 將位于計算堆棧頂部的有符號值轉換為 unsigned int16 并將其擴展為 int32,并在溢出時引發 OverflowException。
Conv.Ovf.U2.Un 將位于計算堆棧頂部的無符號值轉換為 unsigned int16 并將其擴展為 int32,并在溢出時引發 OverflowException。
Conv.Ovf.U4 將位于計算堆棧頂部的有符號值轉換為 unsigned int32,并在溢出時引發 OverflowException。
Conv.Ovf.U4.Un 將位于計算堆棧頂部的無符號值轉換為 unsigned int32,并在溢出時引發 OverflowException。
Conv.Ovf.U8 將位于計算堆棧頂部的有符號值轉換為 unsigned int64,并在溢出時引發 OverflowException。
Conv.Ovf.U8.Un 將位于計算堆棧頂部的無符號值轉換為 unsigned int64,并在溢出時引發 OverflowException。
Conv.R.Un 將位于計算堆棧頂部的無符號整數值轉換為 float32。
Conv.R4 將位于計算堆棧頂部的值轉換為 float32。
Conv.R8 將位于計算堆棧頂部的值轉換為 float64。
Conv.U 將位于計算堆棧頂部的值轉換為 unsigned native int,然后將其擴展為 native int。
Conv.U1 將位于計算堆棧頂部的值轉換為 unsigned int8,然后將其擴展為 int32。
Conv.U2 將位于計算堆棧頂部的值轉換為 unsigned int16,然后將其擴展為 int32。
Conv.U4 將位于計算堆棧頂部的值轉換為 unsigned int32,然后將其擴展為 int32。
Conv.U8 將位于計算堆棧頂部的值轉換為 unsigned int64,然后將其擴展為 int64。
Cpblk 將指定數目的字節從源地址復制到目標地址。
Cpobj 將位于對象(&、* 或 native int 類型)地址的值類型復制到目標對象(&、* 或 native int 類型)的地址。
Div 將兩個值相除并將結果作為浮點(F 類型)或商(int32 類型)推送到計算堆棧上。
Div.Un 兩個無符號整數值相除并將結果 ( int32 ) 推送到計算堆棧上。
Dup 復制計算堆棧上當前最頂端的值,然后將副本推送到計算堆棧上。
Endfilter 將控制從異常的 filter 子句轉移回公共語言結構 (CLI) 異常處理程序。
Endfinally 將控制從異常塊的 fault 或 finally 子句轉移回公共語言結構 (CLI) 異常處理程序。
Initblk 將位于特定地址的內存的指定塊初始化為給定大小和初始值。
Initobj 將位于指定地址的值類型的每個字段初始化為空引用或適當的基元類型的 0。
Isinst 測試對象引用(O 類型)是否為特定類的實例。
Jmp 退出當前方法并跳至指定方法。
Ldarg 將參數(由指定索引值引用)加載到堆棧上。
Ldarg.0 將索引為 0 的參數加載到計算堆棧上。
Ldarg.1 將索引為 1 的參數加載到計算堆棧上。
Ldarg.2 將索引為 2 的參數加載到計算堆棧上。
Ldarg.3 將索引為 3 的參數加載到計算堆棧上。
Ldarg.S 將參數(由指定的短格式索引引用)加載到計算堆棧上。
Ldarga 將參數地址加載到計算堆棧上。
Ldarga.S 以短格式將參數地址加載到計算堆棧上。
Ldc.I4 將所提供的 int32 類型的值作為 int32 推送到計算堆棧上。
Ldc.I4.0 將整數值 0 作為 int32 推送到計算堆棧上。
Ldc.I4.1 將整數值 1 作為 int32 推送到計算堆棧上。
Ldc.I4.2 將整數值 2 作為 int32 推送到計算堆棧上。
Ldc.I4.3 將整數值 3 作為 int32 推送到計算堆棧上。
Ldc.I4.4 將整數值 4 作為 int32 推送到計算堆棧上。
Ldc.I4.5 將整數值 5 作為 int32 推送到計算堆棧上。
Ldc.I4.6 將整數值 6 作為 int32 推送到計算堆棧上。
Ldc.I4.7 將整數值 7 作為 int32 推送到計算堆棧上。
Ldc.I4.8 將整數值 8 作為 int32 推送到計算堆棧上。
Ldc.I4.M1 將整數值 -1 作為 int32 推送到計算堆棧上。
Ldc.I4.S 將提供的 int8 值作為 int32 推送到計算堆棧上(短格式)。
Ldc.I8 將所提供的 int64 類型的值作為 int64 推送到計算堆棧上。
Ldc.R4 將所提供的 float32 類型的值作為 F (float) 類型推送到計算堆棧上。
Ldc.R8 將所提供的 float64 類型的值作為 F (float) 類型推送到計算堆棧上。
Ldelem 按照指令中指定的類型,將指定數組索引中的元素加載到計算堆棧的頂部。
Ldelem.I 將位于指定數組索引處的 native int 類型的元素作為 native int 加載到計算堆棧的頂部。
Ldelem.I1 將位于指定數組索引處的 int8 類型的元素作為 int32 加載到計算堆棧的頂部。
Ldelem.I2 將位于指定數組索引處的 int16 類型的元素作為 int32 加載到計算堆棧的頂部。
Ldelem.I4 將位于指定數組索引處的 int32 類型的元素作為 int32 加載到計算堆棧的頂部。
Ldelem.I8 將位于指定數組索引處的 int64 類型的元素作為 int64 加載到計算堆棧的頂部。
Ldelem.R4 將位于指定數組索引處的 float32 類型的元素作為 F 類型(浮點型)加載到計算堆棧的頂部。
Ldelem.R8 將位于指定數組索引處的 float64 類型的元素作為 F 類型(浮點型)加載到計算堆棧的頂部。
Ldelem.Ref 將位于指定數組索引處的包含對象引用的元素作為 O 類型(對象引用)加載到計算堆棧的頂部。
Ldelem.U1 將位于指定數組索引處的 unsigned int8 類型的元素作為 int32 加載到計算堆棧的頂部。
Ldelem.U2 將位于指定數組索引處的 unsigned int16 類型的元素作為 int32 加載到計算堆棧的頂部。
Ldelem.U4 將位于指定數組索引處的 unsigned int32 類型的元素作為 int32 加載到計算堆棧的頂部。
Ldelema 將位于指定數組索引的數組元素的地址作為 & 類型(托管指針)加載到計算堆棧的頂部。
Ldfld 查找對象中其引用當前位于計算堆棧的字段的值。
Ldflda 查找對象中其引用當前位于計算堆棧的字段的地址。
Ldftn 將指向實現特定方法的本機代碼的非托管指針(native int 類型)推送到計算堆棧上。
Ldind.I 將 native int 類型的值作為 native int 間接加載到計算堆棧上。
Ldind.I1 將 int8 類型的值作為 int32 間接加載到計算堆棧上。
Ldind.I2 將 int16 類型的值作為 int32 間接加載到計算堆棧上。
Ldind.I4 將 int32 類型的值作為 int32 間接加載到計算堆棧上。
Ldind.I8 將 int64 類型的值作為 int64 間接加載到計算堆棧上。
Ldind.R4 將 float32 類型的值作為 F (float) 類型間接加載到計算堆棧上。
Ldind.R8 將 float64 類型的值作為 F (float) 類型間接加載到計算堆棧上。
Ldind.Ref 將對象引用作為 O(對象引用)類型間接加載到計算堆棧上。
Ldind.U1 將 unsigned int8 類型的值作為 int32 間接加載到計算堆棧上。
Ldind.U2 將 unsigned int16 類型的值作為 int32 間接加載到計算堆棧上。
Ldind.U4 將 unsigned int32 類型的值作為 int32 間接加載到計算堆棧上。
Ldlen 將從零開始的、一維數組的元素的數目推送到計算堆棧上。
Ldloc 將指定索引處的局部變量加載到計算堆棧上。
Ldloc.0 將索引 0 處的局部變量加載到計算堆棧上。
Ldloc.1 將索引 1 處的局部變量加載到計算堆棧上。
Ldloc.2 將索引 2 處的局部變量加載到計算堆棧上。
Ldloc.3 將索引 3 處的局部變量加載到計算堆棧上。
Ldloc.S 將特定索引處的局部變量加載到計算堆棧上(短格式)。
Ldloca 將位于特定索引處的局部變量的地址加載到計算堆棧上。
Ldloca.S 將位于特定索引處的局部變量的地址加載到計算堆棧上(短格式)。
Ldnull 將空引用(O 類型)推送到計算堆棧上。
Ldobj 將地址指向的值類型對象復制到計算堆棧的頂部。
Ldsfld 將靜態字段的值推送到計算堆棧上。
Ldsflda 將靜態字段的地址推送到計算堆棧上。
Ldstr 推送對元數據中存儲的字符串的新對象引用。
Ldtoken 將元數據標記轉換為其運行時表示形式,并將其推送到計算堆棧上。
Ldvirtftn 將指向實現與指定對象關聯的特定虛方法的本機代碼的非托管指針(native int 類型)推送到計算堆棧上。
Leave 退出受保護的代碼區域,無條件將控制轉移到特定目標指令。
Leave.S 退出受保護的代碼區域,無條件將控制轉移到目標指令(縮寫形式)。
Localloc 從本地動態內存池分配特定數目的字節并將第一個分配的字節的地址(瞬態指針,* 類型)推送到計算堆棧上。
Mkrefany 將對特定類型實例的類型化引用推送到計算堆棧上。
Mul 將兩個值相乘并將結果推送到計算堆棧上。
Mul.Ovf 將兩個整數值相乘,執行溢出檢查,并將結果推送到計算堆棧上。
Mul.Ovf.Un 將兩個無符號整數值相乘,執行溢出檢查,并將結果推送到計算堆棧上。
Neg 對一個值執行求反并將結果推送到計算堆棧上。
Newarr 將對新的從零開始的一維數組(其元素屬于特定類型)的對象引用推送到計算堆棧上。
Newobj 創建一個值類型的新對象或新實例,并將對象引用(O 類型)推送到計算堆棧上。
Nop 如果修補操作碼,則填充空間。盡管可能消耗處理周期,但未執行任何有意義的操作。
Not 計算堆棧頂部整數值的按位求補并將結果作為相同的類型推送到計算堆棧上。
Or 計算位于堆棧頂部的兩個整數值的按位求補并將結果推送到計算堆棧上。
Pop 移除當前位于計算堆棧頂部的值。
Prefix1 基礎結構。此指令為保留指令。
Prefix2 基礎結構。此指令為保留指令。
Prefix3 基礎結構。此指令為保留指令。
Prefix4 基礎結構。此指令為保留指令。
Prefix5 基礎結構。此指令為保留指令。
Prefix6 基礎結構。此指令為保留指令。
Prefix7 基礎結構。此指令為保留指令。
Prefixref 基礎結構。此指令為保留指令。
Readonly 指定后面的數組地址操作在運行時不執行類型檢查,并且返回可變性受限的托管指針。
Refanytype 檢索嵌入在類型化引用內的類型標記。
Refanyval 檢索嵌入在類型化引用內的地址(& 類型)。
Rem 將兩個值相除并將余數推送到計算堆棧上。
Rem.Un 將兩個無符號值相除并將余數推送到計算堆棧上。
Ret 從當前方法返回,并將返回值(如果存在)從調用方的計算堆棧推送到被調用方的計算堆棧上。
Rethrow 再次引發當前異常。
Shl 將整數值左移(用零填充)指定的位數,并將結果推送到計算堆棧上。
Shr 將整數值右移(保留符號)指定的位數,并將結果推送到計算堆棧上。
Shr.Un 將無符號整數值右移(用零填充)指定的位數,并將結果推送到計算堆棧上。
Sizeof 將提供的值類型的大小(以字節為單位)推送到計算堆棧上。
Starg 將位于計算堆棧頂部的值存儲到位于指定索引的參數槽中。
Starg.S 將位于計算堆棧頂部的值存儲在參數槽中的指定索引處(短格式)。
Stelem 用計算堆棧中的值替換給定索引處的數組元素,其類型在指令中指定。
Stelem.I 用計算堆棧上的 native int 值替換給定索引處的數組元素。
Stelem.I1 用計算堆棧上的 int8 值替換給定索引處的數組元素。
Stelem.I2 用計算堆棧上的 int16 值替換給定索引處的數組元素。
Stelem.I4 用計算堆棧上的 int32 值替換給定索引處的數組元素。
Stelem.I8 用計算堆棧上的 int64 值替換給定索引處的數組元素。
Stelem.R4 用計算堆棧上的 float32 值替換給定索引處的數組元素。
Stelem.R8 用計算堆棧上的 float64 值替換給定索引處的數組元素。
Stelem.Ref 用計算堆棧上的對象 ref 值(O 類型)替換給定索引處的數組元素。
Stfld 用新值替換在對象引用或指針的字段中存儲的值。
Stind.I 在所提供的地址存儲 native int 類型的值。
Stind.I1 在所提供的地址存儲 int8 類型的值。
Stind.I2 在所提供的地址存儲 int16 類型的值。
Stind.I4 在所提供的地址存儲 int32 類型的值。
Stind.I8 在所提供的地址存儲 int64 類型的值。
Stind.R4 在所提供的地址存儲 float32 類型的值。
Stind.R8 在所提供的地址存儲 float64 類型的值。
Stind.Ref 存儲所提供地址處的對象引用值。
Stloc 從計算堆棧的頂部彈出當前值并將其存儲到指定索引處的局部變量列表中。
Stloc.0 從計算堆棧的頂部彈出當前值并將其存儲到索引 0 處的局部變量列表中。
Stloc.1 從計算堆棧的頂部彈出當前值并將其存儲到索引 1 處的局部變量列表中。
Stloc.2 從計算堆棧的頂部彈出當前值并將其存儲到索引 2 處的局部變量列表中。
Stloc.3 從計算堆棧的頂部彈出當前值并將其存儲到索引 3 處的局部變量列表中。
Stloc.S 從計算堆棧的頂部彈出當前值并將其存儲在局部變量列表中的 index 處(短格式)。
Stobj 將指定類型的值從計算堆棧復制到所提供的內存地址中。
Stsfld 用來自計算堆棧的值替換靜態字段的值。
Sub 從其他值中減去一個值并將結果推送到計算堆棧上。
Sub.Ovf 從另一值中減去一個整數值,執行溢出檢查,并且將結果推送到計算堆棧上。
Sub.Ovf.Un 從另一值中減去一個無符號整數值,執行溢出檢查,并且將結果推送到計算堆棧上。
Switch 實現跳轉表。
Tailcall 執行后綴的方法調用指令,以便在執行實際調用指令前移除當前方法的堆棧幀。
Throw 引發當前位于計算堆棧上的異常對象。
Unaligned 指示當前位于計算堆棧上的地址可能沒有與緊接的 ldind、stind、ldfld、stfld、ldobj、stobj、initblk 或 cpblk 指令的自然大小對齊。
Unbox 將值類型的已裝箱的表示形式轉換為其未裝箱的形式。
Unbox.Any 將指令中指定類型的已裝箱的表示形式轉換成未裝箱形式。
Volatile 指定當前位于計算堆棧頂部的地址可以是易失的,并且讀取該位置的結果不能被緩存,或者對該地址的多個存儲區不能被取消。
Xor 計算位于計算堆棧頂部的兩個值的按位異或,并且將結果推送到計算堆棧上。

總結

這一篇只是給大家把IL的指令匯總介紹了下,沒有詳細的去解釋。古人云:水得一口一口喝,路得一步一步走,步子邁得大了容易扯著蛋,慢慢來.內容雖然少了點,但是還會有下篇的。下一篇還是會寫IL的一些基本指令,我會結合我自己的理解,盡量把文字寫得通俗一點,讓大家更容易理解。

更多信息請查看網絡編程
易賢網手機網站地址:.NET框架中間語言IL指令大全
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产精品国产自产拍高清av| 黄色资源网久久资源365| 免费在线欧美黄色| 亚洲少妇自拍| 国产精品一区久久久| 亚洲欧美国产高清va在线播| 欧美一级午夜免费电影| 国产精品一级二级三级| 亚洲精品免费在线观看| 午夜国产精品视频免费体验区| 国产欧美一区二区三区另类精品| 国产精品久久久久毛片软件 | 影音先锋日韩精品| 伊人成人在线| 日韩一级免费观看| 久久亚洲春色中文字幕久久久| 久久这里只有精品视频首页| 欧美日韩在线精品| 国产精品综合色区在线观看| 伊人夜夜躁av伊人久久| 亚洲经典一区| 性欧美18~19sex高清播放| 蜜桃av噜噜一区| 欧美大片免费观看在线观看网站推荐| 欧美在线国产| 欧美激情亚洲另类| 欧美成人午夜激情| 国产精品美女一区二区| 一二三四社区欧美黄| 免费成人高清视频| 国产在线精品一区二区夜色| 精品动漫3d一区二区三区| 欧美专区在线播放| 国产日韩欧美精品在线| 亚洲精品乱码久久久久久按摩观| 欧美激情综合网| 一片黄亚洲嫩模| 国产精品v欧美精品∨日韩| 99热在这里有精品免费| 久久综合狠狠综合久久综合88| 亚洲福利视频一区二区| 欧美黄色aaaa| 午夜一区二区三视频在线观看| 欧美成人免费全部观看天天性色| 亚洲无亚洲人成网站77777| 韩国av一区| 国产精品亚洲视频| 一卡二卡3卡四卡高清精品视频| 欧美日韩国产免费观看| 亚洲影院色无极综合| 国产日韩精品视频一区| 老色鬼久久亚洲一区二区| 亚洲精品日韩久久| 激情综合在线| 欧美日韩国产不卡| 欧美一区午夜视频在线观看| 国产亚洲欧美另类中文| 欧美mv日韩mv亚洲| 亚洲福利视频网站| 国产精品亚洲аv天堂网| 欧美一级黄色录像| 亚洲动漫精品| 欧美激情aaaa| 久久久久久久久岛国免费| 欧美视频中文一区二区三区在线观看 | 免费一级欧美片在线观看| 久久激情婷婷| 久久久久国产精品一区二区| 久久精品一区二区三区四区| 午夜精品在线看| 欧美中在线观看| 亚洲一级黄色| 亚洲第一偷拍| 亚洲第一色在线| 亚洲国产三级| 亚洲电影免费观看高清| 国产在线观看精品一区二区三区| 国产精品一区亚洲| 亚洲国产精品久久久久| 99国产精品久久久| 亚洲影视在线播放| 欧美一区二区大片| 欧美专区在线观看一区| 免费亚洲网站| 国产精品成人在线| 欧美日韩亚洲综合| 国产麻豆午夜三级精品| 国产一区二区三区在线观看精品 | 国产精品网红福利| 亚洲人www| 久久亚洲私人国产精品va| 欧美午夜视频网站| 激情一区二区| 亚洲人成亚洲人成在线观看| 在线成人欧美| 亚洲精品欧洲| 亚洲欧美日韩在线观看a三区| 久久激情五月婷婷| 欧美三级电影网| 亚洲六月丁香色婷婷综合久久| 亚洲日本中文| 久久综合给合| 欧美日韩不卡| 激情91久久| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 欧美国产视频日韩| 国产精品h在线观看| 一区二区三区高清在线| 国产精品久久久久久福利一牛影视 | 麻豆久久婷婷| 在线观看成人av| 久久久精品一区二区三区| 国产精品素人视频| 亚洲图片在区色| 国产精品久久精品日日| 亚洲永久免费av| 国产亚洲亚洲| 欧美中文字幕精品| 国产日韩欧美一区在线 | 国产精品成人一区二区艾草| 亚洲在线视频| 99精品欧美一区| 国产一区在线视频| 欧美三级乱码| 久久超碰97人人做人人爱| 91久久国产精品91久久性色| 国产精品美女一区二区| 久久欧美中文字幕| 亚洲在线观看视频网站| 亚洲福利视频在线| 国产精品视频午夜| 欧美日韩中字| 欧美国产激情二区三区| 久久婷婷久久| 久久久精品国产免大香伊| 亚洲欧美激情诱惑| 亚洲女人小视频在线观看| 国产欧美日韩在线 | 亚洲国产99| 国产精品久久久免费| 久久高清国产| 亚洲国产精品尤物yw在线观看| 久久嫩草精品久久久久| 99精品欧美一区二区三区综合在线| 国产精品video| 久久综合九色综合网站| 99视频精品免费观看| 一区二区免费在线播放| 亚洲图色在线| 亚洲视频在线一区| 亚洲视频一区二区在线观看| 一本色道久久综合| 亚洲在线视频观看| 亚洲影视在线| 久久综合给合久久狠狠色 | 精品盗摄一区二区三区| 黄色日韩网站| 91久久精品一区二区三区| 一本综合久久| 久久久av网站| 欧美精品亚洲| 国内精品**久久毛片app| 亚洲风情亚aⅴ在线发布| 一本色道88久久加勒比精品| 亚洲视频中文字幕| 欧美与黑人午夜性猛交久久久| 久久成人人人人精品欧| 麻豆精品在线视频| 欧美激情第五页| 久久久99久久精品女同性| 久久成人免费视频| 欧美承认网站| 欧美日一区二区在线观看 | 嫩草成人www欧美| 久久婷婷国产综合精品青草| 亚洲综合丁香| 亚洲一区二区欧美| 在线亚洲观看| 99在线|亚洲一区二区| 国产精品久久999| 国产欧美91| 黑丝一区二区| 亚洲一区亚洲二区| 欧美日韩高清在线一区| 韩国一区电影| 亚洲一区二区欧美日韩| 免费视频最近日韩| 韩国欧美国产1区| 午夜影视日本亚洲欧洲精品| 欧美激情一区二区三区蜜桃视频| 国产精品久久一区二区三区| 永久久久久久| 久久精品国产亚洲精品| 国产欧美一区二区精品性色| 一区二区福利| 国产精品porn| 午夜日韩激情| 国产一区二区激情| 久久亚洲电影| 久久嫩草精品久久久久|