国产剧情视频在线观看-国产剧情麻豆女教师在线观看-国产剧情精品在线观看-国产剧情精品-国产剧情91-国产玖玖在线观看


曙海教育集團(tuán)論壇DSP專區(qū)DSP5000技術(shù)討論 → 一種TI 5000系列DSP C/C++語言和匯編語言混合編程的方法


  共有10333人關(guān)注過本帖樹形打印

主題:一種TI 5000系列DSP C/C++語言和匯編語言混合編程的方法

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
一種TI 5000系列DSP C/C++語言和匯編語言混合編程的方法  發(fā)帖心情 Post By:2010-11-22 8:52:54

摘 要:首先介紹并比較了 TI 5000 系列DSP的三種主要軟件開發(fā)方法的優(yōu)缺點(diǎn),提出了C/C++與匯編語言混合編程方法的優(yōu)越性所在。之后在比較了幾種典型混合編程方法的基礎(chǔ)上,提出了一種結(jié)構(gòu)化的混合編程方法并詳細(xì)闡述了其函數(shù)調(diào)用規(guī)則和寄存器規(guī)則。最后給出了一個(gè)經(jīng)過驗(yàn)證的混合編程程序,該程序?qū)SP軟件開發(fā)有較大參考價(jià)值。
  關(guān)鍵詞:DSP;混合編程;函數(shù)調(diào)用規(guī)則;寄存器規(guī)則


1引言
  
TI 公司的5000系列低功耗16 b定點(diǎn)DSP,因其良好的性價(jià)比,在國(guó)內(nèi)獲得了很大的普及。如何對(duì)5000系列DSP進(jìn)行軟件開發(fā)也一直是業(yè)界關(guān)注的熱點(diǎn)。5000系列DSP的軟件設(shè)計(jì)通常有3種方法。

1.1用C/C++語言開發(fā)
  TI公司提供了用于C/C++語言開發(fā)的CCS平臺(tái)。該平臺(tái)包括優(yōu)化ANSI C/C++ 編譯器,從而可以在源程序級(jí)進(jìn)行開發(fā)調(diào)試。這種方法大大提高了軟件的開發(fā)速度和可讀性,方便了軟件的修改和移植。但是,C/C++代碼的效率還是無法與手工編寫的匯編代碼效率相比,如FFT程序。因?yàn)榧词故亲罴训腃/C++編譯器,也無法在所有的情況下都能合理的利用DSP芯片提供的各種資源。此外,用C/C++語言實(shí)現(xiàn)DSP芯片某些硬件控制也不如匯編方便,有些甚至無法用C/C++語言實(shí)現(xiàn)。
1.2全匯編語言開發(fā)

  TI公司提供了用于匯編語言開發(fā)的針對(duì)5000系列DSP的匯編語言。用戶可以用他進(jìn)行軟件開發(fā)。這種方式可以更為合理的利用芯片提供的硬件資源,其代碼效率高,程序執(zhí)行速度快。但是用匯編語言編寫程序是比較復(fù)雜的,一般來說,不同公司的芯片匯編語言是不同的,即使是同一公司的芯片,由于芯片的類型不同(如定點(diǎn)和浮點(diǎn))、芯片的升級(jí)換代,其匯編語言也不同。因此,用匯編語言開發(fā)基于某種芯片的產(chǎn)品周期較長(zhǎng),并且軟件的修改和升級(jí)較困難。而且匯編語言的可讀性和可移植性較差。

1.3C/C++語言和匯編語言混合編程開發(fā)
  為了充分利用DSP芯片的硬件資源,更好發(fā)揮C/C++語言和匯編語言進(jìn)行軟件開發(fā)的各自優(yōu)點(diǎn),可以將兩者有機(jī)的結(jié)合起來,兼顧兩者優(yōu)點(diǎn),避免其弊端。因此,在很多情況下,采用混合編程方法能更好地達(dá)到設(shè)計(jì)要求,完成設(shè)計(jì)任務(wù)。

2 C/C++語言和匯編語言混合編程方法討論
  
C/C++語言和匯編語言混合編程的具體方法有以下幾種:
  (1)獨(dú)立編寫C/C++程序和匯編程序,分開編譯或匯編形成各自的目標(biāo)模塊,再用鏈接器將C/C++模塊和匯編模塊鏈接起來,這是一種靈活性較大的方法。但用戶必須自己維護(hù)各匯編模塊的入口和出口代碼,自己計(jì)算傳遞參數(shù)在堆棧中的偏移量,工作量稍大,但能做到對(duì)程序的絕對(duì)控制,也能滿足軟件設(shè)計(jì)結(jié)構(gòu)化的要求。這是本文主要講述的方法。
  (2)在C/C++程序中使用匯編程序中定義的變量和常量。
  (3)在C/C++程序中直接內(nèi)嵌匯編語句。這種方法可以在C/C++程序中實(shí)現(xiàn)C/C++語言無法實(shí)現(xiàn)的硬件控制功能,如修改中斷控制寄存器、中斷標(biāo)志寄存器等。
  (4)在C/C++源程序中使用內(nèi)部函數(shù)直接調(diào)用匯編語言語句。
  后3種方法由于在C/C++語言中直接嵌入了匯編語言的成分,容易造成程序混亂,C/C++環(huán)境被破壞,甚至導(dǎo)致程序崩潰,而編程者又很難對(duì)不良結(jié)果進(jìn)行預(yù)期和有效控制。而如果采用第一種方法,只要遵循有關(guān)C/C++語言函數(shù)調(diào)用規(guī)則和寄存器規(guī)則,就能預(yù)見到程序運(yùn)行的結(jié)果,保證程序正確。下面分別講述函數(shù)調(diào)用規(guī)則和寄存器規(guī)則,最后給出編程實(shí)例。

3函數(shù)調(diào)用規(guī)則
  
C/C++編譯器對(duì)函數(shù)調(diào)用強(qiáng)加了一組嚴(yán)格的原則。除了特殊的運(yùn)行時(shí)間支持庫函數(shù)外,任何調(diào)用函數(shù)和被C/C++函數(shù)調(diào)用的函數(shù)都必須遵守這些原則。不遵守這些原則可能破壞C/C++環(huán)境并導(dǎo)致程序失敗。

  圖1說明了典型的函數(shù)調(diào)用。在這個(gè)例子中,參數(shù)被傳遞到堆棧中調(diào)用者的參數(shù)塊,函數(shù)再使用這些參數(shù)調(diào)用被調(diào)用函數(shù)。注意,第一個(gè)參數(shù)是在A累加器中傳遞的。這個(gè)例子還說明了匯編器對(duì)被調(diào)用函數(shù)的局部幀的分配。局部幀包括局部變量塊和局部參數(shù)塊兩部分,其中局部參數(shù)塊是局部幀中用來傳遞參數(shù)到其他函數(shù)的部分。如果被調(diào)用函數(shù)沒有局部變量并且不再調(diào)用其他函數(shù)或需要調(diào)用的函數(shù)沒有參數(shù),則不分配局部幀。對(duì)于混合編程而言,由于被調(diào)用函數(shù)是手工編寫的匯編程序,則局部幀由編程者自己完成分配,也不需要在堆棧中進(jìn)行,而編譯器分配局部幀。

圖片點(diǎn)擊可在新窗口打開查看

  (1)函數(shù)如何調(diào)用
  函數(shù)(調(diào)用者)在調(diào)用被調(diào)用函數(shù)時(shí)執(zhí)行以下任務(wù)。
  ①調(diào)用者將第一個(gè)(最左邊)的參數(shù)值放進(jìn)累加器A。調(diào)用者將剩下的參數(shù)按相反的順序傳進(jìn)參數(shù)塊,剩下的最左邊的參數(shù)在最低的地址。
  ②若函數(shù)返回一個(gè)結(jié)構(gòu),則調(diào)用者為該結(jié)構(gòu)分配空間,然后用累加器A傳遞返回空間的地址給調(diào)用的函數(shù)。
  ③調(diào)用者調(diào)用函數(shù)。
  (2)被調(diào)用函數(shù)如何響應(yīng)。
  被調(diào)用函數(shù)執(zhí)行以下任務(wù):
  注意:如果被調(diào)用函數(shù)是C/C++函數(shù),則下面步驟都是由匯編器自動(dòng)完成。如果是混合編程,則如下步驟都是由編程者在被調(diào)用的匯編函數(shù)中完成的。
  ①若被調(diào)用函數(shù)修改AR1,AR2或AR7,則將他們壓入堆棧。
  ②被調(diào)用函數(shù)通過從SP減去一個(gè)常數(shù),為局部變量塊和局部參數(shù)塊分配存儲(chǔ)器。該常數(shù)按以下公式計(jì)算,即:
  局部變量塊的大小+局部參數(shù)塊的大小+padding
  padding值是為了保證SP對(duì)準(zhǔn)偶數(shù)邊界而可能要求補(bǔ)充的一個(gè)字。之所以SP要對(duì)準(zhǔn)偶數(shù)邊界,是因?yàn)?000系列DSP指令可一次讀寫存儲(chǔ)器的32 b,例如DLD,DADD等。這樣,編譯器必須保證所有32 b的目標(biāo)都駐留在偶數(shù)邊界。
  對(duì)于混合編程而言可以在匯編函數(shù)中,按本步驟的方法在堆棧中分配局部幀,但本方法相對(duì)比較麻煩,尤其該匯編函數(shù)還要調(diào)用其他函數(shù)時(shí),所以,一般而言編程者通常用其他方法分配局部幀,比如用bss偽指令定義局部變量供函數(shù)使用。
  ③被調(diào)用函數(shù)為調(diào)用函數(shù)執(zhí)行代碼。
  ④若函數(shù)返回一個(gè)值,則被調(diào)用函數(shù)將該值放在累加器A中;若函數(shù)返回一個(gè)結(jié)構(gòu),則被 調(diào)用函數(shù)將該結(jié)構(gòu)復(fù)制到累加器A指到的存儲(chǔ)器塊;若調(diào)用者不返回函數(shù)值,則A被置0。
  ⑤被調(diào)用函數(shù)給SP上加上第二步計(jì)算的常數(shù),釋放為局部變量和局部參數(shù)分配的存儲(chǔ)空間。對(duì)混合編程而言,如果編程者沒有在堆棧中分配局部幀,則本步驟省略。
  ⑥被調(diào)用函數(shù)恢復(fù)所有保存的寄存器。
  ⑦被調(diào)用函數(shù)執(zhí)行返回。

4寄存器規(guī)則
  
(1)必須保存任何被函數(shù)修正的專用寄存器。專用寄存器包括:
  ①AR1,AR6,AR7
  ②堆棧指針(SP)
  若對(duì)SP正常使用,不需要明顯的保存。換句話說,只要任何壓入堆棧的東西在函數(shù)返回之 前被彈回(因而保存了SP),匯編函數(shù)就可以自由的使用堆棧。任何非專用的寄存器都可以自由地使用而無需將他們保存。
  (2)中斷函數(shù)必須保存他使用的所有寄存器。
  (3)ARP在函數(shù)進(jìn)入和返回時(shí),必須為0,即當(dāng)前輔助寄存器為AR0。函數(shù)執(zhí)行時(shí)可以為其 他值。
  (4)在默認(rèn)的情況下,編譯器總是認(rèn)為OVM為0。因此,若在匯編程序中將OVM置為1,則返回C/C++環(huán)境時(shí),必須將其恢復(fù)為0。
  (5)在默認(rèn)的情況下,編譯器總是認(rèn)為CPL為1。因此,若在匯編程序中將CPL清0,則在返回C/C++環(huán)境時(shí),必須將其恢復(fù)為1。
  (6)長(zhǎng)整數(shù)和浮點(diǎn)數(shù)存儲(chǔ)在存儲(chǔ)器中的方法是最高有效字在低位地址。
  (7)函數(shù)必須按前面有關(guān)被調(diào)用函數(shù)響應(yīng)中所述的方法返回值。
  (8)除了全局變量的初始化外,匯編語言模塊不能以任何目的使用cinit段。在boot asm中的C/C++啟動(dòng)程序假定cinit段完全由初始化表組成。將其他的信息放入cin it中將使初始化表產(chǎn)生混亂,并將產(chǎn)生不可預(yù)期的結(jié)果。
  (9)在匯編語言模塊中,對(duì)可以從C/C++中訪問的變量和函數(shù)名需加上前綴“_”。對(duì)于僅用于匯編語言模塊中的標(biāo)識(shí)符,應(yīng)不得用下劃線開始。
  (10)任何在匯編語言模塊中聲明的將要從C/C++訪問或調(diào)用的對(duì)象或函數(shù),都必須在匯編語言中用global偽指令聲明為全局變量。

5編程實(shí)例
  
以32 b乘法運(yùn)算為例。雖然用C/C++語言表達(dá)32 b乘法運(yùn)算較為方便和明了,但由于C/C++語言無法很好利用DSP匯編語言為實(shí)現(xiàn)各種乘法運(yùn)算而提供的指令,而使得C/C++程序效率低下。所以這里用匯編語言完成32 b乘法運(yùn)算,再用C/C++程序調(diào)用他。

5.1算法簡(jiǎn)介
  由于16 b定點(diǎn)DSP中沒有32 b乘法指令,所以一定要用幾種16 b乘法指令結(jié)合一定算法來進(jìn)行32 b乘法運(yùn)算。一個(gè)32 b數(shù)在存儲(chǔ)器中是分開存儲(chǔ)的。高16位存放在低地址,他在進(jìn)行乘法運(yùn)算是可以看作一個(gè)16 b有符號(hào)數(shù);低16位存放在相鄰的低地址,他進(jìn)行乘法運(yùn)算時(shí)可以看作一個(gè)16 b無符號(hào)數(shù)。于是算式如下:  
  圖片點(diǎn)擊可在新窗口打開查看
其中:S代表符號(hào)數(shù);U代表無符號(hào)數(shù)。
  由上算式可見,在32 b乘法運(yùn)算中,實(shí)際上包含了3種乘法運(yùn)算:U*U,S*U和S*S 。一般的乘法運(yùn)算指令都是兩個(gè)帶符號(hào)數(shù)相乘,即S*S。所以在編程時(shí),還要用到以下兩條乘法指令:
 圖片點(diǎn)擊可在新窗口打開查看
5.2C語言主程序

圖片點(diǎn)擊可在新窗口打開查看
  
在主程序中進(jìn)行MPY32函數(shù)調(diào)用時(shí),函數(shù)傳遞情形如圖2所示。

圖片點(diǎn)擊可在新窗口打開查看

  從圖2可以看出,函數(shù)MPY32的第一參數(shù)存放在A累加器中,第二個(gè)參數(shù)在堆棧中,高16位在堆棧中的低地址,低16位在堆棧中的高地址。由于MPY32是匯編語言函數(shù),所以編譯器不為其分配局部幀,局部幀的分配在匯編程序中進(jìn)行。

5.3匯編程序
  可以看出,在匯編程序中至少要為局部幀分配8個(gè)單元,其中4個(gè)單元用來存放參數(shù)值,4個(gè)單元用來存放運(yùn)算結(jié)果,如圖3所示。
  匯編函數(shù):
 圖片點(diǎn)擊可在新窗口打開查看
 圖片點(diǎn)擊可在新窗口打開查看
 圖片點(diǎn)擊可在新窗口打開查看
 圖片點(diǎn)擊可在新窗口打開查看


圖片點(diǎn)擊可在新窗口打開查看

6結(jié)語
  本文介紹的混合編程方法不但適用于TI 5000系列DSP,同樣也適用于TI其他系列的DSP,如2000系列、6000系列,甚至對(duì)其他芯片,如51系列單片機(jī),實(shí)現(xiàn)混合編程也有很大參考價(jià)值。值得注意的是,為了使混合編程不破壞C語言的結(jié)構(gòu)性,在匯編語言中不要設(shè)置除函數(shù)名之外的任何全局變量。


支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

一種TI 5000系列DSP C/C++語言和匯編語言混合編程的方法








簽名
国产剧情视频在线观看-国产剧情麻豆女教师在线观看-国产剧情精品在线观看-国产剧情精品-国产剧情91-国产玖玖在线观看
<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    yellow视频在线观看一区二区| 国产日韩欧美黄色| 日本欧美一二三区| 精品国产一区二区三区日日嗨 | 欧美国产一二三区| 国产成人一区三区| 欧美一区亚洲二区| 成人黄色av播放免费| 综合一区中文字幕| 国产在线资源一区| 国产精品精品久久久| 日韩av电影免费在线| 国产在线观看91精品一区| 欧美肥婆姓交大片| 精品在线不卡| 成人国产精品色哟哟| 国内精品400部情侣激情| 精品蜜桃一区二区三区| 国产伦精品一区二区三区精品视频| 五月天丁香综合久久国产| 91综合免费在线| 欧美性做爰毛片| 婷婷精品国产一区二区三区日韩| 91九色蝌蚪嫩草| 国产成人精品久久亚洲高清不卡| 亚洲精品9999| 精品国产福利| 亚洲一区二区三区777| 91精品国产色综合久久不卡98口| 欧美日韩精品不卡| 国产 高清 精品 在线 a| 国产精品99久久久久久人| 综合视频免费看| 欧美日韩高清在线一区| 国产v亚洲v天堂无码| 国产精品一区二区3区| 97久久精品视频| 一本久久a久久精品vr综合| 国产视频一区二区不卡| 亚洲在线观看视频网站| 国产精品亚洲аv天堂网| 91chinesevideo永久地址| 亚洲黄色一区二区三区| 蜜桃成人免费视频| 成人黄视频免费| 国产欧美va欧美va香蕉在| 青青久久av北条麻妃海外网| 韩国19禁主播vip福利视频| 亚洲欧美日韩另类精品一区二区三区| 蜜桃999成人看片在线观看| 成人在线观看av| 亚洲在线观看视频| 成人免费视频在线观看超级碰| 国产成+人+综合+亚洲欧美丁香花| 久久久之久亚州精品露出| 一区高清视频| 宅男在线精品国产免费观看| 亚洲精品日韩在线观看| 日韩电影免费观看在| 欧美午夜欧美| 欧洲精品久久| 日韩av图片| 日本一区免费在线观看| 欧美亚洲爱爱另类综合| 欧美一区二区福利| 日韩videos| 午夜精品一区二区三区四区| 丝袜美腿玉足3d专区一区| 日韩精品成人一区二区在线观看| 日韩国产欧美精品| 神马影院一区二区| 亚洲精品国产一区| 欧美国产高跟鞋裸体秀xxxhd| 亚洲美女网站18| 亚洲看片网站| 韩国v欧美v日本v亚洲| 国外视频精品毛片| 5252色成人免费视频| 欧美亚洲成人xxx| 日韩女优人人人人射在线视频| 日韩免费在线看| 国产精品成人va在线观看| 国产精品入口日韩视频大尺度| 国产精品久久久久久搜索| 国产精品视频不卡| 999在线观看免费大全电视剧| 99九九视频| 狠狠色综合欧美激情| 欧美在线一区二区三区四区| 一区二区三区偷拍| 97超碰国产精品女人人人爽| 国产精品久久久久久久久久久新郎 | 精品久久久久久中文字幕动漫| 国外成人免费视频| 欧美日韩一区二区三区在线观看免| 欧美中日韩一区二区三区| 日韩国产欧美精品| 97免费在线视频| 国产精品高清在线观看| 亚洲综合日韩在线| 裸体丰满少妇做受久久99精品| 日韩欧美一区二区在线观看| 久久久久久久久久久91| 国产成人精品久久二区二区91| 国产一区二区在线免费视频| 成人动漫视频在线观看完整版 | 91传媒视频在线观看| 精品999在线观看| 亚洲v欧美v另类v综合v日韩v| 国内偷自视频区视频综合| 国产精品免费一区二区三区都可以| 亚洲iv一区二区三区| 欧美福利精品| 66m—66摸成人免费视频| 国产日韩在线视频| 欧美不卡三区| 欧美亚洲日本网站| 91亚洲永久免费精品| 欧美高清视频一区| 欧美中文在线视频| av资源站久久亚洲| 亚洲精品一区二区三区四区五区 | 国产一区二区黄色| 一区精品在线| 国产精品高潮粉嫩av| av成人观看| 亚洲国产一区在线| 国产精品毛片a∨一区二区三区|国| 高清免费日韩| 欧美激情一区二区久久久| 国产欧美日韩精品在线观看| 久久伊人一区| 91wwwcom在线观看| 国产精品区二区三区日本| 中文字幕日韩一区二区三区不卡 | 69视频在线免费观看| 91夜夜未满十八勿入爽爽影院| 欧美在线播放一区二区| 日本一区二区三区四区视频| 国产伦精品一区二区三区| 在线视频不卡一区二区三区| 国产精品一二区| 日本成人三级| 国产精品高潮呻吟久久av黑人| 久久久久久国产精品免费免费| 91精品国产色综合| 精品国产免费一区二区三区| 97激碰免费视频| 粉嫩av免费一区二区三区| 欧美精品video| 99在线观看视频网站| 欧美极品少妇xxxxⅹ免费视频 | 亚洲一区二区在| 国产日韩欧美另类| 一区二区三区四区在线视频| 成人在线中文字幕| 欧美国产日韩精品| 成人片在线免费看| 欧美中在线观看| 久久天天狠狠| 国产精品视频一区国模私拍| 午夜精品福利一区二区| 91在线高清免费观看| 欧美激情小视频| 国产乱码一区| 国产精品高潮呻吟久久av野狼 | 古典武侠综合av第一页| 97免费中文视频在线观看| 精品九九九九| 91精品久久久久久久久青青 | 国产中文字幕91| 影音先锋亚洲视频| 好看的日韩精品| 国产精品一区专区欧美日韩| 久久久久久噜噜噜久久久精品| 国产精品嫩草在线观看| 国产精品久久二区| 欧美多人爱爱视频网站| 久久av一区二区三区漫画| 国产美女久久精品| 国外成人在线视频| 日韩精品久久久| 99国产超薄丝袜足j在线观看| 清纯唯美亚洲激情| 中文字幕欧美日韩一区二区| 狠狠干一区二区| 国产美女久久精品| 欧美野外猛男的大粗鳮| 亚洲bbw性色大片| 国产精品国模大尺度私拍| 国产精品美女视频网站| 亚洲2020天天堂在线观看| 日本公妇乱淫免费视频一区三区| 97超碰资源| 国产精品美女www| 国内精品小视频| 五月天久久狠狠| 国产一区在线免费| 电影午夜精品一区二区三区| 国产一区玩具在线观看| 青青久久aⅴ北条麻妃| 欧美国产日韩在线| 亚洲福利av| 欧美精品欧美精品| 精品国产免费久久久久久尖叫| 91免费视频网站| 国产精品久久综合av爱欲tv| 2024亚洲男人天堂| 久久久久中文字幕2018| 一本一本a久久| 亚洲mv在线看| 日韩一区二区三区高清| 蜜桃欧美视频| 久久久久久久久久久久久久久久av| 999视频在线观看| 91在线观看免费网站| 国产精品偷伦免费视频观看的| 欧美最猛性xxxxx(亚洲精品)| 欧美精品videossex88| 中国成人在线视频| 一本色道婷婷久久欧美| 亚洲v日韩v欧美v综合| 天天综合狠狠精品| 日韩精品久久久| 日本欧美色综合网站免费| 欧美精品一区在线发布| 乱色588欧美| 久久成人资源| 欧美日韩国产三区| 欧美日韩综合另类| 日韩中文字幕一区二区| 色大师av一区二区三区| 日韩av一级大片| 日韩中文字幕一区二区| 日韩精品欧美专区| 午夜免费电影一区在线观看| 亚州欧美一区三区三区在线 | 久久久久久99| 免费亚洲精品视频| 日韩亚洲视频在线| 夜夜爽99久久国产综合精品女不卡 | 国模极品一区二区三区| 97精品国产91久久久久久| 97在线看福利| 国产成人精品综合| 国产一区私人高清影院| 99精品国产高清一区二区| 国产精品一码二码三码在线| 国产在线一区二区三区播放| 玛丽玛丽电影原版免费观看1977| 欧美色欧美亚洲另类七区| 小说区图片区图片区另类灬| 欧美激情视频一区二区三区不卡| 91成人性视频| 国产精品一区二区在线| 99视频国产精品免费观看| 韩国成人av| 亚洲精品国产精品国自产| 久久久久久久激情视频| 欧美中文字幕在线| 成人午夜一级二级三级| 成人免费视频观看视频| 鲁鲁狠狠狠7777一区二区| 亚洲狠狠婷婷综合久久久| 午夜精品美女自拍福到在线| 国产精品第2页| 翡翠波斯猫1977年美国| 欧洲久久久久久| 欧美激情手机在线视频| 国产成人精品在线播放| 2014国产精品| 色之综合天天综合色天天棕色| 欧美激情综合色综合啪啪五月| 日本亚洲欧美三级| 91久久国产自产拍夜夜嗨| 欧美日韩亚洲一区二区三区在线观看| 夜夜爽www精品| 国产精品草莓在线免费观看| 国产精品国产精品国产专区不卡| 日本在线视频一区| 国产91|九色| 亚洲自拍偷拍区| 欧美日韩最好看的视频| 97在线精品国自产拍中文| 91精品久久久久久久久久另类 | 成人高清视频观看www| 久久国产精品99久久久久久丝袜| 在线视频91| 国产精品视频自在线| 国产日韩欧美二区| 久久久久久久999精品视频| 国产精品丝袜久久久久久不卡| 国产嫩草一区二区三区在线观看| 一级二级三级欧美| 国产美女久久久| 欧美不卡三区| 日本亚洲欧美三级| 久久66热这里只有精品| 97精品久久久中文字幕免费| 91观看网站| 在线观看福利一区| 91九色国产在线| 一区二区三区四区视频在线| 成人国产在线视频| 亚洲福利av| 成人伊人精品色xxxx视频| 午夜精品福利一区二区| 国产精品视频大全| 日本在线播放一区| 国产精品午夜国产小视频| 日本在线观看一区二区| 国产欧美日韩丝袜精品一区| 色婷婷精品国产一区二区三区| 国产精品久久久久99| 欧美视频1区| 国产精品视频久久| 先锋影音一区二区三区| 成人黄色av网| 欧美激情极品视频| 国产日韩欧美精品| 国产成人短视频| 五月天久久狠狠| 96pao国产成视频永久免费| 一区二区精品国产| 成人av男人的天堂| 欧洲亚洲在线视频| 日韩av一区二区三区在线| 国产精品视频色| 亚洲国产欧美一区二区三区不卡| 成人欧美一区二区三区在线| 欧美高清视频在线| 国产专区一区二区| 国产精品免费久久久久久| 亚洲精品久久区二区三区蜜桃臀| 92福利视频午夜1000合集在线观看| 中文字幕av日韩精品| 国产高清一区二区三区| 欧洲亚洲妇女av| 日韩高清国产精品| 亚洲精品免费在线视频| 97超碰国产精品女人人人爽| 欧美日本国产精品| 91精品一区二区| 992tv成人免费视频| 免费99视频| 亚洲va男人天堂| 清纯唯美亚洲综合| 在线观看成人一级片| 韩国成人一区| 91在线无精精品一区二区| 欧美专区第一页| 中文字幕久久综合| 欧美日韩天天操 | 欧美成人第一区| 91中文字幕在线观看| 欧美一级大片在线免费观看| 欧美中日韩免费视频| 亚洲自拍小视频| 国产精品福利在线观看| 国a精品视频大全| 日韩高清dvd| 国产一区福利视频| 91九色国产社区在线观看| 97在线视频国产| 在线国产99| 麻豆传媒一区| 国产欧美精品一区二区三区| 91久久精品国产| 国产精品美女午夜av| 51色欧美片视频在线观看| 中文字幕剧情在线观看一区| 日本中文不卡| 好吊妞www.84com只有这里才有精品 | 成人做爽爽免费视频| 日本中文字幕久久看| 久久久久久12| 伊人av成人| 少妇特黄a一区二区三区| 国内一区二区三区在线视频| 亚洲综合中文字幕在线观看| 国产一区二区在线播放| 国产精品久久久久久久久男| 奇门遁甲1982国语版免费观看高清| 欧美精品福利视频| 亚洲电影免费| 午夜精品一区二区三区四区| 欧美激情国产日韩| 精品视频免费观看| 激情视频一区二区| 国产一区二区中文字幕免费看| 91影院未满十八岁禁止入内| 91牛牛免费视频| 91精品久久久久久久久不口人| 国产精品视频自在线| 国产精品久久视频| 国产精品福利无圣光在线一区| 日本一区二区三区在线播放| 欧美一级成年大片在线观看| 欧美亚洲国产视频小说| 欧美在线一区二区三区四| 欧美性视频在线| 欧美一级大片视频| 日产日韩在线亚洲欧美| 日韩免费在线看| 国产精品久久久久久久美男| 国产精品色悠悠| 成人妇女免费播放久久久| 91精品视频免费观看| 亚洲影院污污.| 国产98在线|日韩| 好吊色欧美一区二区三区视频| 国产亚洲自拍偷拍| 欧美日韩一区二区视频在线观看 | 欧美一区二区三区在线播放 | 91精品免费| 国产经典一区二区三区 | 97人人做人人爱| 欧美一级视频一区二区| 欧美在线不卡区| 国产精品久久久久9999| 91精品久久久久久久久不口人| 成人美女免费网站视频| 俄罗斯精品一区二区| 久久久久久欧美精品色一二三四| 日本亚洲自拍| 欧美黄网免费在线观看| 欧洲亚洲免费视频| 成人免费视频网址| 国产一区二区免费在线观看| 日本午夜精品电影| 欧美极品少妇xxxxⅹ喷水 | 精品国产一区二区三区免费| 欧美日韩国产三区| 欧美激情久久久久| 国产成人精品久久久| 91最新国产视频| 欧美国产综合视频| 高清亚洲成在人网站天堂| 国产精品视频导航| 国产综合av一区二区三区| 先锋影音一区二区三区| 57pao国产精品一区| 成人午夜激情免费视频| 久久精品国产美女| 欧美高清视频免费观看| 国产精品99免视看9| www.久久艹| 亚洲成色最大综合在线| 全亚洲最色的网站在线观看| 91影视免费在线观看| 欧美性大战久久久久| 97久久久久久| 91色视频在线观看| 色播亚洲视频在线观看| 日本亚洲欧美三级| 国产成人成网站在线播放青青| 日韩精品电影网站| 日韩av电影免费观看高清| 999视频在线免费观看| 午夜老司机精品| 日韩免费在线播放| 国产一区二区高清不卡| 国产综合在线视频| 91在线观看免费高清| 欧洲精品在线一区| 欧美一区二粉嫩精品国产一线天| 91蜜桃网站免费观看| 亚洲乱码一区二区三区 | 99热在线国产| 一区二区三区四区免费视频| 国产成人av网址| 精品国产二区在线| 97香蕉超级碰碰久久免费的优势| 91香蕉亚洲精品| 一区二区三区四区欧美| 国产精品自在线| 日韩国产伦理| 国产精品视频yy9099| 日韩精彩视频| 国产欧美在线看| 亚洲激情一区二区三区| 成人妇女免费播放久久久| 亚欧精品在线| 91精品中文在线| 欧美第一黄色网| 亚洲自拍欧美色图| 国语自产精品视频在免费| 国产 高清 精品 在线 a| 性欧美激情精品| 狠狠色综合色区| 日韩美女免费观看| 日韩av大全| 国产主播欧美精品| 正在播放精油久久| 99精品在线直播| 97视频人免费观看| 久久久精彩视频| 国产精品女人网站| 亚洲蜜桃在线| 99影视tv| 青草成人免费视频| 秋霞在线观看一区二区三区| 国产精品丝袜视频| 致1999电视剧免费观看策驰影院| 91在线观看免费高清| 久久乐国产精品| 久久国产精品免费一区| 国产精品视频久久久久| 尤物一区二区三区| 国产区二精品视| 国产精品久久久久久久美男 | 成人性生交xxxxx网站| 在线不卡视频一区二区| 国产日韩欧美综合精品| 国产精品成人品| 中文字幕一区二区三区5566| 国产精品三区四区| 国产精品678| 欧美精品久久久久久久| 蜜桃麻豆www久久国产精品| 成人激情视频在线| 97超级碰碰碰| 亚洲欧洲日韩综合二区| 国产专区一区二区| 国产一区二区在线播放| 国模gogo一区二区大胆私拍| 欧洲一区二区日韩在线视频观看免费 | 国产精品偷伦免费视频观看的| 一区二区三区不卡在线| 久久99导航| 99九九视频| 91精品美女在线| 日韩av免费在线播放| 在线观看成人av电影| 欧美高清一区二区| 国产高清自拍一区| 成人在线激情视频| 国产精品久久久久久中文字| 久久青草福利网站| 日韩精品伦理第一区| 精品久久精品久久| dy888夜精品国产专区| 国产深夜精品福利| 日韩av第一页| 97色在线观看| 中文字幕精品一区日韩| 欧美在线一二三区| 久久久99国产精品免费| 成人毛片网站| 亚洲一区二区三区久久| 国产玖玖精品视频| 日韩美女写真福利在线观看| 欧美激情精品久久久久久蜜臀 | 国内免费精品永久在线视频| 亚洲国产欧美日韩| 久久久久久九九九九| 古典武侠综合av第一页| 91精品视频专区| 成人黄色在线免费| 国产欧美日韩亚洲精品| 国产精品久久9| 国产精品99免视看9| 55夜色66夜色国产精品视频| 久久久人成影片一区二区三区观看 | 国产成人综合亚洲| 欧美在线亚洲一区| 欧美壮男野外gaytube| 69久久夜色精品国产69乱青草| 欧美激情国产精品| 欧美国产乱视频| 久久久久久中文字幕| 久久久久久有精品国产| 欧美激情亚洲视频| 欧美高清自拍一区| 欧美激情精品久久久久久黑人 | 免费99视频| 就去色蜜桃综合| 欧美国产一二三区| 欧美性色黄大片人与善| 欧美午夜免费| 亚洲7777| 中文字幕日韩一区二区三区 | 性欧美精品一区二区三区在线播放 | 91精品黄色| www日韩av| 黑人巨大精品欧美一区二区小视频| 精品久久久久久中文字幕动漫| 久久久久久久久一区二区| 欧洲成人一区二区| 影音欧美亚洲| 欧美亚洲视频一区二区| 国产精品第一区| 亚洲va欧美va在线观看| 成人一区二区在线| 久久久免费看| 色姑娘综合网| 欧美—级高清免费播放| 欧美亚洲国产日本| 国产欧美一区二区三区在线| 7777精品久久久大香线蕉小说|