• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Arduino安全遞歸調(diào)用

    2021-09-09 06:27:30樂萬德劉舟洲曹敬馨初建杰
    實(shí)驗(yàn)室研究與探索 2021年8期
    關(guān)鍵詞:那契盤子調(diào)用

    樂萬德, 劉舟洲, 曹敬馨, 初建杰

    (1.西安航空學(xué)院計(jì)算機(jī)學(xué)院,西安710077;2.西北工業(yè)大學(xué)工業(yè)設(shè)計(jì)與人機(jī)功效工信部重點(diǎn)實(shí)驗(yàn)室,西安710072)

    0 引 言

    作為一款便捷靈活的開源電子原型平臺(tái),Arduino得到了廣泛的應(yīng)用,比如汽車并線輔助系統(tǒng)[1]、智能防盜系統(tǒng)[2],制作機(jī)械書畫手臂[3]、智能盆栽養(yǎng)護(hù)瓶[4]等。Arduino在高校創(chuàng)新創(chuàng)業(yè)教育中也發(fā)揮著越來越重要的作用,不僅用于案例教學(xué)[5],參與競(jìng)賽活動(dòng)[6],還用于實(shí)驗(yàn)調(diào)試[7]、實(shí)驗(yàn)室管理[8]等,也有學(xué)者研究其生態(tài)擴(kuò)充[9]。

    遞歸算法在數(shù)學(xué)和計(jì)算機(jī)領(lǐng)域都占據(jù)著十分重要的地位。在計(jì)算機(jī)領(lǐng)域,遞歸函數(shù)由于邱奇-圖靈定理顯示出重要意義[10],邱奇-圖靈論題告訴我們一切可計(jì)算過程都可以用圖靈機(jī)模擬,1935年丘奇論題提出著名的“算法可計(jì)算函數(shù)都是遞歸函數(shù)”。同時(shí)遞歸函數(shù)是C語言等計(jì)算機(jī)編程中的一個(gè)重點(diǎn)和難點(diǎn),國內(nèi)外對(duì)于遞歸函數(shù)的教學(xué)進(jìn)行了廣泛的研究。Rinderknecht[11]在廣泛研究遞歸在編程語言中出現(xiàn)及被程序員采用的歷史之后,提出了遞歸的課程方法。文獻(xiàn)[12-14]中對(duì)C語言中遞歸函數(shù)的教學(xué)方法、教學(xué)設(shè)計(jì)、微課等教學(xué)形式進(jìn)行了探討。

    與某些單片機(jī)有限支持甚至不支持遞歸調(diào)用不同,Arduino支持遞歸調(diào)用。而前述文獻(xiàn)雖然分別對(duì)于Arduino與遞歸進(jìn)行了廣泛的研究,但Arduino內(nèi)存有限,遞歸算法在Arduio系統(tǒng)中棧溢出隱患問題鮮有研究。本文旨在探索Arduino安全遞歸調(diào)用,以期進(jìn)一步釋放Arduino應(yīng)用潛能。

    1 實(shí)驗(yàn)環(huán)境

    本文實(shí)驗(yàn)硬件為目前廣泛應(yīng)用的Arduino UNO R3。作為Arduino平臺(tái)的參考標(biāo)準(zhǔn)模板,UNO的處理器核心ATmega328,具有14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出)、6路模擬輸入、SRAM 2 KB[15]。Arduino板通過USB與筆記本電腦相連。軟件開發(fā)平臺(tái)為Arduino IDE 1.8.9。

    2 問題引入

    在Arduino IDE輸入圖1所示代碼,編譯、下載到Arduino UNO后,在PC端打開串口監(jiān)視窗口。

    圖1 不安全的Arduino遞歸調(diào)用

    如圖1(a)所示,在串口監(jiān)視窗口可以看到,在Arduino UNO里用遞歸調(diào)用算法可以求出sum(1,2,…,500)的正確結(jié)果為125 250,沒有發(fā)生棧溢出。

    作為對(duì)比,把上面的代碼稍作修改,即把上面else分支中return n+sum(n-1)語句改為:

    unsigned long temp=sum(n-1);

    return n+temp;

    重新編譯、下載,在圖1(b)中串口監(jiān)視窗口中顯示異常,沒有得到期望的結(jié)果,顯然發(fā)生了遞歸棧溢出。

    由此可見,Arduino UNO在編譯時(shí)對(duì)遞歸調(diào)用在某些場(chǎng)景做了優(yōu)化,使遞歸調(diào)用??梢灾貜?fù)利用,從而避免棧溢出,但不是所有遞歸都進(jìn)行了優(yōu)化。因此,有必要對(duì)Arduino遞歸調(diào)用進(jìn)行研究,以便對(duì)Arduino進(jìn)行安全遞歸調(diào)用。

    3 安全遞歸實(shí)驗(yàn)設(shè)計(jì)

    安全遞歸調(diào)用要解決兩個(gè)基本問題,一是要設(shè)計(jì)出正確的遞歸算法;二是要防止遞歸調(diào)用棧溢出。

    3.1 遞歸算法

    遞歸算法具有兩個(gè)明顯的特點(diǎn):①一個(gè)更大規(guī)模的問題可以轉(zhuǎn)換成一個(gè)規(guī)模更小的同樣問題的求解,即問題的遞推性。②當(dāng)一個(gè)問題轉(zhuǎn)換到某個(gè)規(guī)模足夠小的問題時(shí)有確定的解,即問題的收斂性,也即遞推終止條件。

    以階乘為例,要求n!,可以把問題轉(zhuǎn)換成n*(n-1)!,即只需要求出(n-1)!這就是遞推關(guān)系,即特點(diǎn)一。遞推到足夠小比如1!為1是確定的,第2個(gè)特點(diǎn)即遞歸終止條件滿足。

    一旦識(shí)別出上述兩個(gè)特點(diǎn),不難編寫出遞歸程序,通常只需要將上述兩個(gè)條件映射為遞歸程序判斷結(jié)構(gòu)的兩個(gè)分支。

    3.2 遞歸棧溢出

    遞歸算法需要注意的第2個(gè)問題是遞歸棧溢出的問題,即本文研究的重點(diǎn)。遞歸調(diào)用本質(zhì)上是函數(shù)調(diào)用,涉及到函數(shù)參數(shù)及函數(shù)返回地址等壓棧。遞歸調(diào)用層數(shù)過多,棧地址與堆地址就會(huì)發(fā)生碰撞,也叫棧溢出。棧溢出會(huì)導(dǎo)致程序工作異常,需要避免。Arduino UNO的RAM內(nèi)存空間只有2 KB,在掌握遞歸算法的基礎(chǔ)上,更要關(guān)注遞歸棧溢出問題。

    3.3 實(shí)驗(yàn)原理

    3.3.1 AVR遞歸調(diào)用棧

    Arduino UNO采用AVR ATMega328作為芯片平臺(tái)。AVR芯片的SRAM存儲(chǔ)示意圖如圖2所示。主要包括靜態(tài)數(shù)據(jù)區(qū)、堆空間和棧空間。其中靜態(tài)數(shù)據(jù)區(qū)和堆空間占據(jù)著低地址空間,且自下而上生長。而棧空間占據(jù)著高地址空間,且自上而下生長,主要應(yīng)用于快速便捷地保存臨時(shí)數(shù)據(jù)、局部變量和中斷調(diào)用或子程序調(diào)用的返回地址。棧在系統(tǒng)程序的設(shè)計(jì)和運(yùn)行中起著非常重要的作用,只要程序中使用了中斷和子程序調(diào)用,就必須在SRAM空間建立棧空間,并正確地設(shè)置棧指針寄存器SP。

    圖2 Arduino SRAM中的存儲(chǔ)示意圖

    當(dāng)執(zhí)行PUSH指令,1 byte的數(shù)據(jù)被壓入棧,棧指針(SP中的數(shù)據(jù))將自動(dòng)減1;當(dāng)執(zhí)行子程序調(diào)用指令CALL或CPU響應(yīng)中斷時(shí),硬件會(huì)自動(dòng)把返回地址(16位數(shù)據(jù))壓入棧中,同時(shí)將棧指針自動(dòng)減2;反之,當(dāng)執(zhí)行POP指令,從棧頂部彈出1 byte的數(shù)據(jù),棧指針將自動(dòng)加1;當(dāng)執(zhí)行從子程序返回或從中斷返回指令時(shí),返回地址將從棧頂部彈出,棧指針自動(dòng)加2。

    由于AVR的棧是向下增長的,即新數(shù)據(jù)進(jìn)入棧時(shí)棧頂指針的數(shù)據(jù)將減小,所以隨著??臻g和堆空間的增長,剩余內(nèi)存會(huì)不斷減小,甚至內(nèi)存耗盡,發(fā)生棧溢出。

    3.3.2 安全遞歸調(diào)用算法

    如果在每次遞歸調(diào)用之前都能清楚地知道剩余內(nèi)存的情況和本次遞歸調(diào)用所需內(nèi)存,就可以有效防止內(nèi)存耗盡及棧溢出情況。關(guān)于Arduino剩余動(dòng)態(tài)內(nèi)存的查看,可參考文獻(xiàn)[16],本文采用圖3所示的算法來探測(cè)并規(guī)避遞歸調(diào)用棧溢出。

    圖3 Arduino剩余內(nèi)存探測(cè)

    圖3所示的算法實(shí)現(xiàn)為函數(shù),命名為availableMemory。在程序研發(fā)或者debug過程中,將availableMemory函數(shù)置于遞歸函數(shù)中,如果遞歸調(diào)用深度過深,內(nèi)存可能耗盡,availableMemory返回的內(nèi)存就會(huì)接近0。當(dāng)剩余內(nèi)存小于單次遞歸調(diào)用所需的內(nèi)存,則告警并記錄遞歸調(diào)用最大深度后安全返回。

    Arduino安全遞歸調(diào)用算法如圖4所示。在算法中設(shè)置一個(gè)遞歸調(diào)用狀態(tài)參數(shù)State,初始化State為1,表示遞歸狀態(tài)正常。每次遞歸調(diào)用時(shí)通過availableMemory計(jì)算剩余內(nèi)存,如果剩余內(nèi)存小于預(yù)設(shè)閾值,則將State變量設(shè)置為0,表示遞歸有棧溢出風(fēng)險(xiǎn),即遞歸狀態(tài)異常。每次遞歸調(diào)用時(shí)先查看State,只有當(dāng)State為1才進(jìn)行進(jìn)一步的包括遞歸調(diào)用在內(nèi)的后續(xù)操作,這樣就妥善處理了棧溢出異常。最小閾值M1可以設(shè)置為每次遞歸調(diào)用需要消耗的內(nèi)存。因?yàn)槊看芜f歸調(diào)用的壓棧過程都是從高地址向低地址順序壓棧的,對(duì)于單次遞歸調(diào)用所消耗的內(nèi)存M1,可以就兩次遞歸調(diào)用同一個(gè)變量的內(nèi)存地址相減得到。

    圖4 Arduino安全遞歸調(diào)用算法流程圖

    4 Arduino典型遞歸實(shí)驗(yàn)

    4.1 Arduino階加遞歸實(shí)驗(yàn)

    常見的入門遞歸實(shí)例是求階乘,隨著n的增加,階乘的結(jié)果迅速變大,容易造成存放其結(jié)果的數(shù)據(jù)類型越界。為了實(shí)驗(yàn)Arduino的遞歸支持能力,本文將乘改為加,設(shè)計(jì)了一個(gè)用遞歸算法實(shí)現(xiàn)從1~n求和的遞歸程序,稱之為階加。階加的遞推公式及終止條件如下:

    階加的遞歸調(diào)用算法與階乘的遞歸調(diào)用算法類似,以n=4為例,其遞歸調(diào)用棧入棧出棧如圖5所示。遞歸算法中,recSum(4)需要做函數(shù)調(diào)用,其參數(shù)及函數(shù)返回地址入棧,同理recSum(3)、recSum(2)、recSum(1)也需做遞歸調(diào)用并依次入棧,此時(shí)入棧全部結(jié)束,遞歸調(diào)用棧如圖5(a)所示。

    圖5 n為4時(shí)階加遞歸調(diào)用棧分析

    recSum(1)=1為遞歸終止條件,函數(shù)返回并出棧,此時(shí)recSum(2)=2+1也為已知,recSum(2)函數(shù)返回并出棧,同理recSum(3),recSum(4)依次返回并出棧,此時(shí)棧空間為空,如圖5(b)所示。

    由圖5可見,如果參數(shù)n足夠大,recSum(n)遞歸調(diào)用時(shí)可能發(fā)生棧溢出。此時(shí)應(yīng)該結(jié)束遞歸調(diào)用安全返回,并給出遞歸調(diào)用的最大深度提示。

    用本文安全遞歸調(diào)用算法運(yùn)行結(jié)果如圖6所示。圖6(a)是參數(shù)為300時(shí)程序運(yùn)行的部分結(jié)果,當(dāng)n逐層遞歸減到90時(shí),剩余內(nèi)存為15 bytes,本次遞歸調(diào)用后剩余內(nèi)存已經(jīng)不能繼續(xù)進(jìn)行本次遞歸調(diào)用了,給出錯(cuò)誤提示,并給出根據(jù)本次計(jì)算得到的最大遞歸深度為211。圖6(b)為按提示的最大遞歸深度211,計(jì)算1+2+…+211的結(jié)果為22 366,計(jì)算結(jié)果正確。

    圖6 階加Arduino安全遞歸調(diào)用運(yùn)行結(jié)果

    4.2 Arduino斐波那契數(shù)列遞歸實(shí)驗(yàn)

    斐波那契數(shù)列又稱黃金分割數(shù)列、兔子數(shù)列,由數(shù)學(xué)家萊昂納多·斐波那契(Leonardoda Fibonacci)提出,具有很多有趣的性質(zhì)和應(yīng)用。其遞推公式可由下式表示:

    與階加相比,斐波那契數(shù)列遞歸算法略顯復(fù)雜。主要的不同是,第n項(xiàng)的值不僅僅與第n-1項(xiàng)有關(guān),還與第n-2項(xiàng)有關(guān)。其遞歸調(diào)用棧的入棧、出棧的關(guān)系也更為復(fù)雜。以4項(xiàng)斐波那契為例,對(duì)應(yīng)式(2)的遞歸調(diào)用的出棧入棧如圖7所示,更多項(xiàng)數(shù)的出棧入棧關(guān)系類似。

    圖7(a)中為了求Fib(4),需要進(jìn)行遞歸調(diào)用,所以需要將參數(shù)n=4及其函數(shù)返回地址入棧,同理當(dāng)n=3,n=2時(shí)繼續(xù)遞歸調(diào)用并將對(duì)應(yīng)參數(shù)和函數(shù)返回地址壓棧,因?yàn)镕ib(2)=1為已知,可以直接返回,第1輪壓棧結(jié)束。圖7(b)中Fib(2)返回彈棧后Fib(3)=1+Fib(1),F(xiàn)ib(3)不能繼續(xù)彈棧,第1輪彈棧結(jié)束。圖7(c)、(d),圖7(e)、(f)分別進(jìn)行第2、第3輪入棧出棧,分析類似,不再贅述。

    圖7 n為4時(shí)斐波那契遞歸調(diào)用棧分析

    由圖7可以看出,如果參數(shù)n足夠大,在某輪入棧時(shí),可能發(fā)生棧溢出,此時(shí)應(yīng)該結(jié)束遞歸調(diào)用返回,并給出遞歸調(diào)用的最大深度提示。

    用本文安全遞歸調(diào)用算法運(yùn)行結(jié)果如圖8所示。圖8(a)是參數(shù)為300時(shí)程序運(yùn)行的部分結(jié)果,當(dāng)n逐層遞歸減到161時(shí),剩余內(nèi)存為23 bytes,本次遞歸調(diào)用后剩余內(nèi)存已經(jīng)不能繼續(xù)進(jìn)行本次遞歸調(diào)用了,給出錯(cuò)誤提示,并給出根據(jù)本次計(jì)算得到的最大遞歸深度為140。圖8(b)為按提示的最大遞歸深度140,遞歸調(diào)用正常。

    圖8 斐波那契Arduino安全遞歸調(diào)用運(yùn)行結(jié)果

    4.3 Arduino漢諾塔遞歸實(shí)驗(yàn)

    漢諾塔問題是遞歸算法處理的經(jīng)典問題。其問題可以描述為:初始狀態(tài)下A座上有n個(gè)盤子,盤子大小不等,大的在下,小的在上。要求把這n個(gè)盤子從A座移到C座,但規(guī)定每次只允許移動(dòng)一個(gè)盤,且在移動(dòng)過程中在3個(gè)座上都始終保持大盤在下,小盤在上。在移動(dòng)過程中可以利用B座。

    這是一個(gè)非數(shù)值解問題,也蘊(yùn)含著遞推關(guān)系,雖然不容易用遞推公式,但可用下面的流程圖來表達(dá)這種遞推關(guān)系。Hannoi(n,x,y,z)中n為盤子的數(shù)量,x、y、z為座子變量,取值可能為A、B、C座中的一個(gè)。表示將n個(gè)盤子從x座移動(dòng)到z座上,y座可以作為中轉(zhuǎn)。當(dāng)盤子的數(shù)量n>1時(shí),需要將n-1個(gè)盤子先從x座移到y(tǒng)座上(通過z座中轉(zhuǎn)),然后將x座上剩余的一個(gè)盤子移動(dòng)到z座上,最后將n-1個(gè)盤子從y座移到z座上(通過x座中轉(zhuǎn))。如果n=1,則滿足遞歸終止條件,直接將這1個(gè)盤子從x座移到z座上。

    由圖9可見,漢諾塔的遞歸調(diào)用從n階到n-1階的過程中具有兩次遞歸調(diào)用,因此其入棧出棧也比較復(fù)雜,以3個(gè)盤子的漢諾塔遞歸調(diào)用為例,分析其入棧出棧關(guān)系如圖10所示。更多項(xiàng)數(shù)的出棧入棧關(guān)系類似。

    圖9 漢諾塔遞歸調(diào)用算法

    圖10 n為3時(shí)漢諾塔遞歸調(diào)用棧分析

    用本文安全遞歸調(diào)用算法運(yùn)行結(jié)果如圖11所示。圖11(a)為參數(shù)為300時(shí)程序運(yùn)行的部分結(jié)果,當(dāng)n逐層遞歸減到148時(shí),剩余內(nèi)存為16 bytes,本次遞歸調(diào)用后剩余內(nèi)存已經(jīng)不能繼續(xù)進(jìn)行本次遞歸調(diào)用了,給出錯(cuò)誤提示,并給出根據(jù)本次計(jì)算得到的最大遞歸深度為153。圖11(b)為按提示的最大遞歸深度153,遞歸調(diào)用正常。

    圖11 漢諾塔Arduino安全遞歸調(diào)用運(yùn)行結(jié)果

    5 結(jié) 語

    為了防止遞歸調(diào)用棧溢出帶來的災(zāi)難性后果,本文為Arduino遞歸調(diào)用設(shè)計(jì)了防溢出的遞歸調(diào)用算法。無論是在簡(jiǎn)單階乘(階加)遞歸調(diào)用,還是在相對(duì)復(fù)雜的斐波那契數(shù)列、漢諾塔遞歸調(diào)用中,算法都穩(wěn)定可靠。在Arduino實(shí)踐中,為安全遞歸調(diào)用提供了保障,為Arduino創(chuàng)新應(yīng)用提供更豐富的手段。

    猜你喜歡
    那契盤子調(diào)用
    有趣的斐波那契數(shù)列
    放桃子
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    盤子中的童話故事
    從斐波那契數(shù)列的通項(xiàng)公式談起
    植物體上的斐波那契數(shù)列
    疑似斐波那契數(shù)列?
    基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
    “撕”掉的盤子
    久久精品国产亚洲av高清一级| 麻豆av在线久日| 哪个播放器可以免费观看大片| 伦理电影免费视频| 女性被躁到高潮视频| 国产精品蜜桃在线观看| 欧美激情极品国产一区二区三区| av免费观看日本| 亚洲国产精品一区三区| 国产精品国产三级国产专区5o| 欧美97在线视频| 精品国产露脸久久av麻豆| 亚洲熟女精品中文字幕| 久久97久久精品| 韩国高清视频一区二区三区| 久久久久精品人妻al黑| 久久精品久久久久久噜噜老黄| 人人澡人人妻人| 97精品久久久久久久久久精品| 亚洲国产毛片av蜜桃av| 在线看a的网站| 成人国产av品久久久| 亚洲av成人不卡在线观看播放网 | 久久久国产欧美日韩av| 亚洲欧美一区二区三区黑人| 熟女少妇亚洲综合色aaa.| 无限看片的www在线观看| 亚洲专区中文字幕在线 | 卡戴珊不雅视频在线播放| 老汉色∧v一级毛片| 蜜桃在线观看..| a级毛片在线看网站| 啦啦啦在线观看免费高清www| 免费在线观看视频国产中文字幕亚洲 | 色网站视频免费| 亚洲熟女精品中文字幕| 日本av手机在线免费观看| 久久久精品区二区三区| 亚洲第一青青草原| 久久天躁狠狠躁夜夜2o2o | 亚洲五月色婷婷综合| 久热这里只有精品99| 欧美精品一区二区大全| av天堂久久9| 亚洲精品第二区| 成年动漫av网址| 亚洲国产精品一区二区三区在线| 国产精品欧美亚洲77777| 国产片特级美女逼逼视频| 精品一区二区三卡| 亚洲七黄色美女视频| 色吧在线观看| 老司机在亚洲福利影院| 18禁国产床啪视频网站| 婷婷色综合大香蕉| 咕卡用的链子| avwww免费| 男女下面插进去视频免费观看| 亚洲国产欧美在线一区| 侵犯人妻中文字幕一二三四区| 成人午夜精彩视频在线观看| 哪个播放器可以免费观看大片| 久久青草综合色| 国产成人欧美| 欧美日韩综合久久久久久| 日日撸夜夜添| 又黄又粗又硬又大视频| 精品视频人人做人人爽| 久久99精品国语久久久| 国产av国产精品国产| 中文字幕制服av| 成人免费观看视频高清| 日韩中文字幕视频在线看片| 黄色视频在线播放观看不卡| 尾随美女入室| 久久精品久久久久久噜噜老黄| 中文字幕高清在线视频| 亚洲第一av免费看| 婷婷色麻豆天堂久久| 搡老乐熟女国产| 亚洲欧美激情在线| 十八禁网站网址无遮挡| 最新在线观看一区二区三区 | 韩国高清视频一区二区三区| 国产精品一区二区在线观看99| 亚洲国产av影院在线观看| 午夜91福利影院| 无遮挡黄片免费观看| 51午夜福利影视在线观看| 自拍欧美九色日韩亚洲蝌蚪91| 日本欧美国产在线视频| 欧美黑人精品巨大| 黄片无遮挡物在线观看| 人妻人人澡人人爽人人| 考比视频在线观看| 91aial.com中文字幕在线观看| 免费观看性生交大片5| 中文字幕制服av| 人人妻人人澡人人爽人人夜夜| 国产一区二区在线观看av| 人妻人人澡人人爽人人| 久久国产精品男人的天堂亚洲| 欧美精品人与动牲交sv欧美| 黄色怎么调成土黄色| 晚上一个人看的免费电影| 美女高潮到喷水免费观看| 亚洲欧洲国产日韩| 无限看片的www在线观看| 日韩 欧美 亚洲 中文字幕| 母亲3免费完整高清在线观看| 丰满乱子伦码专区| 婷婷成人精品国产| 黄色一级大片看看| 七月丁香在线播放| 国产亚洲av高清不卡| 一本一本久久a久久精品综合妖精| 两性夫妻黄色片| 国产成人免费无遮挡视频| 老汉色∧v一级毛片| 午夜福利一区二区在线看| 天天添夜夜摸| 国产av国产精品国产| 母亲3免费完整高清在线观看| 91国产中文字幕| 亚洲色图 男人天堂 中文字幕| 免费人妻精品一区二区三区视频| 欧美精品一区二区免费开放| 少妇人妻久久综合中文| 综合色丁香网| 亚洲五月色婷婷综合| 香蕉丝袜av| av网站免费在线观看视频| 性少妇av在线| 少妇猛男粗大的猛烈进出视频| 久久久久久免费高清国产稀缺| av视频免费观看在线观看| 亚洲欧美精品自产自拍| 日韩av不卡免费在线播放| 久久久久精品国产欧美久久久 | 九九爱精品视频在线观看| 成年动漫av网址| 纵有疾风起免费观看全集完整版| 色吧在线观看| av不卡在线播放| 国产日韩欧美亚洲二区| 肉色欧美久久久久久久蜜桃| 视频区图区小说| 国产免费视频播放在线视频| 久久久久久人人人人人| 欧美老熟妇乱子伦牲交| 国产成人精品久久久久久| 国产精品人妻久久久影院| 欧美 亚洲 国产 日韩一| 国产色婷婷99| 99国产综合亚洲精品| 十八禁人妻一区二区| 激情五月婷婷亚洲| 亚洲欧美清纯卡通| 十八禁高潮呻吟视频| kizo精华| 最近中文字幕2019免费版| 欧美人与性动交α欧美精品济南到| 在线观看国产h片| 看免费av毛片| 亚洲四区av| 亚洲欧美一区二区三区国产| 亚洲国产毛片av蜜桃av| 国产成人精品福利久久| 看非洲黑人一级黄片| 亚洲精品久久午夜乱码| 男人爽女人下面视频在线观看| 巨乳人妻的诱惑在线观看| 亚洲成人av在线免费| 久久久久精品久久久久真实原创| 成年女人毛片免费观看观看9 | 嫩草影视91久久| 国产探花极品一区二区| 这个男人来自地球电影免费观看 | 国产av一区二区精品久久| 国产成人精品久久二区二区91 | 黄片播放在线免费| 亚洲综合精品二区| av线在线观看网站| 欧美日本中文国产一区发布| 亚洲在久久综合| 最新的欧美精品一区二区| 国产精品欧美亚洲77777| 色播在线永久视频| 国产欧美日韩一区二区三区在线| 国产精品二区激情视频| 叶爱在线成人免费视频播放| 欧美日韩一级在线毛片| 亚洲国产精品一区二区三区在线| 超色免费av| 精品国产一区二区久久| 午夜91福利影院| 精品亚洲乱码少妇综合久久| 看免费成人av毛片| 一区在线观看完整版| 国产片内射在线| av女优亚洲男人天堂| 国产精品麻豆人妻色哟哟久久| 日韩,欧美,国产一区二区三区| 黄片无遮挡物在线观看| 一级毛片电影观看| 在现免费观看毛片| 久热这里只有精品99| 亚洲激情五月婷婷啪啪| 日韩av免费高清视频| 天天躁日日躁夜夜躁夜夜| 黑人巨大精品欧美一区二区蜜桃| 精品酒店卫生间| 亚洲精品,欧美精品| www.精华液| av在线播放精品| 亚洲五月色婷婷综合| 国产在线一区二区三区精| 不卡视频在线观看欧美| 一区二区av电影网| 观看美女的网站| 无限看片的www在线观看| 久久久久久人妻| www.av在线官网国产| 国产精品秋霞免费鲁丝片| 啦啦啦在线免费观看视频4| 自线自在国产av| 久久久欧美国产精品| 最近最新中文字幕大全免费视频 | 青草久久国产| 超色免费av| 男女高潮啪啪啪动态图| 女人爽到高潮嗷嗷叫在线视频| 最近的中文字幕免费完整| 涩涩av久久男人的天堂| 赤兔流量卡办理| av.在线天堂| 一区在线观看完整版| 只有这里有精品99| 久久精品亚洲av国产电影网| 又粗又硬又长又爽又黄的视频| 免费久久久久久久精品成人欧美视频| 亚洲国产中文字幕在线视频| 日本爱情动作片www.在线观看| 国产片特级美女逼逼视频| 免费看av在线观看网站| 国产精品久久久人人做人人爽| 久久免费观看电影| 婷婷色综合大香蕉| 丰满迷人的少妇在线观看| 久久久久久久久免费视频了| 热99国产精品久久久久久7| 秋霞在线观看毛片| 国产成人系列免费观看| 夫妻性生交免费视频一级片| 天天躁夜夜躁狠狠久久av| 成人国产麻豆网| 国产一区二区 视频在线| 国产成人免费无遮挡视频| 九九爱精品视频在线观看| 午夜免费男女啪啪视频观看| 亚洲精品,欧美精品| www.精华液| 无限看片的www在线观看| 欧美国产精品va在线观看不卡| av在线app专区| 亚洲国产精品999| 老司机影院毛片| 满18在线观看网站| e午夜精品久久久久久久| 亚洲精品乱久久久久久| 国产精品嫩草影院av在线观看| 精品亚洲成国产av| 高清视频免费观看一区二区| 黄频高清免费视频| 日韩av不卡免费在线播放| 色综合欧美亚洲国产小说| 国产av国产精品国产| 亚洲精品一区蜜桃| 亚洲av电影在线进入| 亚洲欧美成人综合另类久久久| 各种免费的搞黄视频| 欧美日韩视频高清一区二区三区二| 水蜜桃什么品种好| 国产精品香港三级国产av潘金莲 | 丝袜美腿诱惑在线| 在线观看免费午夜福利视频| 黄色毛片三级朝国网站| 如何舔出高潮| 国产免费现黄频在线看| 日本wwww免费看| 九色亚洲精品在线播放| 国产淫语在线视频| 国产高清不卡午夜福利| 亚洲美女视频黄频| 亚洲国产最新在线播放| 国产成人系列免费观看| 国产黄频视频在线观看| 我的亚洲天堂| 青春草国产在线视频| 黄色一级大片看看| 国产97色在线日韩免费| 最近的中文字幕免费完整| 美女午夜性视频免费| 亚洲一区二区三区欧美精品| 日日爽夜夜爽网站| 最近的中文字幕免费完整| 人妻 亚洲 视频| 婷婷色麻豆天堂久久| 我的亚洲天堂| 老司机影院成人| 天天躁夜夜躁狠狠躁躁| 久久精品人人爽人人爽视色| 亚洲国产av新网站| 亚洲成人手机| 中文字幕色久视频| 亚洲国产中文字幕在线视频| 在现免费观看毛片| 女人被躁到高潮嗷嗷叫费观| h视频一区二区三区| 欧美激情 高清一区二区三区| 日韩不卡一区二区三区视频在线| av在线播放精品| 性色av一级| 国产在线视频一区二区| 国产 一区精品| 2018国产大陆天天弄谢| 色视频在线一区二区三区| 最近的中文字幕免费完整| 日本黄色日本黄色录像| 国产福利在线免费观看视频| 91aial.com中文字幕在线观看| 18禁裸乳无遮挡动漫免费视频| 亚洲av电影在线观看一区二区三区| 亚洲欧美一区二区三区国产| 嫩草影视91久久| 亚洲精品一二三| 亚洲精品aⅴ在线观看| av一本久久久久| 丝瓜视频免费看黄片| 欧美xxⅹ黑人| 免费观看性生交大片5| 男人添女人高潮全过程视频| 操出白浆在线播放| 国产乱来视频区| 日本黄色日本黄色录像| 国产麻豆69| 国产 精品1| 欧美最新免费一区二区三区| 在线观看国产h片| 高清在线视频一区二区三区| 中文字幕人妻丝袜制服| 欧美精品av麻豆av| 少妇精品久久久久久久| 一级毛片黄色毛片免费观看视频| 亚洲av中文av极速乱| 日韩成人av中文字幕在线观看| 伊人久久国产一区二区| 1024视频免费在线观看| 99久久99久久久精品蜜桃| 国产精品麻豆人妻色哟哟久久| 天天操日日干夜夜撸| 国产国语露脸激情在线看| 五月天丁香电影| 三上悠亚av全集在线观看| 久久亚洲国产成人精品v| 欧美精品一区二区大全| 少妇人妻久久综合中文| 亚洲情色 制服丝袜| 午夜精品国产一区二区电影| 交换朋友夫妻互换小说| 少妇的丰满在线观看| 国产在视频线精品| 黄片小视频在线播放| 男女之事视频高清在线观看 | 久久精品久久久久久噜噜老黄| 一级a爱视频在线免费观看| 欧美最新免费一区二区三区| 人人澡人人妻人| 欧美在线黄色| 视频区图区小说| 青春草国产在线视频| 亚洲av日韩在线播放| 精品少妇内射三级| 久久av网站| 日本猛色少妇xxxxx猛交久久| 丝瓜视频免费看黄片| 亚洲美女黄色视频免费看| 下体分泌物呈黄色| 人人妻人人澡人人爽人人夜夜| 国产成人91sexporn| 久久久久网色| 美女高潮到喷水免费观看| 亚洲av福利一区| 国产乱来视频区| videosex国产| 又粗又硬又长又爽又黄的视频| 国产精品蜜桃在线观看| 欧美精品一区二区免费开放| 天天躁日日躁夜夜躁夜夜| 少妇精品久久久久久久| 老鸭窝网址在线观看| 国产精品一区二区在线不卡| 秋霞在线观看毛片| 亚洲精品一二三| 亚洲av福利一区| 欧美国产精品va在线观看不卡| 亚洲精品一二三| 在线观看三级黄色| 蜜桃国产av成人99| 满18在线观看网站| 欧美少妇被猛烈插入视频| 久久久久久人妻| 汤姆久久久久久久影院中文字幕| 国产成人a∨麻豆精品| 赤兔流量卡办理| 亚洲伊人久久精品综合| 性色av一级| 日本午夜av视频| 丝瓜视频免费看黄片| 十分钟在线观看高清视频www| 晚上一个人看的免费电影| 亚洲国产欧美一区二区综合| 国产日韩欧美视频二区| 两性夫妻黄色片| a 毛片基地| 一级毛片黄色毛片免费观看视频| 午夜激情av网站| 婷婷色麻豆天堂久久| 国产精品久久久久久精品古装| 久久精品久久久久久噜噜老黄| 精品人妻一区二区三区麻豆| 一边亲一边摸免费视频| 人妻一区二区av| 啦啦啦视频在线资源免费观看| 亚洲成人av在线免费| 老司机亚洲免费影院| 亚洲激情五月婷婷啪啪| 女人被躁到高潮嗷嗷叫费观| 最新在线观看一区二区三区 | 午夜福利,免费看| 日日爽夜夜爽网站| 黄频高清免费视频| 国产亚洲av高清不卡| 哪个播放器可以免费观看大片| 熟妇人妻不卡中文字幕| 亚洲av福利一区| 亚洲视频免费观看视频| 一区二区三区四区激情视频| 欧美日韩一区二区视频在线观看视频在线| 丝袜脚勾引网站| 汤姆久久久久久久影院中文字幕| 国产爽快片一区二区三区| 性少妇av在线| 人妻 亚洲 视频| 观看美女的网站| 久久女婷五月综合色啪小说| 五月天丁香电影| 免费高清在线观看视频在线观看| 久久久久久人妻| 可以免费在线观看a视频的电影网站 | 久久国产精品大桥未久av| 日本欧美国产在线视频| 一区二区三区精品91| 纯流量卡能插随身wifi吗| 七月丁香在线播放| 久久毛片免费看一区二区三区| 看免费av毛片| 亚洲第一区二区三区不卡| 亚洲欧美一区二区三区国产| av福利片在线| 天天躁夜夜躁狠狠躁躁| 日韩一卡2卡3卡4卡2021年| 精品一区二区三卡| 男女国产视频网站| 女人久久www免费人成看片| 一本大道久久a久久精品| 亚洲七黄色美女视频| 亚洲三区欧美一区| 日韩不卡一区二区三区视频在线| 久久狼人影院| xxxhd国产人妻xxx| 国产有黄有色有爽视频| 我要看黄色一级片免费的| 男女之事视频高清在线观看 | 熟女少妇亚洲综合色aaa.| 伊人久久国产一区二区| 久久免费观看电影| 色婷婷久久久亚洲欧美| 人体艺术视频欧美日本| 美女福利国产在线| 看免费成人av毛片| 青青草视频在线视频观看| 黄片小视频在线播放| 搡老乐熟女国产| 热99久久久久精品小说推荐| 国产精品免费大片| 日本欧美视频一区| 亚洲国产欧美在线一区| 一级爰片在线观看| 亚洲一级一片aⅴ在线观看| 国产亚洲精品第一综合不卡| 女人精品久久久久毛片| videos熟女内射| 中国三级夫妇交换| 丝袜喷水一区| 国产一区亚洲一区在线观看| tube8黄色片| 精品午夜福利在线看| 国产免费又黄又爽又色| 国产激情久久老熟女| 一区二区日韩欧美中文字幕| 国产精品 欧美亚洲| 久热这里只有精品99| 激情五月婷婷亚洲| 国产精品国产av在线观看| 国产视频首页在线观看| 在线精品无人区一区二区三| 国精品久久久久久国模美| 成人亚洲精品一区在线观看| 国产精品一区二区精品视频观看| 少妇被粗大猛烈的视频| h视频一区二区三区| 日日摸夜夜添夜夜爱| 交换朋友夫妻互换小说| 天天躁夜夜躁狠狠躁躁| 夫妻午夜视频| 日韩熟女老妇一区二区性免费视频| 下体分泌物呈黄色| bbb黄色大片| 一区福利在线观看| 高清不卡的av网站| 男的添女的下面高潮视频| 国产精品蜜桃在线观看| 一边亲一边摸免费视频| 女人久久www免费人成看片| 老司机在亚洲福利影院| 成人国产麻豆网| 一区二区日韩欧美中文字幕| 亚洲成人手机| 丝袜人妻中文字幕| 亚洲精品一区蜜桃| 青春草亚洲视频在线观看| 国产精品av久久久久免费| 建设人人有责人人尽责人人享有的| 国产成人91sexporn| 1024香蕉在线观看| 天天躁日日躁夜夜躁夜夜| 一区二区三区精品91| 波多野结衣av一区二区av| 久久综合国产亚洲精品| 久久人妻熟女aⅴ| 亚洲av综合色区一区| 国产成人欧美在线观看 | 亚洲天堂av无毛| 欧美精品高潮呻吟av久久| 久久久久久久精品精品| 中文天堂在线官网| 日韩制服丝袜自拍偷拍| 久久久久精品国产欧美久久久 | 天天影视国产精品| 日本爱情动作片www.在线观看| 国产女主播在线喷水免费视频网站| 999久久久国产精品视频| 黑人猛操日本美女一级片| 免费高清在线观看日韩| 久久久精品区二区三区| 国产一区亚洲一区在线观看| 欧美激情极品国产一区二区三区| a 毛片基地| 菩萨蛮人人尽说江南好唐韦庄| 欧美老熟妇乱子伦牲交| 亚洲四区av| 久久精品久久久久久噜噜老黄| 国产精品久久久人人做人人爽| 女人爽到高潮嗷嗷叫在线视频| 亚洲美女黄色视频免费看| 美女午夜性视频免费| 国产成人a∨麻豆精品| 日韩大码丰满熟妇| 午夜影院在线不卡| av国产精品久久久久影院| 天天躁夜夜躁狠狠久久av| 日日啪夜夜爽| 观看美女的网站| 亚洲av欧美aⅴ国产| av线在线观看网站| 黑人欧美特级aaaaaa片| 满18在线观看网站| av线在线观看网站| 91老司机精品| 国产成人精品无人区| 老熟女久久久| 精品一区二区三区av网在线观看 | 国产在视频线精品| 美女主播在线视频| 考比视频在线观看| 最近手机中文字幕大全| 观看av在线不卡| av视频免费观看在线观看| 日韩免费高清中文字幕av| 哪个播放器可以免费观看大片| 久久久精品免费免费高清| 日韩免费高清中文字幕av| 中文字幕人妻熟女乱码| 国产不卡av网站在线观看| 国产精品久久久久成人av| 久久久久精品久久久久真实原创| 欧美老熟妇乱子伦牲交| 久久久久网色| 免费不卡黄色视频| 成年人免费黄色播放视频| 亚洲五月色婷婷综合| 777米奇影视久久| 免费高清在线观看日韩| 欧美亚洲日本最大视频资源|