亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASM > 正文

匯編語言學習筆記(十二)-浮點指令

2019-11-11 03:46:32
字體:
供稿:網(wǎng)友
浮點數(shù)如何存儲浮點寄存器浮點數(shù)指令浮點計算例子浮點高級運算CMOV移動指令

浮點數(shù)如何存儲

浮點數(shù)的運算完全不同于整數(shù),從寄存器到指令,都有一套獨特的處理流程,浮點單元也稱作x87 FPU。

現(xiàn)在看浮點數(shù)的表示方式,我們所知道的,計算機使用二進制存儲數(shù)據(jù),所表示的數(shù)字都具有確定性,那是如何表示浮點這種具有近似效果的數(shù)據(jù)呢,答案是通過科學計數(shù),科學計數(shù)由符號,尾數(shù)和指數(shù)表示,這三部分都是一個整數(shù)值,具體來看一下IEEE二進制浮點標準:

格式說明
單精度32位:符號占1位,指數(shù)占8位,尾數(shù)中的小數(shù)部分占23位
雙精度64位:符號占1位,指數(shù)占11位,尾數(shù)中的小數(shù)部分占52位
擴展精度80位:符號占1位,指數(shù)占16位,尾數(shù)中的小數(shù)部分占63位

以單精度為例,在內(nèi)存中的儲存格式如下(左邊為高位):

	| 1位符號 | 8位指數(shù) | 23位尾數(shù) |

其中符號位1表示負數(shù),0表示正數(shù),這與整數(shù)形式的符號位意義相同; 科學計數(shù)法表示形式如 m * (b ^ e),m為尾數(shù),b為基數(shù),e是指數(shù),再二進制中,基數(shù)毫無疑問是2,對單精度,指數(shù)為中間8位二進制表示的數(shù)字,其中的尾數(shù)是形如1.1101 小數(shù)點后面的整數(shù)值。

關(guān)于指數(shù),由于需要表示正負兩種數(shù)據(jù),IEEE標準規(guī)定單精度指數(shù)以127為分割線,實際存儲的數(shù)據(jù)是指數(shù)加127所得結(jié)果,127為高位為零,后7位為1所得,其他雙精度也以此方式計算。

為了解釋內(nèi)存中浮點數(shù)的存儲方式,舉一個浮點數(shù)的例子說明:

float test = 123.456;int main(){    return 0;}

例子再簡單不過了,僅僅定義了一個全局的float類型,我們通過gcc -S test.c來生成匯編,看看123.456是如何存儲的,打開反匯編后的文件,看到符號_test后定義的數(shù)字是 1123477881(這里gcc定義成了long類型,不過沒有關(guān)系,因為都是四字節(jié)數(shù)字,具體的類型還得看如何使用)??梢允褂糜嬎闫靼咽M制數(shù)字轉(zhuǎn)化為二進制:0 10000101 11101101110100101111001,這里根據(jù)單精度的劃分方式把32位劃分成三部分,符號位為0,為正數(shù),指數(shù)為 133,減去127得6,尾數(shù)加上1.,形式為1.11101101110100101111001,擴大2 ^ 23次方為111101101110100101111001,十進制16181625,后除以2 ^ (23 – 6) = 131072,結(jié)果為123.45600128173828125,與我們所定義的浮點數(shù)正好相符。

浮點寄存器

這里介紹了浮點數(shù)的二進制表示,前面說過浮點單元計算使用獨立的寄存器,在寄存器那篇也稍有提及,這里詳細說明一下浮點單元的寄存器設(shè)施。

FPU有 8 個獨立尋址的80位寄存器,名稱分別為r0, r1, …, r7,他們以堆棧形式組織在一起,統(tǒng)稱為寄存器棧,編寫浮點指令時棧頂也寫為st(0),最后一個寄存器寫作st(7)。

FPU另有3個16位的寄存器,分別為控制寄存器、狀態(tài)寄存器、標記寄存器,現(xiàn)一一詳細說明此三個寄存器的作用:

狀態(tài)寄存器,為用戶記錄浮點計算過程中的狀態(tài),其中各位的含義如下:

0 —— 非法操作異常1 —— 非規(guī)格化操作數(shù)異常2 —— 除數(shù)為0異常3 —— 溢出標志異常4 —— 下溢標志異常5 —— 精度異常標志6 —— 堆棧錯誤7 —— 錯誤匯總狀態(tài)8 —— 條件代碼位0(c0)9 —— 條件代碼位1(c1)10 —— 條件代碼位2 (c2)11-13 —— 堆棧頂指針14 —— 條件代碼位3(c3)15 —— 繁忙標志

其中讀取狀態(tài)寄存器內(nèi)容可使用 fstsw %ax

控制寄存器的位含義如下:

0 —— 非法操作異常掩碼 1 —— 非法格式化異常掩碼 2 —— 除數(shù)為0異常掩碼 3 —— 溢出異常掩碼 4 —— 下溢異常掩碼 5 —— 精度異常亞曼 6-7 —— 保留 8-9 —— 精度控制(00單精度,01未使用,10雙精度,11擴展精度) 10-11 —— 舍入控制(00舍入到最近,01向下舍入,10向上舍入,11向0舍入) 12 —— 無窮大控制 13–15 —— 保留

其中讀取控制寄存器和設(shè)置控制寄存器的指令如下:

# 加載到內(nèi)存fstcw control# 加載到控制器fldcw control

最后的標志寄存器最為簡單,分別0-15位分別標志r0-r7共8個寄存器,每個寄存器占2位,這兩位的含義如下:

11 —— 合法擴展精度 01 —— 零 10 —— 特殊浮點 11 —— 無內(nèi)容

另外對浮點寄存器的一些控制指令如下:

# 初始化fpu,控制、狀態(tài)設(shè)為默認值,但不改變fpu的數(shù)據(jù)finit# 恢復(fù)保存環(huán)境fldenv bufferfstenv buffer#清空浮點異常fnclex#fpu狀態(tài)保存fssave

fstenv 保存控制寄存器、狀態(tài)寄存器、標記寄存器、FPU指令指針偏移量、FPU數(shù)據(jù)指針,F(xiàn)PU最后執(zhí)行的操作碼到內(nèi)存中。

浮點數(shù)指令

接下來將要詳細說明其計算過程,要計算數(shù)據(jù)首先得看如何從內(nèi)存中加載數(shù)據(jù)到寄存器,同時把結(jié)果從寄存器取出到內(nèi)存,除了加載內(nèi)存中的浮點數(shù)據(jù)指令,另外還有一些常量的加載,現(xiàn)列舉如下:

指令說明
finit初始化控制和狀態(tài)寄存器,不改變fpu數(shù)據(jù)寄存器
fstcw control將控制寄存器內(nèi)容放到內(nèi)存control處
fstsw status將狀態(tài)寄存器內(nèi)容放到內(nèi)存status處
flds value加載內(nèi)存中的單精浮點到fpu寄存器堆棧
fldl value加載內(nèi)存中的雙精浮點到fpu寄存器堆棧
fldt value加載內(nèi)存中的擴展精度點到fpu寄存器堆棧
fld %st(i)將%st(i)寄存器數(shù)據(jù)壓入fpu寄存器堆棧
fsts value單精度數(shù)據(jù)保存到value,不出棧
fstl value雙精度數(shù)據(jù)保存到value,不出棧
fstt value擴展精度數(shù)據(jù)保存到value,不出棧
fstps value單精度數(shù)據(jù)保存到value,出棧
fstpl value雙精度數(shù)據(jù)保存到value,出棧
fstpt value擴展精度數(shù)據(jù)保存到value,出棧
fxch %st(i)交換%st(0)和%st(i)
fld1把 +1.0 壓入 FPU 堆棧中
fldl2t把 10 的對數(shù)(底數(shù)2)壓入 FPU 堆棧中
fldl2e把 e 的對數(shù)(底數(shù)2)壓入 FPU 堆棧中
fldpi把 pi 的值壓入 FPU 堆棧中
fldlg2把 2 的對數(shù)(底數(shù)10)壓入 FPU 堆棧中
fldln2把 2 的對數(shù)(底數(shù)e) 壓入堆棧中
fldz把 +0.0 壓入壓入堆棧中

以上指令雖多,但是還是很有規(guī)律,前綴f表示fpu操作,ld加載,st保存設(shè)置,p后綴彈出堆棧,s、l、t后綴表示單精度,雙精度,擴展精度,c后綴表 示控制寄存器,s后綴表示狀態(tài)寄存器。當然這僅僅是對AT&T語法而言,對MASM語法沒有s,l,t之分,需要使用type ptr來指明精度,即內(nèi)存大小。

學會靈活的加載彈出數(shù)據(jù)堆棧后,接下來就要看一些基本的計算:

fadd    浮點加法fdiv    浮點除法fdivr   反向浮點除法fmul    浮點乘法fsub    浮點減法fsubr   反向浮點減法

對于以上的每種指令,有幾種指令格式,以fadd為例,列舉如下:

# 內(nèi)從中的32位或者64位值和%st(0)相加fadd source# 把%st(x)和%st(0)相加,結(jié)果存入%st(0)fadd %st(x), %st(0)# 把%st(0)和%st(x)相加,結(jié)果存入%st(x)fadd %st(0), %st(x)# 把%st(0)和%st(x)相加,結(jié)果存入%st(x),彈出%st(0)faddp %st(0), %st(x)# 把%st(0)和%st(1)相加,結(jié)果存入%st(1),彈出%st(0)faddp# 把16位或32位整數(shù)與%st(0)相加,結(jié)果存入%st(0)fiadd source

這僅僅是對AT&T語法而言,對MASM源操作數(shù)與目的操作數(shù)相反!另外,對AT&T,與內(nèi)存相關(guān)指令可加s、l指定內(nèi)存精度。其中反向加法和反向除法是計算過程中目的與源反向計算。

浮點計算例子

接下來舉一個AT&T語法的例子,來計算表達式的值 ( 12.34 * 13 ) + 334.75 ) / 17.8 :

# ( 12.34 * 13 ) + 334.75 ) / 17.8.section .data    values: .float 12.34, 13, 334.75, 17.8    result: .double 0.0    outstring: .asciz "result is %f/n".section .text.globl _main_main:    leal values, %ebx    flds 12(%ebx)    flds 8(%ebx)    flds 4(%ebx)    flds (%ebx)    fmulp    faddp    fdivp %st(0), %st(1)    fstl result    leal result, %ebx    pushl 4(%ebx)    pushl (%ebx)    pushl $outstring    call _PRintfend:    pushl $0    call _exit

前四個flds加載所有的數(shù)據(jù)到寄存器堆棧,可以單步運行并是用gdb的print $st0打印堆棧寄存器的值,可以看到為什么是堆棧寄存器。需要說明的是由于printf的%f是double類型的輸出,所以最后要把一個8字節(jié)浮點放 到棧中傳遞,最終結(jié)果為27.818541,可以看到與計算器計算的結(jié)果近似相等。

浮點高級運算

除了基本的浮點計算,x87還提供了一些諸如余弦運算等高級計算功能:

指令說明
f2xm1計算2的乘方(次數(shù)為st0中的值,減去1
fabs計算st0中的絕對值
fchs改變st0中的值的符號
fcos計算st0中的值的余弦
fpatan計算st0中的值的部分反正切
fprem計算st0中的值除以st1的值的部分余數(shù)
fprem1計算st0中的值除以st1的值的IEEE部分余弦
fptan計算st0中的值的部分正切
frndint把st0中的值舍入到最近的整數(shù)
fscale計算st0乘以2的st1次方
fsin計算st0中的值的正弦
fsincos計算st0中的值的正弦和余弦
fsqrt計算st0中的值的平方根
fyl2x計算st1*log st0 以2為底
fyl2xp1計算st1*log (st0 + 1) 以2為底

下面來看一下浮點條件分支,浮點數(shù)的比較不像整數(shù),可以容易的使用cmp指令比較,判斷eflags的值,關(guān)于浮點數(shù)比較,fpu提供獨立的比較機制和指令,現(xiàn)對這組比較指令進行說明:

指令說明
fcom比較st0和st1寄存器的值
fcom %st(x)比較st0和stx寄存器的值
fcom source比較st0和32/64位內(nèi)存值
fcomp比較st0和st1寄存器的值,并彈出堆棧
fcomp %st(x)比較st0和stx寄存器的值,并彈出堆棧
fcomp source比較st0和32/64位內(nèi)存值,并彈出堆棧
fcompp比較st0和st1寄存器的值,并兩次彈出堆棧
ftst比較st0和0.0

浮點數(shù)比較的結(jié)果放入狀態(tài)寄存器的c0,c2,c3條件代碼位中,其值如下:

結(jié)果c3c2c0
st0 > source000
st0 < source001
st0 = source100

如此倘若直接判斷c0,c2,c3的值比較繁瑣,所以可以使用一些技巧,首先使用fstsw指令獲得fpu狀態(tài)寄存器的值并存入ax,再使用sahf指令把 ah寄存器中的值加載到eflags寄存器中,sahf指令把ah寄存器的第0、2、4、6、7分別傳送至進位、奇偶、對準、零、符號位,不影響其他標 志,ah寄存器中這些位剛好包含fpu狀態(tài)寄存器的條件代碼值,所以通過fstsw和sahf指令組合,可以傳送如下值:

把c0位傳送到eflags的進位標志 把c2位傳送到eflags的奇偶校驗標志 把c3位傳送到eflags的零標志

傳送完畢后,可以用條件跳轉(zhuǎn)使用不同的結(jié)果值,另外需要說明的是浮點數(shù)相等判斷,因為浮點數(shù)本身存儲結(jié)構(gòu)決定了它僅僅是一個近似值,所以不能直接判斷是否相 等,這樣可能與自己預(yù)期的結(jié)果不同,應(yīng)該判斷兩個浮點數(shù)之差是否在一個很小的誤差范圍內(nèi),來決定這兩個浮點數(shù)是否相等。

根據(jù)上面的技巧,使用fstsw和fpu指令組合,可以方便的使用浮點判斷結(jié)果,這對我們是一種便利,而intel的工程師又為我們設(shè)計了一個組合指令,fcomi指令執(zhí)行浮點比較結(jié)果并把結(jié)果存放到eflags寄存器的進位,奇偶,和零標志。

指令說明
fcomi比較st0和stx寄存器的值
fcomip比較st0和stx寄存器,并彈出堆棧
fucomi比較之前檢查無序值
fucomip比較之前檢查無序值,之后彈出堆棧

判斷結(jié)束后eflags的標志設(shè)置如下:

結(jié)果ZFPFCF
st0 > st(x)000
st0 < st(x)001
st0 = st(x)100

CMOV移動指令

最后介紹的是類似cmov的指令,根據(jù)判斷結(jié)果決定是否需要移動數(shù)據(jù),其AT&T格式為 fcmovxx source, destination,其中source是st(x)寄存器,destination是st(0)寄存器。

指令說明
fcmovb如果st(0)小于st(x),則進行傳送
fcmove如果st(0)等于st(x),則進行傳送
fcmovbe如果st(0)小于或等于st(x),則進行傳送
fcmovu如果st(0)無序,則進行傳送
fcmovnb如果st(0)不小于st(x),則進行傳送
fcmovne如果st(0)不等于st(x),則進行傳送
fcmovnbe如果st(0)不小于或等于st(x),則進行傳送
fcmovnu如果st(0)非無序,則進行傳送

以上可以看出,無論從寄存器的操作,還是計算過程,都比整數(shù)運算要繁瑣的多,而且看似很簡單的一個表達式,轉(zhuǎn)化成浮點匯編需要做很多工作,由于其復(fù)雜性,同 一個表達式可以有多種運算過程,當然其中的效率相差很大,這依賴于對浮點匯編的理解程度,好在有高級語言處理相關(guān)工作,編寫浮點指令的情況比較少見。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

日本一区二区三区视频免费看| 欧美国产一区二区在线| 懂色av粉嫩av蜜臀av一区二区三区| 亚洲一区二区三区精品中文字幕| 少妇毛片一区二区三区| 青柠在线影院观看日本| 国产一区二区在线免费视频| 在线视频你懂得一区| 国产黄网在线观看| 国产成人精品免费网站| 国产很黄免费观看久久| 在线免费毛片| 欧美日韩一区二区三区在线观看免| 欧美性极品少妇| 日本一本高清视频| 成年人av电影| 777777av| 黄色动漫网站入口| 日本不卡一区二区三区视频| 美女久久一区| 骚虎视频欧美| 92福利视频午夜1000合集在线观看| 九色免费视频| 国产一二三在线视频| 91视频xxxx| 天堂在线视频免费| 日本黄色片在线观看| 天天操天天色综合| 亚洲综合自拍网| 欧美少妇一区二区三区| 在线观看国产网站| 日本精品一区二区三区高清| 91麻豆国产福利在线观看宅福利| 欧美午夜丰满在线18影院| 国产精品亚洲电影久久成人影院| heyzo在线播放| 日韩av在线播| 久久久久国色av免费观看性色| 女人天堂在线| 奇米精品一区二区三区在线观看一| 一区二区三区四区国产精品| 无码人妻精品一区二区三区在线| 免费的av电影| 亚洲视频1区2区| 欧美jizzhd精品欧美另类| 日本免费在线视频观看| 国产无遮挡在线观看| 国产欧美成人xxx视频| 日本高清中文字幕二区在线| 精品亚洲第一| 亚洲国产精品资源| 91在线你懂得| 国产日产亚洲系列最新| 国产精品一区毛片| www国产在线观看| 亚洲一区二区自偷自拍| 92看片淫黄大片欧美看国产片| 国产精品10p综合二区| 国产天堂亚洲国产碰碰| 一区二区三区国产好的精华液| 中文字幕精品—区二区四季| 97人人澡人人爽91综合色| 免费在线看黄| 国产精品久久久久久久久久久久久久| 欧美一级精品片在线看| 小泽玛利亚一区二区三区视频| 国产精品嫩草影院8vv8| 一本色道久久亚洲综合精品蜜桃| 丝袜美腿成人在线| 中文字幕第一区二区| 免费大秀视频在线播放| 国产精品综合久久| 中文字幕欧美激情一区| 国产精品一区二| 老鸭窝av在线| 亚洲一区二区精品视频| 亚洲人成在线播放| 在线亚洲精品| 久久久久久亚洲中文字幕无码| 亚洲欧美日韩一区二区三区在线| 黑人久久a级毛片免费观看| 国产又粗又大又爽视频| 欧美高清一级片在线观看| 自拍偷拍视频亚洲| 精品不卡一区| 日本网站免费观看| 欧美4khd| 91在线免费观看网站| 一本一道久久a久久精品蜜桃| 99久久免费观看| 成人免费va视频| 在线播放国产一区二区三区| 日本精品在线视频| 亚洲最新免费视频| 最新亚洲激情| 久久九九国产精品怡红院| 精品国产影院| 国产黄色片网站| 午夜欧美视频在线观看| 97人妻精品一区二区三区免| 成人免费xxxxx在线视频| 亚洲免费在线观看av| 欧美日韩精品不卡| 国产欧美自拍| 欧美久久久久久久久久久久久久| 麻豆网站在线观看| 中国视频免男男gay| а√在线中文网新版地址在线| 日本激情视频在线播放| 精品无人乱码一区二区三区的优势| 羞羞视频在线观看一区二区| 国产偷v国产偷v亚洲高清| 亚洲国产一区二区三区四区| 成人影院网站ww555久久精品| 久久久久久久久97黄色工厂| 中文在线免费一区三区| 一区中文字幕电影| 国产免费一区二区三区网站免费| 人妻体内射精一区二区三区| 天天综合久久综合| 欧美成人黄色网址| 人妖一区二区三区| 亚洲伊人久久大香线蕉av| 国产无遮挡一区二区三区毛片日本| 欧美禁忌电影网| 国产亚洲黄色片| 欧洲美女女同性互添| 欧美日韩亚洲综合一区二区三区激情在线| 亚洲精品无人区| 欧美日本精品在线| 日韩一区二区三区高清免费看看| 在线观看精品自拍视频| 亚洲综合专区| 天天做天天爱天天爽| 亚洲av无码一区东京热久久| 国产亚洲在线| 日本天堂网在线| 欧美国内亚洲| 黄色国产网站在线播放| 日韩精品丝袜美腿| 性欧美亚洲xxxx乳在线观看| 最近中文字幕mv免费高清视频8| 亚欧激情乱码久久久久久久久| 先锋影音av在线资源| 红桃成人av在线播放| 国产在线黄色片| 国产精品视频九色porn| jizz日本| 91高清视频免费| 久久视频在线| 特级西西www444人体聚色| 菠萝蜜影院一区二区免费| 欧美人体视频| 亚洲黄色免费av| 91片黄在线观看喷潮| 国产精品免费91| 男人久久天堂| 中文字幕在线影视资源| 特黄特色免费视频| 色综合天天色综合| 国产性猛交96| 欧美成人一区二区| 在线免费观看a视频| 亚洲柠檬福利资源导航| 亚洲精品久久久久久动漫器材一区| 91福利在线导航| 综合分类小说区另类春色亚洲小说欧美| 欧美成人黑人猛交| 麻豆精品在线播放| 欧美www在线观看| 亚洲精品白浆高清久久久久久| 亚洲免费网站在线观看| 欧美三级超在线视频| 色偷偷噜噜噜亚洲男人的天堂| 激情四房婷婷| 国产精品久久久久久久久久ktv| 国产调教精品| 九色porny丨入口在线| 欧美特黄一区| 国产精品视频第一区二区三区| 国产九九精品视频| jizz久久精品永久免费| 久久婷婷一区二区三区| 久久精品久久久久| 伊人久久久久久久久久久久| 欧美熟妇乱码在线一区| 日韩在线看片| 久久精品国产久精国产一老狼| 一区二区三区四区五区视频| 久久艳妇乳肉豪妇荡乳av| 男女视频在线| 91成人精品网站| 丁香高清在线观看完整电影视频| 国产香蕉久久精品综合网| 91精品国产一区二区在线观看| y111111国产精品久久久| av毛片在线免费看| 国产极品美女到高潮| 性生活在线视频| 国产亚洲精品熟女国产成人| 在线日韩av片| 国外成人在线视频网站| 欧美激情国产在线| 成人观看免费完整观看| 国产精品久久久99| 日韩免费高清视频网站| 69p69国产精品| 日韩黄色在线播放| 欧美不卡激情三级在线观看| 啦啦啦中文在线观看日本| 亚洲国产日韩在线| 国产av精国产传媒| 久久小说免费下载| 欧美成人午夜做爰视频在线观看| 污污视频在线免费看| 欧美美女黄色网| 婷婷久久五月天| 91精品xxx在线观看| 91人人澡人人爽人人精品| 亚洲激情视频在线观看| 亚洲国产一区二区精品专区| 国产无精乱码一区二区三区| 久久综合色88| 日本va欧美va瓶| 麻豆美女网站| 国产性生活大片| 亚洲欧美激情视频在线观看一区二区三区| 成人午夜888| 亚洲精品自在久久| 精品人妻一区二区三区麻豆91| 午夜精品久久久久久不卡8050| 国产日本欧洲亚洲| 免费av在线一区| 秋霞午夜一区二区三区视频| 国产啊啊啊视频在线观看| 天堂а√在线中文在线新版| 蜜桃麻豆影像在线观看| 国产成人+综合亚洲+天堂| 国产麻豆欧美日韩一区| 欧美色图亚洲自拍| 风间由美性色一区二区三区四区| 8x8x成人免费视频| 久久久久久久久久久久久久久99| 九九热视频在线观看| 秋霞综合在线视频| 精品人妻一区二区三区四区| 羞羞视频在线观看| 在线视频一区二区免费| 黄av在线免费观看| www.国产com| 99精品在线| 日韩亚洲欧美精品| a欧美人片人妖| 懂色一区二区三区| 黄网址在线观看| 日本黄色福利视频| 4k岛国日韩精品**专区| 免费网站免费进入在线| 国模精品一区二区三区| 性高爱久久久久久久久| 亚洲一区二区久久久| 少妇精品久久久一区二区| 日本高清无吗v一区| 巨大黑人video| 日韩一区二区在线观看视频| 日韩欧美伦理电影院| 国产精品国产精品国产专区不蜜| 轻轻草在线视频| av在线亚洲天堂| 97av影视网在线观看| 国产精品欧美日韩久久| 日本少妇高潮喷水视频| 亚洲免费视频网站| 欧美精品在欧美一区二区少妇| yy111111少妇嫩草影院| h小视频在线观看网| 久久综合一区二区三区| 国产精品一区免费视频| 老司机午夜精品视频| 91青娱乐在线视频| 久久久久久久久久久久久久久久av| 中日韩免费视频中文字幕| 成人资源在线| 久久久久久国产精品三级玉女聊斋| 九九九九热精品免费视频| 99精品99久久久久久宅男| 国产精品酒店视频| 亚洲激情欧美激情| 国产欧美日韩另类视频免费观看| www.91视频| 日韩一区二区三区四区视频| 亚洲精品一区二区久| 久久久水蜜桃av免费网站| 久久久久久久久综合| 国产天堂视频在线观看| 精品国产一区二区三区四区vr| 久久久999免费视频| 99re6在线精品视频免费播放| 男女啪啪无遮挡| 下面一进一出好爽视频| 中文字幕欧美人妻精品一区| 国产午夜性春猛交ⅹxxx| 久草久草久草| 色大师av一区二区三区| 一区二区三区四区在线免费观看| 成人免费视频网站在线观看| 在线天堂www在线国语对白| 久久91精品国产91久久久| 黄av在线免费观看| 天天摸天天碰天天添| 日本xxxx免费| 我不卡神马影院| 国产精品一区二区在线观看| 91精品国产乱码久久久久久久| 日本视频www色| 欧美亚洲国产精品| 大陆极品少妇内射aaaaaa| 毛茸茸free性熟hd| 亚洲欧美日韩不卡一区二区三区| 亚洲影院一区| 欧美巨大黑人极品精男| 成人精品gif动图一区| 国产稀缺真实呦乱在线| 国产一区二区三区日韩精品| 91精品国产高清久久久久久91| 国模冰冰炮一区二区| 国产精品一区在线免费观看| 亚洲av片一区二区三区|