色爱av综合网_色女人在线视频_男男gaygays亚洲_日本高清久久一区二区三区

購(gòu)物車0種商品
IC郵購(gòu)網(wǎng)-IC電子元件采購(gòu)商城
還真是ADS1.2的BUG![build 805]的BUG,還在使ADS1.2的兄弟注意升級(jí)
(2011/10/16 9:09:00)
編譯環(huán)境:ADS1.2
調(diào)試環(huán)境:AXDArmulate

發(fā)現(xiàn)問(wèn)題:同一條語(yǔ)句,不同的編譯選項(xiàng)編譯,執(zhí)行結(jié)果不同。

語(yǔ)句:
if((d&0x0fffffff)==0x05555550)

選用-O1選項(xiàng)編譯時(shí)生成代碼:(armcc–O1–g+-S–fs–cpuARM7TDMI–ooutO1.stest.c)
000004e1a00200MOVr0,r0,LSL#4
000008e1500221CMPr0,r1,LSR#4
00000c1a000001BNE|L1.24|
其中
r0為0xA5555550
r1為0x05555550

執(zhí)行結(jié)果為假:
;r0中為0xA5555550
MOVr0,r0,LSL#4
;r0中為0x55555500,r1中為0x05555550,r1,LSR#4為0x00555555
CMPr0,r1,LSR#4;不相等,為假
BNE|L1.24|

選用-O0選項(xiàng)編譯時(shí)生成代碼:(armcc–O0–g+-S–fs–cpuARM7TDMI–ooutO0.stest.c)
000000e1a01000MOVr1,r0
000004e1a00201MOVr0,r1,LSL#4
000008e59f202cLDRr2,|L1.60|
00000ce1520220CMPr2,r0,LSR#4
其中
r0為0xA5555550

執(zhí)行結(jié)果為真:
;r0中為0xA5555550
MOVr1,r0
;r0和r1中都為0xA5555550
MOVr0,r1,LSL#4
;r0中為0x55555500
LDRr2,|L1.60|
;r2中為0x05555550
CMPr2,r0,LSR#4;r0,LSR#4為0x05555550,與r2相等,為真

源程序:
inttest(unsignedintd)
{
if((d&0x0fffffff)==0x05555550)
return1;
else
return0;
}

intmain(void)
{
intd;

d=test(0xA5555550);

returnd;
}
使用-O1選項(xiàng)生成的匯編代碼:
(armcc–O1–g+-S–fs–cpuARM7TDMI–ooutO1.stest.c)
;generatedbyARMCCompiler,ADS1.2[Build805]

;commandline[-O1-S-g+-fs"-IC:ProgramFilesARMADSv1_2INCLUDE"]
CODE32

AREA||.text||,CODE,READONLY

testPROC
;;;1inttest(unsignedintd)
;;;2{
000000e59f1020LDRr1,|L1.40|
;;;3//unsignedintbak;
;;;4
;;;5if((d&0x0fffffff)==0x05555550)
000004e1a00200MOVr0,r0,LSL#4
000008e1500221CMPr0,r1,LSR#4
00000c1a000001BNE|L1.24|
;;;6return1;
000010e3a00001MOVr0,#1
;;;7else
;;;8return0;
;;;9}
|L1.20|
000014e1a0f00eMOVpc,lr
|L1.24|
000018e3a00000MOVr0,#0;8
00001ceafffffcB|L1.20|;8
ENDP

mainPROC
;;;11intmain(void)
;;;12{
000020e59f0004LDRr0,|L1.44|
;;;13unsignedintd;
;;;14
;;;15d=test(0xA5555550);
000024eafffffeBtest
|L1.40|
00002805555550DCD0x05555550
|L1.44|
00002ca5555550DCD0xa5555550
;;;16
;;;17returnd;
;;;18}ENDP



END

使用-O0選項(xiàng)生成的匯編代碼:
(armcc–O0–g+-S–fs–cpuARM7TDMI–ooutO0.stest.c)
;generatedbyARMCCompiler,ADS1.2[Build805]

;commandline[-O0-S-g+-fs"-IC:ProgramFilesARMADSv1_2INCLUDE"]
CODE32

AREA||.text||,CODE,READONLY

testPROC
;;;1inttest(unsignedintd)
;;;2{
000000e1a01000MOVr1,r0
;;;3//unsignedintbak;
;;;4
;;;5if((d&0x0fffffff)==0x05555550)
000004e1a00201MOVr0,r1,LSL#4
000008e59f202cLDRr2,|L1.60|
00000ce1520220CMPr2,r0,LSR#4
0000101a000001BNE|L1.28|
;;;6return1;
000014e3a00001MOVr0,#1
;;;7else
;;;8return0;
;;;9}
|L1.24|
000018e1a0f00eMOVpc,lr
|L1.28|
00001ce3a00000MOVr0,#0;8
000020eafffffcB|L1.24|;8
ENDP

mainPROC
;;;11intmain(void)
;;;12{
000024e52de004STRlr,[sp,#-4]!
;;;13unsignedintd;
;;;14
;;;15d=test(0xA5555550);
000028e59f0010LDRr0,|L1.64|
00002cebfffffeBLtest
000030e1a03000MOVr3,r0
;;;16
;;;17returnd;
000034e1a00003MOVr0,r3
;;;18}000038e49df004LDRpc,[sp],#4
|L1.60|
00003c05555550DCD0x05555550
|L1.64|
000040a5555550DCD0xa5555550
ENDP



END


網(wǎng)友評(píng)論:將上述程序用-O1選項(xiàng)編譯,運(yùn)行結(jié)果正確:
Inputanewvalue:2773833040

Yourinput:2773833040
intest():d=2773833040
Result:d=1c=2

產(chǎn)生的代碼也可以理解:

其中if((d&0x0fffffff)==0x05555550)產(chǎn)生的代碼為:
[0xe59f102c]ldrr1,0x00008124;=#0x05555550
[0xe1a00204]movr0,r4,lsl#4
[0xe1510220]cmpr1,r0,lsr#4/****注意****/

與13樓中使用-O0產(chǎn)生的代碼相似,即把0xA5555550左移4位,再右移4位與0x05555550比較。

而13樓中使用-O1選項(xiàng)產(chǎn)生的代碼為
[0xe59f1050]ldrr1,0x00008100;=#0x05555550
[0xe1a00200]movr0,r0,lsl#4
[0xe1500221]cmpr0,r1,lsr#4/****注意****/
/*改為cmpr1,r0,lsr#4就對(duì)了*/

是將0xA5555550左移4位,與0x05555550右移4位比較,好象有問(wèn)題。

做了一些測(cè)試,對(duì)于test函數(shù)稍作一點(diǎn)改動(dòng),其產(chǎn)生的代碼就沒(méi)有問(wèn)題了。將代碼改為:
unsignedintbak;
if((bak=d&0x0fffffff)==0x05555550)
用什么選項(xiàng)優(yōu)化都不出問(wèn)題了。

把代碼改為:
unsignedinttest(unsignedintd)
{

if((d&0x0fffffff)==0x05555550)
{
printf("return1,intest():d=%u ",d);
return1;
}
else
{
printf("return0,intest():d=%u ",d);
return0;
}
}
也沒(méi)問(wèn)題,用-O1選項(xiàng)生成代碼為:
[0xe59f2030]ldrr2,0x00008118;=#0x05555550
[0xe1a01200]movr1,r0,lsl#4
[0xe1520221]cmpr2,r1,lsr#4

把代碼改為
unsignedinttest(unsignedintd)
{
unsignedintret;

if((d&0x0fffffff)==0x05555550)
ret=1;
else
ret=0;

printf("ret=%u",ret);

returnret;
}
也沒(méi)問(wèn)題,用-O1選項(xiàng)生成代碼為:
[0xe59f1028]ldrr1,0x00008110;=#0x05555550
[0xe1a00200]movr0,r0,lsl#4
[0xe1510220]cmpr1,r0,lsr#4

與代碼
[0xe59f1050]ldrr1,0x00008100;=#0x05555550
[0xe1a00200]movr0,r0,lsl#4
[0xe1500221]cmpr0,r1,lsr#4/****注意****/
比較,僅有cmp一行不同(12樓test函數(shù)-O1選項(xiàng)生成的代碼)

將代碼改為
unsignedinttest(unsignedintd)
{
unsignedintret;

if((d&0x0fffffff)==0x05555550)
ret=1;
else
ret=0;

returnret;
}
運(yùn)行正確,-O1選項(xiàng)產(chǎn)生的代碼為
[0xe59f105c]ldrr1,0x00008140;=#0x05555550
[0xe1a00200]movr0,r0,lsl#4
[0xe1510220]cmpr1,r0,lsr#4

/***************************************************/
補(bǔ)充說(shuō)明:
上述測(cè)試在build848版本上測(cè)試的。
剛才在build805版本上又測(cè)了一下,輸出為

Inputanewvalue:2773833040

Yourinput:2773833040
intest():d=2773833040
Result:d=0c=0

Inputanewvalue:3

的確是build805版編譯器的bug了。


網(wǎng)友評(píng)論:用ADS1.2也試了一下,但沒(méi)看到匯編代碼,所有不好說(shuō)。
不過(guò)個(gè)人相信ADS1.2不會(huì)如此的笨吧!

用RVCT3.0X怎樣編譯都沒(méi)問(wèn)題!

;generatedbyARM/ThumbC/C++Compilerwith,RVCT3.0[Build951]foruVision
;commandlineArmCC[--thumb--debug-c--asm--interleave-opro_entry.o--device=DARMP--apcs=interwork-O3-IC:KeilARMINCPhilipspro_entry.c]

THUMB

AREA||.text.7||,CODE,READONLY,ALIGN=2

testPROC
;;;38{
;;;39if((d&0x0fffffff)==0x05555550)
0000004907LDRr1,|L1.32|
0000020100LSLSr0,r0,#4
0000044288CMPr0,r1
000006d101BNE|L1.12|
;;;40return1;
0000082001MOVSr0,#1
;;;41else
;;;42return0;
;;;43}
00000a4770BXlr
|L1.12|
00000c2000MOVSr0,#0;42
00000e4770BXlr
ENDP

mainPROC
;;;8intmain(void)
;;;9{
000010b500PUSH{lr}
;;;10
;;;13staticlongtmp;
;;;14
;;;15intx,y;
;;;27x=test(0xA5555550);
0000124804LDRr0,|L1.36|
000014f7fffffeBLtest
;;;28
;;;29y=2*x;
;;;30tmp=y;
0000184903LDRr1,|L1.40|
00001a0040LSLSr0,r0,#1;29
00001c6008STRr0,[r1,#0];tmp@main_0
;;;31
;;;32while(1);
|L1.30|
00001ee7feB|L1.30|
|L1.32|
00002055555500DCD0x55555500
|L1.36|
000024a5555550DCD0xa5555550
|L1.40|
00002800000000DCD||.data||
;;;33
;;;34
;;;35}
ENDP



AREA||.data||,DATA,ALIGN=2

||tmp@main_0||
DCD0x00000000





網(wǎng)友評(píng)論:非常感謝27樓的回復(fù)!找3.0找了半天也沒(méi)找到。

上面生成的是THUMB代碼,能再試一下生成ARM代碼是什么樣子嗎?

|L1.32|
00002055555500DCD0x55555500
可見(jiàn)優(yōu)化時(shí)把0x05555550優(yōu)化時(shí)改為0x55555500,直接忽略高4位。
在比較時(shí),
0000004907LDRr1,|L1.32|
0000020100LSLSr0,r0,#4
0000044288CMPr0,r1
000006d101BNE|L1.12|
直接把d(0xA5555550)左移4位(也直接忽略高4位)相比較就可以了。


網(wǎng)友評(píng)論:到ARM公司網(wǎng)站上下一個(gè)848版的補(bǔ)丁就好了!是805版編譯器的一個(gè)BUG!
做了以下兩程序的測(cè)試:
程序1
文件名test1.c
inttest(unsignedintd)
{
if((d&0x0fffffff)==0x05555550)
return1;
else
return0;
}

intmain(void)
{
volatileintd;

d=test(0xA5555550);

returnd;
}
在805版編譯器下編譯,生成test1b805.s:
(armcc-O1-S-fs-cpuARM7TDMI-otest1b805.stest1.c)

;generatedbyARMCCompiler,ADS1.2[Build805]

;commandline[-O1-S-fs"-IC:ProgramFilesARMADSv1_2INCLUDE"]
CODE32

AREA||.text||,CODE,READONLY

testPROC
;;;1inttest(unsignedintd)
;;;2{
000000e59f1020LDRr1,|L1.40|
;;;3if((d&0x0fffffff)==0x05555550)
000004e1a00200MOVr0,r0,LSL#4
000008e1500221CMPr0,r1,LSR#4
00000c1a000001BNE|L1.24|
;;;4return1;
000010e3a00001MOVr0,#1
|L1.20|
000014e1a0f00eMOVpc,lr
;;;5else
;;;6return0;
|L1.24|
000018e3a00000MOVr0,#0
00001ceafffffcB|L1.20|
;;;7}
ENDP

mainPROC
;;;9intmain(void)
;;;10{
000020e59f0004LDRr0,|L1.44|
;;;11volatileintd;
;;;12
;;;13d=test(0xA5555550);
000024eafffffeBtest
|L1.40|
00002805555550DCD0x05555550
|L1.44|
00002ca5555550DCD0xa5555550
;;;14
;;;15returnd;
;;;16}
ENDP



END

在848版下編譯生成test1b848.s
(armcc-O1-S-fs-cpuARM7TDMI-otest1b848.stest1.c)
;generatedbyARMCCompiler,ADS1.2[Build848]

;commandline[-O1-S-fs"-IC:ProgramFilesARMADSv1_2INCLUDE"]
CODE32

AREA||.text||,CODE,READONLY

testPROC
;;;1inttest(unsignedintd)
;;;2{
000000e59f1020LDRr1,|L1.40|
;;;3if((d&0x0fffffff)==0x05555550)
000004e1a00200MOVr0,r0,LSL#4
000008e1510220CMPr1,r0,LSR#4
00000c1a000001BNE|L1.24|
;;;4return1;
000010e3a00001MOVr0,#1
|L1.20|
000014e1a0f00eMOVpc,lr
;;;5else
;;;6return0;
|L1.24|
000018e3a00000MOVr0,#0
00001ceafffffcB|L1.20|
;;;7}
ENDP

mainPROC
;;;9intmain(void)
;;;10{
000020e59f0004LDRr0,|L1.44|
;;;11volatileintd;
;;;12
;;;13d=test(0xA5555550);
000024eafffffeBtest
|L1.40|
00002805555550DCD0x05555550
|L1.44|
00002ca5555550DCD0xa5555550
;;;14
;;;15returnd;
;;;16}
ENDP



END

用UEDIT比較一下兩個(gè)文件,生成的代碼除一行不同外,其它的都一樣(包括地址也一樣),不同的一行是
000008e1500221CMPr0,r1,LSR#4;805版
000008e1510220CMPr1,r0,LSR#4;848版

第二個(gè)測(cè)試程序:
文件名:test2.c
#include"stdio.h"

inttest(unsignedintd)
{
if((d&0x0fffffff)==0x05555550)
return1;
else
return0;
}

intmain(void)
{
volatileintd,c;

scanf("%d",&d);
d=test(d);

c=2*d;
printf(" d=%d c=%d ",d,c);

returnc;
}

在805版編譯器下編譯,生成test1b805.s:
(armcc-O1-S-fs-cpuARM7TDMI-otest2b805.stest2.c)
;generatedbyARMCCompiler,ADS1.2[Build805]

;commandline[-O1-S-fs"-IC:ProgramFilesARMADSv1_2INCLUDE"]
CODE32

AREA||.text||,CODE,READONLY

testPROC
;;;3inttest(unsignedintd)
;;;4{
000000e59f1054LDRr1,|L1.92|
;;;5if((d&0x0fffffff)==0x05555550)
000004e1a00200MOVr0,r0,LSL#4
000008e1500221CMPr0,r1,LSR#4
00000c1a000001BNE|L1.24|
;;;6return1;
000010e3a00001MOVr0,#1
|L1.20|
000014e1a0f00eMOVpc,lr
;;;7else
;;;8return0;
|L1.24|
000018e3a00000MOVr0,#0
00001ceafffffcB|L1.20|
;;;9}
ENDP

mainPROC
;;;11intmain(void)
;;;12{
000020e92d401cSTMFDsp!,{r2-r4,lr}
;;;13volatileintd,c;
;;;14
;;;15scanf("%d",&d);
000024e28d1004ADDr1,sp,#4
000028e28f0030ADRr0,|L1.96|
00002cebfffffeBL_scanf
;;;16d=test(d);
000030e59d0004LDRr0,[sp,#4]
000034ebfffffeBLtest
000038e58d0004STRr0,[sp,#4]
;;;17
;;;18c=2*d;
00003ce59d0004LDRr0,[sp,#4]
000040e1a04080MOVr4,r0,LSL#1
;;;19printf(" d=%d c=%d ",d,c);
000044e1a02004MOVr2,r4
000048e59d1004LDRr1,[sp,#4]
00004ce28f0010ADRr0,|L1.100|
000050ebfffffeBL_printf
;;;20
;;;21returnc;
000054e1a00004MOVr0,r4
000058e8bd801cLDMFDsp!,{r2-r4,pc}
|L1.92|
00005c05555550DCD0x05555550
|L1.96|
00006000006425DCB"%d"
|L1.100|
000064253d640aDCB" d=%"
000068630a2064DCB"d c"
00006c0a64253dDCB"=%d "
00007000000000DCB""
;;;22}ENDP



END
在848版下編譯生成test2b848.s
(armcc-O1-S-fs-cpuARM7TDMI-otest2b848.stest2.c)
;generatedbyARMCCompiler,ADS1.2[Build848]

;commandline[-O1-S-fs"-IC:ProgramFilesARMADSv1_2INCLUDE"]
CODE32

AREA||.text||,CODE,READONLY

testPROC
;;;3inttest(unsignedintd)
;;;4{
000000e59f1054LDRr1,|L1.92|
;;;5if((d&0x0fffffff)==0x05555550)
000004e1a00200MOVr0,r0,LSL#4
000008e1510220CMPr1,r0,LSR#4
00000c1a000001BNE|L1.24|
;;;6return1;
000010e3a00001MOVr0,#1
|L1.20|
000014e1a0f00eMOVpc,lr
;;;7else
;;;8return0;
|L1.24|
000018e3a00000MOVr0,#0
00001ceafffffcB|L1.20|
;;;9}
ENDP

mainPROC
;;;11intmain(void)
;;;12{
000020e92d401cSTMFDsp!,{r2-r4,lr}
;;;13volatileintd,c;
;;;14
;;;15scanf("%d",&d);
000024e28d1004ADDr1,sp,#4
000028e28f0030ADRr0,|L1.96|
00002cebfffffeBL_scanf
;;;16d=test(d);
000030e59d0004LDRr0,[sp,#4]
000034ebfffffeBLtest
000038e58d0004STRr0,[sp,#4]
;;;17
;;;18c=2*d;
00003ce59d0004LDRr0,[sp,#4]
000040e1a04080MOVr4,r0,LSL#1
;;;19printf(" d=%d c=%d ",d,c);
000044e1a02004MOVr2,r4
000048e59d1004LDRr1,[sp,#4]
00004ce28f0010ADRr0,|L1.100|
000050ebfffffeBL_printf
;;;20
;;;21returnc;
000054e1a00004MOVr0,r4
000058e8bd801cLDMFDsp!,{r2-r4,pc}
|L1.92|
00005c05555550DCD0x05555550
|L1.96|
00006000006425DCB"%d"
|L1.100|
000064253d640aDCB" d=%"
000068630a2064DCB"d c"
00006c0a64253dDCB"=%d "
00007000000000DCB""
;;;22}ENDP



END
用UEDIT比較一下兩個(gè)文件,生成的代碼除一行不同外,其它的都一樣(包括地址也一樣),不同的一行是
000008e1500221CMPr0,r1,LSR#4;805版
000008e1510220CMPr1,r0,LSR#4;848版

折騰了好幾天,原來(lái)是版本太老了。
不過(guò)還好,學(xué)了不少東西,也感謝各位的指導(dǎo)!

還在使ADS1.2的要注意升級(jí)了!
補(bǔ)丁下載地址:
http://www.arm.com/support/downloads/info/4554.html

看版本號(hào)的方法:
在命令提示符下輸入
armcc
輸出
ARMCCompiler,ADS1.2[Build848]
...

網(wǎng)友評(píng)論:2.2的在RVDS2.2里有,
3.0的在keilforarm3.0x里有

瀏覽:(3257)| 評(píng)論( 0 )
博文評(píng)論

  • 昵 稱:
  • 內(nèi) 容:10~250個(gè)字符
  • 驗(yàn)證碼: 驗(yàn)證碼看不清楚?請(qǐng)點(diǎn)擊刷新驗(yàn)證碼
  •                      
  • 博文分類

    熱點(diǎn)博文

    最新博文

    最新評(píng)論

    IC電子元件查詢
    IC郵購(gòu)網(wǎng)電子元件品質(zhì)保障

    色爱av综合网_色女人在线视频_男男gaygays亚洲_日本高清久久一区二区三区
    欧美国产日韩视频| 欧美午夜美女看片| 99热这里只有精品8| 国产精品腿扒开做爽爽爽挤奶网站| 欧美日韩国产va另类| 欧美午夜精品久久久久免费视 | 亚洲天堂视频在线观看| 先锋影院在线亚洲| 欧美风情在线观看| 亚洲美女一区| 国产一区日韩欧美| 激情成人av| 亚洲性图久久| 亚洲激情影视| 国产原创一区二区| 久久精品天堂| 欧美怡红院视频| 中文欧美在线视频| 国产欧美亚洲日本| 久久精品成人欧美大片古装| 国产毛片一区二区| 欧美国产91| 欧美在线视频在线播放完整版免费观看| 国产亚洲精品一区二555| 免费在线看成人av| 国产精品一二三视频| 欧美精品尤物在线| 欧美精品在欧美一区二区少妇| 久久综合亚州| 午夜欧美大片免费观看| 国产农村妇女毛片精品久久莱园子| 欧美日韩成人综合天天影院| 亚洲宅男天堂在线观看无病毒| 国产拍揄自揄精品视频麻豆| 久久精品日韩一区二区三区| 99re这里只有精品6| 国产精品视频免费| 女主播福利一区| 午夜久久一区| 久久久亚洲高清| 欧美成人69av| 老司机一区二区三区| 久久精品一区二区三区四区| 亚洲已满18点击进入久久 | 国产精品影院在线观看| 欧美ed2k| 欧美日韩不卡合集视频| 欧美日本一区二区高清播放视频| 亚洲欧美日产图| 欧美影院久久久| 国产精品区一区| 欧美色欧美亚洲另类二区| 狠狠综合久久| 久久久欧美精品sm网站| 国产精品a久久久久久| 亚洲狼人精品一区二区三区| 欧美日韩一视频区二区| 亚洲午夜在线视频| 亚洲大片免费看| 欧美一级片一区| 亚洲国产精品嫩草影院| 欧美激情视频网站| 羞羞色国产精品| 国产一区二区三区最好精华液| 久久久久一区二区三区| aa级大片欧美三级| 国产精品一区一区三区| 欧美日韩八区| 欧美国产日韩一二三区| 久久精品在这里| 欧美一区二区三区免费大片| 亚洲最新视频在线播放| 亚洲第一天堂av| 狠狠色狠狠色综合日日五| 国产欧美精品在线| 亚洲裸体视频| 精品1区2区3区4区| 精品动漫3d一区二区三区免费版| 国产日韩在线播放| 亚洲国产成人精品久久久国产成人一区 | 亚洲夫妻自拍| 在线日韩av片| 亚洲美女视频网| 欧美在线高清视频| 免费久久99精品国产自| 欧美日韩精品免费观看| 国产欧美1区2区3区| 亚洲欧洲在线一区| 午夜精品视频一区| 欧美成人精品在线播放| 国产精品porn| 亚洲人精品午夜| 欧美在线免费观看| 欧美日韩精品在线播放| 极品少妇一区二区三区| 亚洲一区二区三区在线播放| 久久精品日产第一区二区| 欧美日韩国产页| 国产精品色午夜在线观看| 精品成人免费| 欧美一区二区免费观在线| 欧美成人免费在线观看| 国产精品视频免费| 亚洲国产乱码最新视频| 午夜精品视频一区| 欧美jizzhd精品欧美巨大免费| 国产精品美女视频网站| 91久久夜色精品国产九色| 毛片一区二区三区| 在线免费观看视频一区| 久久一区国产| 亚洲电影在线观看| 欧美阿v一级看视频| 亚洲日韩第九十九页| 欧美顶级少妇做爰| 亚洲精品一区二区三区婷婷月 | 欧美福利视频在线| 在线精品亚洲一区二区| 久久琪琪电影院| 亚洲国产三级在线| 欧美午夜宅男影院| 久久精品成人一区二区三区| 一区视频在线播放| 欧美成黄导航| 亚洲午夜极品| 亚洲国产精品va| 欧美日韩成人一区二区三区| 亚洲免费视频网站| 亚洲国产裸拍裸体视频在线观看乱了 | 国产精品久久久一区二区三区| 一区二区高清视频| 国产日产欧美一区| 欧美人与性禽动交情品| 香蕉成人伊视频在线观看| 亚洲成色777777女色窝| 欧美日韩综合一区| 免费观看国产成人| 欧美在线观看一区二区三区| 亚洲精品四区| 亚洲缚视频在线观看| 国内精品美女av在线播放| 国产精品爱啪在线线免费观看| 美国成人毛片| 久久理论片午夜琪琪电影网| 亚洲影院高清在线| 在线综合亚洲| 亚洲小视频在线观看| 亚洲免费av观看| 日韩一级免费观看| 日韩一级大片在线| 亚洲免费观看在线观看| 亚洲精品日韩综合观看成人91| 狠狠综合久久av一区二区老牛| 国产欧美一区二区白浆黑人| 国产精品vip| 国产精品外国| 国内精品美女在线观看| 在线播放不卡| 91久久久久久久久久久久久| 亚洲激情婷婷| 亚洲一区在线播放| 欧美在线视频观看免费网站| 亚洲欧美综合国产精品一区| 西西人体一区二区| 久久久成人网| 欧美国产在线观看| 国产精品国产精品| 黄色小说综合网站| 亚洲伦理在线| 欧美亚洲一级| 农夫在线精品视频免费观看| 欧美日本亚洲韩国国产| 国产日韩欧美日韩大片| 亚洲二区在线视频| 亚洲一区二区三区涩| 久久精品视频99| 欧美日韩国产区| 国产性猛交xxxx免费看久久| 亚洲精品一级| 久久精品官网| 国产精品视频自拍| 亚洲最新视频在线| 欧美顶级少妇做爰| 国语自产精品视频在线看| 亚洲一区中文| 国产精品成人一区二区网站软件| 亚洲国产精品第一区二区三区| 亚洲影院免费观看| 欧美日韩精品一区二区在线播放| 影音先锋在线一区| 久久免费精品视频| 国产综合精品| 久久久久久久一区二区| 国产欧美视频一区二区三区| 在线亚洲欧美视频| 欧美好吊妞视频| 亚洲国产专区校园欧美| 久久精品在线免费观看| 国产欧美日韩伦理| 亚洲欧美精品在线观看|