亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? faqs.htm

?? uCOS-II源碼公開的實時嵌入式操作系統.rar
?? HTM
?? 第 1 頁 / 共 2 頁
字號:
</strong></big><strong><big><big><br>
</big></big> <a href="#FAQ-06"><big>FAQ-05</big></a><big>: </big> </strong>
<big><strong>Are there other ports available
for 礐/OS and 礐/OS-II?</strong></big>

</p>

<p align="left"> 
<strong> <a href="#FAQ-06"><big>FAQ-06</big></a><big>: Is there a better way to
implement OSIntCtxSw() and ISRs?<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</big> </strong>
<big><font color="#0000FF">(Added 2001/01/26)</font></big>
</p>

<p align="left"> 
<big><big>
</p>

<table border="1" width="100%">
  <tr>
    <td width="100%" bgcolor="#C0C0C0"><p align="left"><big><strong>FAQ-01: My
    computer/processor 'hangs' when I run 礐/OS or 礐/OS-II!</strong></big><a name="FAQ-01"></a></td>
  </tr>
</table>

</big></big>

<p align="left"><font size="4">DOS executables for 礐/OS and 礐/OS-II are provided on the diskette. If
礐/OS (or 礐/OS-II) still hangs with the executable provided on the floppy, try to
contact me at <a href="mailto:Jean.Labrosse@uCOS-II.com">Jean.Labrosse@uCOS-II.com</a>. If
礐/OS (or 礐/OS-II) does not hang with the executable provided on the floppy then
there are two possible reasons your computer could crash:</font> </p>

<p align="left"><font size="4"><font color="#FF0000"><b>1) </b></font>You
need to look at <font face="Courier New"><strong>OSIntCtxSw</strong></font> (pages 62, 63
and 67 in the 礐/OS book or pages 200 and 201 in 礐/OS-II) which is processor and
compiler specific.&nbsp; The very first instruction in <strong><font face="Courier New">OSIntCtxSw()</font></strong>
may need some adjustment, i.e. <font face="Courier New"><strong>ADD SP,8</strong></font>.&nbsp;
If you use another processor, compiler or memory model, you may need to adjust the
constant.&nbsp;&nbsp; This section in the book will explain how to determine the 'magic
number' to add to the stack pointer.&nbsp;&nbsp;</font> </p>

<p align="left"><font size="4">The actual value depends on the compiler used and the compiler options.
&nbsp; For example, on the x86 real-mode small model, the constant can be either 4, 6, 8,
10 ...&nbsp; For the x86 real-mode, large model, the constant can be either 8, 10, 12, 14,
16 ...</font></p>

<p align="left"><font size="4"><font color="#FF0000"><b>2)</b></font> You may want to try
removing ANY (and ALL) floating-point operation.&nbsp; The sample code in
example #1 (礐/OS V1.xx and 礐/OS-II V2.00) has a floating-point operation in
the start task.&nbsp; Comment it out (by putting <font face="Courier New"><strong> #if 0</strong></font> /
<font face="Courier New"><strong> #endif</strong></font> around the <font face="Courier New"><strong>sprintf()</strong>
</font>statement) and try compiling and running the code.&nbsp; If the code
works, the crash is due to the fact that:<br>
<br>
&nbsp;&nbsp;&nbsp; a) The Borland C/C++ floating-point library is non-reentrant.<br>
&nbsp;&nbsp;&nbsp; b) 礐/OS and 礐/OS-II's task stacks need to be initialized
to perform floating-point operations in a </font><big><big> reentrant way.&nbsp; Refer to <b><font color="#FF0000">AN-1001</font></b>
for details (See <a href="app_notes.htm" tppabs="http://www.ucos-ii.com/app_notes.htm">AppNotes</a>).

</big></big>

</p>

<p align="left"><font color="#FF0000" size="4"><b>3</b></font><font size="4"><font color="#FF0000"><b>)</b></font> 
See </font><a href="#FAQ-06"><b><font color="#FF0000" size="5">FAQ-06</font></b></a><font size="4">.<br>
 </font>

</p>

<p align="left">

<a href="#TOP"><img border="0" src="back_top.gif" tppabs="http://www.ucos-ii.com/images/back_top.gif" width="67" height="30"></a><big><big> <br>
</p>

<table border="1" width="100%">
  <tr>
    <td width="100%" bgcolor="#C0C0C0"><p align="left"><big><strong>FAQ-02: Are you allowed
    to send a NULL-pointer through a Mailbox or a Queue?</strong></big><a name="FAQ-02"></a></td>
  </tr>
</table>

</big></big>

<p align="left"><font size="4">No.&nbsp; By definition, a NULL-pointer is not supposed to point to any
valid data.&nbsp; You could, however, 'fake' 礐/OS (or 礐/OS-II) into sending <font face="Courier New"><strong> NULL</strong></font>
pointers.&nbsp; You will need to 're-map' a NULL pointer to another 'invalid'
pointer.&nbsp; For example, if you want to send a <font face="Courier New"><strong> NULL</strong></font> through a message mailbox, you can
do the following:</font></p>

<p align="left"><font face="Courier New" size="2">void SenderTask (void *pdata)<br>
{<br>
&nbsp;&nbsp;&nbsp; .<br>
&nbsp;&nbsp;&nbsp; .<br>
&nbsp;&nbsp;&nbsp; if (msg == (void *)0) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Do I want to
send a NULL pointer ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg = (void *)0xFFFFFFFF;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Yes, remap to another 'invalid' pointer */<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; OSMboxPost(Mbox, msg);<br>
&nbsp;&nbsp;&nbsp; .<br>
&nbsp;&nbsp;&nbsp; .<br>
}<br>
<br>
<br>
void ReceiverTask (void *pdata)<br>
{<br>
&nbsp;&nbsp;&nbsp; void *msg;<br>
<br>
&nbsp;&nbsp;&nbsp; .<br>
&nbsp;&nbsp;&nbsp; .<br>
&nbsp;&nbsp;&nbsp; msg = OSMboxPend(Mbox, 0, &amp;err); <br>
&nbsp;&nbsp;&nbsp; if (err == OS_NO_ERR) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (msg == (void *)0xFFFFFFFF) { /* Did I
receive a NULL pointer ? */<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg = (void *)0;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; .<br>
&nbsp;&nbsp;&nbsp; .<br>
}
</font></p>

<p align="left"><a href="#TOP"><img border="0" src="back_top.gif" tppabs="http://www.ucos-ii.com/images/back_top.gif" width="67" height="30"></a></p>

<big><big>

<table border="1" width="100%">
  <tr>
    <td width="100%" bgcolor="#C0C0C0"><p align="left"><big><strong>FAQ-03: Where should I
    enable the 'tick' interrupt?</strong></big><a name="FAQ-03"></a></td>
  </tr>
</table>

</big></big>

<p align="left"><font size="4">You should enable the tick interrupt AFTER you have started 礐/OS (or
礐/OS-II) in a 'startup' task as shown in the example code provided with the book. This
way, the OS is in a state ready to accept interrupts and can thus process interrupts.</font></p>

<p align="left"><a href="#TOP"><img border="0" src="back_top.gif" tppabs="http://www.ucos-ii.com/images/back_top.gif" width="67" height="30"></a></p>

<p align="left">&nbsp;</p>

<big><big>

<table border="1" width="100%">
  <tr>
    <td width="100%" bgcolor="#C0C0C0"><p align="left"><strong><big>FAQ-04: Does 礐/OS and
    礐/OS-II work with Microsoft C/C++?<a name="FAQ-04"></a></big></strong></td>
  </tr>
</table>

</big></big>

<p align="left"><font size="4">Yes, you will have to adjust the SP offset constant (see item 1)) and
disable stack checking. Others have used the Microsoft compiler without too many problems.</font></p>

<p align="left"><font size="4">See also </font><a href="#FAQ-06"><b><font color="#FF0000" size="5">FAQ-06</font></b></a><font size="4">.<br>
 </font>

</p>

<p align="left"><a href="#TOP"><img border="0" src="back_top.gif" tppabs="http://www.ucos-ii.com/images/back_top.gif" width="67" height="30"></a></p>

<p align="left">&nbsp;</p>

<big><big>

<table border="1" width="100%">
  <tr>
    <td width="100%" bgcolor="#C0C0C0"><p align="left"><strong><big>FAQ-05: Are there other
    ports available for 礐/OS and 礐/OS-II?<a name="FAQ-05"></a></big></strong></td>
  </tr>
</table>

</big></big>

<p align="left"><font size="4">There are currently a large number of ports available for 礐/OS and
礐/OS-II.&nbsp; I am planning on making a number of ports available on this WEB site as
they become available.&nbsp; <br>
<br>
A port to 礐/OS can easily be ported to 礐/OS-II in about an hour or so.&nbsp; This
assumes that you are familiar with the target processor and it's compiler.&nbsp; This
means that if a port for 礐/OS-II is not currently available but a port for 礐/OS exist
then you could modify the 礐/OS port to work with 礐/OS-II.&nbsp; Chapter 10 in the book
(礐/OS-II) describes the steps.
</font>

<p align="left"><a href="#TOP"><img border="0" src="back_top.gif" tppabs="http://www.ucos-ii.com/images/back_top.gif" width="67" height="30"></a>

<p align="left"><a href="#TOP"><br>
</a>

<big><big>

<table border="1" width="100%">
  <tr>
    <td width="100%" bgcolor="#C0C0C0"><p align="left"><strong><big>FAQ-06: Is
      there a better way to implement OSIntCtxSw() and ISRs?<a name="FAQ-06"></a></big></strong></td>
  </tr>
</table>

</big></big>
<p align="left"><font size="4">As you probably know, 礐/OS-II has a function
that is dependent on compiler options (<font face="Courier New">OSIntCtxSw()</font>)
and, the port designer HAS to adjust the Stack Pointer based on the code
generation of the compiler. </font></p>
<p align="left"><font size="4">On certain processors (e.g. 80x86) you can </font><font size="4">simply
write ISRs so that you SAVE the Stack Pointer (<font face="Courier New">SS:SP</font>
for the 80x86) into the current task's <font face="Courier New">OS_TCB</font>
after incrementing <font face="Courier New">OSIntNesting</font>.&nbsp; This way,
we save the PROPER pointer to the ISR stack frame in case we don't actually
return to the interrupted task.&nbsp; If we DO return to the interrupted task
then, there is no harm and all we did was waste a little bit of CPU time!&nbsp;
Of course, we eliminate the code at the beginning of <font face="Courier New">OSIntCtxSw()</font>
to adjust the Stack Pointer (<font face="Courier New">SP</font> for the 80x86)
and the code to save the Stack Pointer into the <font face="Courier New">OS_TCB</font>!</font></p>
<p align="left"><font size="4">The new pseudo code for an ISR and <font face="Courier New">OSIntCtxSw()</font>
is now:</font></p>
<p><font face="Courier New" size="2">MyISR:<br>
&nbsp;&nbsp;&nbsp; Save ALL registers;<br>
&nbsp;&nbsp;&nbsp; OSIntNesting++;<br>
</font><font face="Courier New">&nbsp;&nbsp; </font><font face="Courier New"><font SIZE="2">OSTCBCur-&gt;OSTCBStkPtr
= SP;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt;&lt;&lt; NEW<br>
</font></font><font face="Courier New" size="2">&nbsp;&nbsp;&nbsp; /* Handle ISR
*/<br>
&nbsp;&nbsp;&nbsp; OSIntExit();<br>
&nbsp;&nbsp;&nbsp; Restore ALL registers;<br>
&nbsp;&nbsp;&nbsp; Return from Interrupt;</font></p>
<p><font face="Courier New" size="2">OSIntCtxSw:<br>
&nbsp;&nbsp;&nbsp; OSTaskSwHook();<br>
&nbsp;&nbsp;&nbsp; OSTCBCur = OSTCBHighRdy;<br>
&nbsp;&nbsp;&nbsp; SP = OSTCBHighRdy-&gt;OSTCBStkPtr;<br>
&nbsp;&nbsp;&nbsp; Restore ALL registers;<br>
&nbsp;&nbsp;&nbsp; Return from Interrupt;</font></p>
<p align="left"><font size="4">In assembly language for the 80x86 (Large model),
this becomes:</font></p>
<font SIZE="2">
<p><font face="Courier New">_MyISR PROC FAR<br>
;<br>
&nbsp;&nbsp;&nbsp; PUSHA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
; Save interrupted task's context<br>
&nbsp;&nbsp;&nbsp; PUSH ES<br>
&nbsp;&nbsp;&nbsp; PUSH DS<br>
;<br>
&nbsp;&nbsp;&nbsp; MOV AX, SEG(_OSIntNesting)&nbsp;&nbsp;&nbsp;&nbsp; ; Reload
DS<br>
&nbsp;&nbsp;&nbsp; MOV DS, AX<br>
&nbsp;&nbsp;&nbsp; INC BYTE PTR _OSIntNesting&nbsp;&nbsp;&nbsp;&nbsp; ; Notify
uC/OS-II of ISR<br>
;<br>
&nbsp;&nbsp;&nbsp; LES BX, DWORD PTR DS:_OSTCBCur ; OSTCBCur-&gt;OSTCBStkPtr =
SS:SP<br>
&nbsp;&nbsp;&nbsp; MOV ES:[BX+2], SS<br>
&nbsp;&nbsp;&nbsp; MOV ES:[BX+0], SP<br>
&nbsp;&nbsp;&nbsp; CALL FAR PTR _MyISRHandler&nbsp;&nbsp;&nbsp;&nbsp; ; Process
the Interrupt<br>
;<br>
&nbsp;&nbsp;&nbsp; CALL FAR PTR _OSIntExit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
; Notify uC/OS-II of end of ISR<br>
;<br>
&nbsp;&nbsp;&nbsp; POP
DS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
; Restore interrupted task's context<br>
&nbsp;&nbsp;&nbsp; POP ES<br>
&nbsp;&nbsp;&nbsp; POPA<br>
;<br>
&nbsp;&nbsp;&nbsp; IRET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
; Return to interrupted task<br>
;<br>
_MyISR ENDP</font></p>
<p>&nbsp;</p>
<p><font face="Courier New" size="2">_OSIntCtxSw PROC FAR<br>
;<br>
&nbsp;&nbsp;&nbsp; CALL FAR PTR _OSTaskSwHook&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;
Call user defined task switch hook<br>
;<br>
&nbsp;&nbsp;&nbsp; MOV AX, WORD PTR DS:_OSTCBHighRdy+2 ; OSTCBCur = OSTCBHighRdy<br>
&nbsp;&nbsp;&nbsp; MOV DX, WORD PTR DS:_OSTCBHighRdy <br>
&nbsp;&nbsp;&nbsp; MOV WORD PTR DS:_OSTCBCur+2, AX<br>
&nbsp;&nbsp;&nbsp; MOV WORD PTR DS:_OSTCBCur, DX <br>
;<br>
&nbsp;&nbsp;&nbsp; MOV AL, BYTE PTR DS:_OSPrioHighRdy ; OSPrioCur =
OSPrioHighRdy<br>
&nbsp;&nbsp;&nbsp; MOV BYTE PTR DS:_OSPrioCur, AL<br>
;<br>
&nbsp;&nbsp;&nbsp; LES BX, DWORD PTR DS:_OSTCBHighRdy ; SS:SP = OSTCBHighRdy-&gt;OSTCBStkPtr<br>
&nbsp;&nbsp;&nbsp; MOV SS, ES:[BX+2]<br>
&nbsp;&nbsp;&nbsp; MOV SP, ES:[BX]<br>
;<br>
&nbsp;&nbsp;&nbsp; POP
DS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;
Load new task's context<br>
&nbsp;&nbsp;&nbsp; POP ES<br>
&nbsp;&nbsp;&nbsp; POPA<br>
;<br>
&nbsp;&nbsp;&nbsp; IRET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
; Return to new task<br>
;<br>
_OSIntCtxSw ENDP</font></p>
</font>

<p align="left">&nbsp;<!--msnavigation--></td></tr><!--msnavigation--></table></body>
</html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲三级电影全部在线观看高清| 日韩av电影免费观看高清完整版 | av亚洲精华国产精华精| 一本久久综合亚洲鲁鲁五月天 | 久久精品人人做人人爽人人| 一区二区三区免费| 国产精品影音先锋| 欧美一区二区三区四区高清| 国产精品二三区| 国产一区二区三区美女| 欧美日本在线一区| 亚洲一区二三区| 成人av动漫网站| 久久精品视频免费| 国内久久婷婷综合| 久久青草国产手机看片福利盒子| 天堂蜜桃一区二区三区| 日本韩国精品在线| 亚洲精品乱码久久久久久黑人 | 99久久综合99久久综合网站| 亚洲精品在线观| 久久精品国产亚洲一区二区三区 | 91免费版在线| 国产精品人成在线观看免费 | 色婷婷综合久色| 国产精品久久国产精麻豆99网站| 黄色成人免费在线| 欧美精品一区二区三区在线播放 | 亚洲一区二区在线免费看| 99久久亚洲一区二区三区青草| 久久久亚洲综合| 国产一区三区三区| 久久精品这里都是精品| 国产最新精品精品你懂的| 日韩一区二区电影网| 免费av网站大全久久| 欧美精三区欧美精三区| 天天影视网天天综合色在线播放| 欧美日韩国产另类一区| 日本最新不卡在线| 精品日韩一区二区三区| 精品一二三四区| 久久精品一区八戒影视| 成人av免费在线| 亚洲制服欧美中文字幕中文字幕| 欧洲亚洲国产日韩| 日韩电影在线看| 26uuu久久天堂性欧美| www.日本不卡| 亚洲精品第1页| 欧美一三区三区四区免费在线看 | 久久伊人中文字幕| 丁香一区二区三区| 亚洲欧美国产三级| 正在播放亚洲一区| 国产成人综合在线| 理论片日本一区| 国产亚洲欧美日韩日本| 99久久99久久精品国产片果冻 | 国产精品女同一区二区三区| 99re在线精品| 免费看黄色91| 国产精品久久二区二区| 欧美精品vⅰdeose4hd| 国产精品888| 香蕉久久夜色精品国产使用方法 | 欧美色网一区二区| 国产夫妻精品视频| 天天av天天翘天天综合网| 精品国产凹凸成av人导航| 9i在线看片成人免费| 日韩国产精品久久| 中文字幕日韩av资源站| 欧美一区二区三区免费在线看| 国产91精品免费| 午夜激情久久久| 国产精品久久久久久久久久免费看| 欧美日韩另类一区| 成人av电影免费在线播放| 青青青爽久久午夜综合久久午夜| 中文字幕精品三区| 日韩欧美一级二级| 在线亚洲一区二区| 成人性生交大片免费看视频在线| 亚洲成国产人片在线观看| 国产精品毛片大码女人| 欧美成人精精品一区二区频| 色欧美片视频在线观看在线视频| 国产精品亚洲午夜一区二区三区| 亚洲成av人片| 亚洲欧美一区二区三区极速播放| 久久久久久99久久久精品网站| 欧美日韩第一区日日骚| 色综合欧美在线视频区| 福利电影一区二区| 国内精品久久久久影院一蜜桃| 亚洲高清在线精品| 一区二区三区电影在线播| 中文字幕精品一区| 久久久亚洲综合| 亚洲精品在线一区二区| 日韩欧美成人一区| 日韩欧美色电影| 欧美日韩大陆一区二区| 在线观看视频一区二区| 一本大道久久精品懂色aⅴ| 国产91富婆露脸刺激对白| 久久99国产精品成人| 蜜臀av性久久久久蜜臀av麻豆| 亚洲第一激情av| 亚洲福中文字幕伊人影院| 亚洲午夜影视影院在线观看| 亚洲欧洲综合另类| 亚洲天堂av老司机| 一区二区高清视频在线观看| 最新欧美精品一区二区三区| 国产精品久久久久久久午夜片| 日本一区二区不卡视频| 欧美精彩视频一区二区三区| 国产日韩欧美麻豆| 国产精品丝袜91| 综合久久久久综合| 亚洲综合另类小说| 亚洲一区二区视频在线观看| 久久精品国产久精国产| 看国产成人h片视频| 国内外成人在线视频| 国产v综合v亚洲欧| 99精品欧美一区二区三区综合在线| www.av精品| 欧洲中文字幕精品| 91精品国产综合久久精品麻豆| 欧美一区日本一区韩国一区| 日韩精品一区二区三区视频在线观看 | 国产亚洲va综合人人澡精品| 久久色在线观看| 国产精品久久久久久亚洲伦| 亚洲一区二区五区| 久久精品噜噜噜成人av农村| 国产不卡视频一区二区三区| 99re热这里只有精品免费视频| 91成人免费在线视频| 51精品秘密在线观看| 国产喂奶挤奶一区二区三区| 成人免费在线播放视频| 亚洲国产精品精华液网站| 久久精品国产免费看久久精品| 高清beeg欧美| 欧美日韩一区高清| 国产偷国产偷亚洲高清人白洁| 亚洲人成7777| 久久国产剧场电影| 91女人视频在线观看| 欧美一级淫片007| 日韩美女视频一区二区| 免费成人在线视频观看| 99久久伊人精品| 日韩美女视频在线| 一区二区三区精品在线观看| 精品亚洲成a人| 在线区一区二视频| 久久久久久一级片| 视频一区二区不卡| 99久久精品国产一区二区三区 | 久久精品国产澳门| 欧美系列亚洲系列| 久久久www成人免费毛片麻豆| 亚洲电影欧美电影有声小说| 国产东北露脸精品视频| 91.xcao| 中文字幕一区二区三区视频 | 99久久精品国产麻豆演员表| 日韩欧美资源站| 亚洲韩国精品一区| www.亚洲色图.com| 久久男人中文字幕资源站| 丝袜亚洲另类丝袜在线| 91看片淫黄大片一级在线观看| 欧美精品一区二区在线播放| 亚洲成人综合网站| 一本久道中文字幕精品亚洲嫩| 久久久国产综合精品女国产盗摄| 免费精品99久久国产综合精品| 在线免费亚洲电影| 亚洲欧美日韩成人高清在线一区| 国产精品一区一区| 精品精品欲导航| 日本欧美在线看| 欧美顶级少妇做爰| 亚洲午夜免费电影| 日本道在线观看一区二区| 亚洲欧洲色图综合| 成人国产精品免费网站| 欧美国产1区2区| 欧美日韩一区国产| 午夜欧美电影在线观看| 欧美日韩aaaaaa| 日韩中文字幕亚洲一区二区va在线 | 国产剧情一区二区| 国产亚洲一区二区三区|