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

首頁(yè) > 編程 > ASM > 正文

匯編語(yǔ)言學(xué)習(xí)筆記(十二)-浮點(diǎn)指令

2019-11-11 01:53:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
浮點(diǎn)數(shù)如何存儲(chǔ)浮點(diǎn)寄存器浮點(diǎn)數(shù)指令浮點(diǎn)計(jì)算例子浮點(diǎn)高級(jí)運(yùn)算CMOV移動(dòng)指令

浮點(diǎn)數(shù)如何存儲(chǔ)

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

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

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

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

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

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

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

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

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

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

浮點(diǎn)寄存器

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

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

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

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

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

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

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

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

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

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

最后的標(biāo)志寄存器最為簡(jiǎn)單,分別0-15位分別標(biāo)志r0-r7共8個(gè)寄存器,每個(gè)寄存器占2位,這兩位的含義如下:

11 —— 合法擴(kuò)展精度 01 —— 零 10 —— 特殊浮點(diǎn) 11 —— 無(wú)內(nèi)容

另外對(duì)浮點(diǎn)寄存器的一些控制指令如下:

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

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

浮點(diǎn)數(shù)指令

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

指令說(shuō)明
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)存中的單精浮點(diǎn)到fpu寄存器堆棧
fldl value加載內(nèi)存中的雙精浮點(diǎn)到fpu寄存器堆棧
fldt value加載內(nèi)存中的擴(kuò)展精度點(diǎn)到fpu寄存器堆棧
fld %st(i)將%st(i)寄存器數(shù)據(jù)壓入fpu寄存器堆棧
fsts value單精度數(shù)據(jù)保存到value,不出棧
fstl value雙精度數(shù)據(jù)保存到value,不出棧
fstt value擴(kuò)展精度數(shù)據(jù)保存到value,不出棧
fstps value單精度數(shù)據(jù)保存到value,出棧
fstpl value雙精度數(shù)據(jù)保存到value,出棧
fstpt value擴(kuò)展精度數(shù)據(jù)保存到value,出棧
fxch %st(i)交換%st(0)和%st(i)
fld1把 +1.0 壓入 FPU 堆棧中
fldl2t把 10 的對(duì)數(shù)(底數(shù)2)壓入 FPU 堆棧中
fldl2e把 e 的對(duì)數(shù)(底數(shù)2)壓入 FPU 堆棧中
fldpi把 pi 的值壓入 FPU 堆棧中
fldlg2把 2 的對(duì)數(shù)(底數(shù)10)壓入 FPU 堆棧中
fldln2把 2 的對(duì)數(shù)(底數(shù)e) 壓入堆棧中
fldz把 +0.0 壓入壓入堆棧中

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

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

fadd    浮點(diǎn)加法fdiv    浮點(diǎn)除法fdivr   反向浮點(diǎn)除法fmul    浮點(diǎn)乘法fsub    浮點(diǎn)減法fsubr   反向浮點(diǎn)減法

對(duì)于以上的每種指令,有幾種指令格式,以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

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

浮點(diǎn)計(jì)算例子

接下來(lái)舉一個(gè)AT&T語(yǔ)法的例子,來(lái)計(jì)算表達(dá)式的值 ( 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

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

浮點(diǎn)高級(jí)運(yùn)算

除了基本的浮點(diǎn)計(jì)算,x87還提供了一些諸如余弦運(yùn)算等高級(jí)計(jì)算功能:

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

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

指令說(shuō)明
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

浮點(diǎn)數(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指令把a(bǔ)h寄存器的第0、2、4、6、7分別傳送至進(jìn)位、奇偶、對(duì)準(zhǔn)、零、符號(hào)位,不影響其他標(biāo) 志,ah寄存器中這些位剛好包含fpu狀態(tài)寄存器的條件代碼值,所以通過(guò)fstsw和sahf指令組合,可以傳送如下值:

把c0位傳送到eflags的進(jìn)位標(biāo)志 把c2位傳送到eflags的奇偶校驗(yàn)標(biāo)志 把c3位傳送到eflags的零標(biāo)志

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

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

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

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

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

CMOV移動(dòng)指令

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

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

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


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

五月天丁香花婷婷| 乱码一区二区三区| 国产精品亚洲色图| 欧美日韩国产a| 成人一区不卡| 欧美色男人天堂| 男女啪啪免费视频网站| 亚洲欧洲激情在线乱码蜜桃| 欧美日韩一区二区电影| www.91av.cn| 中文写幕一区二区三区免费观成熟| 国产成人精品在线看| 国产三级精品三级观看| 9999精品免费视频| 精品粉嫩超白一线天av| 日本黄色录像视频| 国产精品xxxxxx| 五月天激情视频在线观看| 毛片在线播放网址| 中文文精品字幕一区二区| 欧美一区2区视频在线观看| 国产真实乱人偷精品人妻| 久久99国内| 亚洲欧美精品一区| 狂野欧美性猛交xxxx巴西| 国产不卡视频在线播放| 91黄色国产视频| 香蕉视频黄色片| 美女扒开尿口让男人操亚洲视频网站| 婷婷国产v国产偷v亚洲高清| 色婷婷久久一区二区三区麻豆| 第三区美女视频在线| 亚洲在线观看视频网站| 欧美日韩成人免费视频| av在线不卡电影| 中文字幕中文字幕在线中一区高清| 国产色a在线观看| 亚洲经典一区| 亚洲精品成人av久久| 成人自拍偷拍| av电影免费在线观看| 国产综合欧美| 好吊妞国产欧美日韩免费观看网站| 中文字幕欧美人妻精品| www.夜夜操.com| 在线激情免费视频| 在线免费观看日韩欧美| 久久精品视频日本| 天天躁日日躁狠狠躁喷水| 亚洲精品男人天堂| 日韩精品成人一区二区三区| 成人免费视频视频在线观看免费| 精品视频免费观看| 日韩在线观看电影完整版高清免费| 亚洲成人18| 97视频在线观看视频免费视频| 日韩一区二区欧美| 国产精品偷乱一区二区三区| xxxxxwwww免费视频| 中文欧美字幕免费| 亚洲最新永久观看在线| 日韩成人在线观看视频| 三级黄在线观看| 欧美 另类 交| 精品视频97| 捆绑变态av一区二区三区| 日韩一级片免费| 欧美一级淫片videoshd| 欧美韩国日本| 国产99久久精品一区二区 夜夜躁日日躁| www.在线欧美| 中文在线а√在线8| 久久新电视剧免费观看| 婷婷六月天在线| 国产精品99久久久久久www| 亚洲a级在线观看| 日韩激情文学| 国产精品77777竹菊影视小说| av片在线免费观看| 天天骑天天射| 欧美韩日高清| 999国产精品| 国产精品99久久久久久久久| 国产精品丝袜91| 久久97超碰色| 我不卡影院28| 天天操天天综合网| 不卡一区二区在线观看| 国产精品地址| av男人天堂av| 性欧美办公室18xxxxhd| 欧美激情1区2区| 黑人巨大精品欧美一区二区三区| 国产精品一区二区三区www| 777午夜精品福利在线观看| 欧美午夜理伦三级在线观看| 欧美老少做受xxxx高潮| 五月激情丁香一区二区三区| 真不卡电影网| 欧美韩一区二区| 亚洲国产最新| 国产小视频免费观看| 韩国av一区二区| 日韩欧美在线综合| 国产精品日日摸夜夜摸av| 久久精品国产免费观看99| 久久精品国产亚洲AV熟女| 国产成人精品免费视频大全软件| 中文字幕日韩免费视频| 性欧美69xoxoxoxo| 在线播放欧美女士性生活| 韩国一区二区三区视频| 国产精品一区二区在线免费观看| 超碰在线播放97| 啊v在线视频| 久久在线播放| 久久青青草综合| 国产精品日韩欧美大师| 国产成人毛毛毛片| 黄色小网站在线观看| 国产大奶视频| 欧美丝袜一区二区三区| av一本久道久久综合久久鬼色| 国产高清无密码一区二区三区| 国产97在线 | 亚洲| 午夜精品久久久久| 欧美美女一区| 黑人狂躁日本妞一区二区三区| 久久久久无码国产精品| 人操人视频在线观看| 一区二区久久精品| 精品久久久久久中文字幕动漫| 大地资源第二页在线观看高清版| 婷婷国产成人久久精品激情| 成人天堂yy6080亚洲高清| 国产精品久久毛片av大全日韩| 极品魔鬼身材女神啪啪精品| 国产欧美精品日韩精品| 日韩伦理在线电影| 337p粉嫩大胆噜噜噜鲁| 神马久久av| 亚洲熟妇无码一区二区三区| ww亚洲ww在线观看国产| av亚洲在线| 亚洲va综合va国产va中文| 亚洲最大成人在线| 国产精品美女久久福利网站| 欧美在线观看www| 极品av少妇一区二区| 精品国产人成亚洲区| 九色自拍论坛| 国内成人自拍视频| 一二三区精品视频| 久久亚洲图片| 美女精品视频一区| 轻轻草成人在线| 日韩在线视频免费看| 亚洲一区国产精品| 136福利视频| 日本久久精品| 妞干网在线免费视频| 亚洲福利视频导航| 精品久久国产一区| 国产香蕉免费精品视频| 91亚洲国产成人精品性色| 天堂√中文最新版在线| 欧美精品一二三四| 91麻豆精品国产综合久久久久久| 91网站黄www| 懂色av一区| 人人九九精品| 波多野结衣中文字幕一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲天堂精品在线观看| 久久青草精品视频免费观看| av在线资源观看| 在线天堂一区av电影| 亚洲男人天堂2020| xxxx18hd亚洲hd捆绑| 99精品福利视频| 国产成人免费在线观看视频| 波多野结衣视频在线播放| 精品无人区太爽高潮在线播放| 午夜大尺度福利视频| 成人免费观看在线网址| 欧美精品啪啪| 九九热久久免费视频| 国产综合 伊人色| 久草在线视频资源| 国产欧美一区二区三区久久人妖| 夜夜嗨av禁果av粉嫩avhd| 五月天综合网| 欧美日韩亚洲网| 亚洲欧美国产中文| 四虎最新网站| 精品亚洲国内自在自线福利| av在线电影播放| 成人动漫视频在线观看完整版| 三级在线观看视频| 久久久久亚洲av成人毛片韩| 蜜乳av一区| 成人区精品一区二区| 欧美在线视频一区二区三区| 国产精品xnxxcom| 爽爽影院免费观看视频| 一个人www欧美| 久久久久无码国产精品一区李宗瑞| 国产91精品在线| 日韩精品久久久久久福利| 意大利激情丛林无删减版dvd| 爱爱网站免费| 亚洲va电影大全| 99久久综合国产精品二区| 91精品久久久久久久久青青| 日韩网红少妇无码视频香港| 精品视频在线看| 26uuu国产| 成人av综合一区| 97国产在线观看| 成人淫片在线看| 日韩网红少妇无码视频香港| 给我免费播放日韩视频| 你懂的视频在线播放| 国产露脸91国语对白| 亚洲精品免费在线视频| 国内精品一区二区三区四区| 日本护士...精品国| 国产日韩在线不卡| 欧美三日本三级少妇三2023| 国产粉嫩一区二区三区在线观看| 欧美日韩夜夜| 欧美日韩视频在线一区二区观看视频| 2017亚洲男人天堂| 亚洲天堂在线播放| 日本二区三区视频| 97se亚洲国产综合在线| 色综合天天综合在线视频| www.com在线观看| 黄色手机在线视频| 人妻少妇精品一区二区三区| 国产精品久久久久久久久免费看| 蜜臀av一区二区在线免费观看| 国产美女扒开尿口久久久| 亚欧在线免费观看| 亚洲乱码中文字幕| 国产高清在线不卡| 日本丰满少妇xxxx| 少妇高潮大叫好爽喷水| 波多野结衣大片| 免费中文字幕日韩| 丰满人妻熟女aⅴ一区| 国产一区二区在线视频| av无码精品一区二区三区| 国产精品免费视频网站| 亚洲精品电影久久久| 久久国产精品系列| 欧美日韩三级在线| 日韩一级不卡| 欧美视频一区二区在线| 久久福利在线| 欧美一级二级三级| 天天色天天操天天做| 免费看黄资源大全高清| 日本一区二区三区在线观看视频| 香蕉乱码成人久久天堂爱免费| 国产一区二区精品福利地址| 午夜天堂精品久久久久| 热re91久久精品国99热蜜臀| 国产精品盗摄一区二区三区| 精品一区二区三区三区| 亚洲免费精彩视频| 狠狠狠色丁香婷婷综合激情| 青青草国产成人av片免费| 日日摸天天添天天添破| 911精品产国品一二三产区| 成年人在线网站| www.亚洲在线| 亚洲黄色免费视频| 日韩成人精品一区二区三区| 一本大道久久加勒比香蕉| 亚洲欧美另类在线视频| 大白屁股一区二区视频| 国产精品福利导航| 青青草免费在线| 国产福利在线视频| 欧美自拍大量在线观看| 亚洲综合av一区二区三区| 亚洲网在线观看| 五月天色网站| eeuss影院www天堂免费| 黄色小网站在线观看| 国产高清精品网站| 9i在线看片成人免费| 中文字幕在线中文字幕日亚韩一区| 国产美女精彩久久| 欧美bbbbb性bbbbb视频| 久久精品成人欧美大片古装| 91国产精品成人| 3d动漫精品啪啪1区2区免费| 国产日韩精品一区二区三区在线| 国产午夜一区二区| 做爰高潮hd色即是空| 国产伦精品一区二区三区视频女| www婷婷av久久久影片| 精品一区二区三区久久久| 中文字幕日韩一区| 亚洲天堂网一区二区| 日韩精品免费一区二区三区竹菊| 欧美主播一区二区三区美女 久久精品人| 香蕉97视频观看在线观看| 久久久精品亚洲| 丁香婷婷自拍| 色综合一个色综合亚洲| 国产精品自拍偷拍视频| 国产精品密蕾丝视频下载| 中文字幕不卡| 69久久夜色精品国产69蝌蚪网| 99精品中文字幕| 天天操 夜夜操| 波多野结衣午夜| 久久久久久12| 精品欧美一区二区三区| 亚洲精品一区二区三区婷婷月| 丁香综合av| 国产高清视频网站| 涩涩网在线视频| 中文字幕制服丝袜在线| 亚洲第一页中文字幕|