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

首頁 > 維修 > 疑難雜癥 > 正文

ARM寄存器簡介

2024-09-08 22:56:34
字體:
來源:轉載
供稿:網友

ARM處理器含有37個寄存器,這些寄存器包括以下兩類寄存器。

(1)31個通用寄存器:包括程序計數器PC等,這些寄存器都是32位寄存器。

(2)6個狀態寄存器:狀態寄存器也是32位的寄存器,但是只使用了其中的12位。

 

1.通用寄存器
在ARM處理器的7種模式下都有一組對應的寄存器組。在任意時刻,可見的寄存器組包括15個通用寄存器R0~R14、一個或兩個狀態寄存器和PC。在所有的寄存器中,有些是各種模式下共用的同一個物理寄存器,有些是各種模式自己獨立擁有的物理寄存器。詳細如表1-3所示。

表1-3 ARM物理寄存器

用戶模式

系統模式

特權模式

中止模式

未定義指令模

外部中斷模

快速中斷模

R0

R0

R0

R0

R0

R0

R0

R1

R1

R1

R1

R1

R1

R1

R2

R2

R2

R2

R2

R2

R2

R3

R3

R3

R3

R3

R3

R3

R4

R4

R4

R4

R4

R4

R4

R5

R5

R5

R5

R5

R5

R5

R6

R6

R6

R6

R6

R6

R6

R7

R7

R7

R7

R7

R7

R7

R8

R8

R8

R8

R8

R8

R8_fiq

R9

R9

R9

R9

R9

R9

R9_fiq

R10

R10

R10

R10

R10

R10

R10_fiq

R11

R11

R11

R11

R11

R11

R11_fiq

R12

R12

R12

R12

R12

R12

R12_fiq

R13

R13

R13_svc

R13_abt

R13_und

R13_irq

R13_fiq

R14

R14

R14_svc

R14_abt

R14_und

R14_irq

R14_fiq

PC

PC

PC

PC

PC

PC

PC

CPSR

CPSR

CPSR

CPSR

CPSR

CPSR

CPSR

 

 

SPSR_svc

SPSR_abt

SPSR_und

SPSR_irq

SPSR_fiq

 

通用寄存器通常又可以分為下面3類。

未備份寄存器:包括R0~R7。

備份寄存器:包括R8~R14。

程序計數器PC:即R15。

1)未備份寄存器R0~R7

對于每個未備份寄存器來說,在所有的處理器模式下指的都是同一個物理寄存器,在異常中斷造成處理器模式切換時,由于不同的處理器模式使用相同的物理寄存器,可能造成寄存器中數據被破壞。未備份寄存器沒有被系統用于特別的用途,任何可采用通用寄存器的應用場合都可以使用未備份寄存器。

2)備份寄存器R8~R14

備份寄存器中的每個寄存器對應于兩個不同的物理寄存器。例如,當使用快速中斷模式下的寄存器時,寄存器R8和寄存器R9分別記做R8_fiq和 R9_fiq,當使用用戶模式下的寄存器時,寄存器R8和寄存器R9分別記做R8_usr和R9_usr等。在這兩種情況下使用的是不同的物理寄存器,系統沒有將這幾個寄存器用于任何的特殊用途。中斷處理非常簡單,僅僅使用R8~R14寄存器時,FIQ處理程序可以不必執行保存和恢復中斷現場的指令,從而可以使中斷處理過程很迅速。

對于備份寄存器R13、R14來說,每個寄存器對應于6個不同的物理寄存器,其中的一個是用戶模式和系統模式共用的,另外的5個則對應于其他5種處理器模式,采用下面的方法來標識。

R13_<mode>,

其中<mode>是usr、svc、abt、und、irq和fiq的一種。

R13通常用做堆棧指針。每一種模式都擁有自己的物理R13。程序初始化R13,使其指向該模式專用的棧地址。當進入該模式時,可以將需要使用的寄存器保存在R13所指的棧中,當退出該模式時,將保存在R13所指的棧中的寄存器值彈出。這樣就實現了程序的現場保護。

寄存器R14又被稱為連接寄存器(LR),在ARM中有下面兩種特殊用途。

① 每一種處理器模式在自己的物理R14中存放當前子程序的返回地址。當通過BL或者BLX指令調用子程序時,R14被設置成該子程序的返回地址。在子程序中,當把R14的值復制到程序計數器PC中時,就實現了子程序返回。

可以通過下面兩種方式實現這種子程序的返回操作。

◆執行下面任何一條指令

MOV      pc, LR

BX          LR

◆在子程序入口使用下面指令將PC保存到棧中:

STMFD  SP!, {registers}, LR}

相應地,下面的指令可以實現子程序的返回:

LDMFD  SP!, { registers}, LR }

② 當發生異常中斷的時候,該模式下的特定物理R14被設置成該異常模式將要返回的地址。對于某些異常,R14的值可能與將返回的地址有一個常數的偏移量。具體的返回方式與上面的子程序返回方式基本相同。

3)程序計數器PC→R15

程序計數器R15又被記作PC。它雖然可以作為一般的通用寄存器使用,但是有一些指令在使用R15時有一些特殊限制。當違反了這些限制時,該指令執行的結果將是不可預料的。

由于ARM采用了流水線機制,當正確讀取了PC的值時,該值為當前指令地址值加8個字節。也就是說,對于ARM指令集來說,PC指向當前指令的下兩條指令的地址。由于ARM指令是字對齊的,PC值的第0位和第1位總為0。
需要注意的是,當使用指令STR/STM保存R15時,保存的可能是當前指令地址值加8字節,也可能保存的是當前指令地址加12字節。到底是哪種方式,取決于芯片具體設計方式。無論如何,在同一芯片中,要么采用當前指令地址加8,要么采用當前指令地址加12,不能有些指令采用當前指令地址加8,另一些指令采用當前指令地址加12。因此對于用戶來說,盡量避免使用STR/STM指令來保存R15的值。當不可避免這種使用方式時,可以先通過一些代碼來確定所用的芯片使用的是哪種實現方式。

假設R0指向可用的一個內存字,下面代碼可以在R0指向的內存字中返回該芯片所采用的地址偏移量。

       SUB        R1, PC, #4            ;R1中存放下面STR指令的地址

STR        PC, [R0]               ;將PC=STR地址+offset保存到R0中

LDR       R0, [R0]                ;

SUB        R0, R0, R1            ;offset=PC-STR地址


2.程序狀態寄存器
CPSR(當前程序狀態寄存器)可以在任何處理器模式下被訪問。每一種模式下都有一個專用的物理狀態寄存器,稱為SPSR(備份程序狀態寄存器)。當特定的異常中斷發生時,這個寄存器用于存放當前程序狀態寄存器的內容。在異常退出時,可以用 SPSR中保存的值來恢復CPSR。CPSR的具體格式如下。

31

30

29

28

27

26

7

6

5

4

3

21

0

N

Z

C

V

Q

DNMLRAZ

I

F

I

M4

M3

M

M0

 

 

1)條件標志位

N(Negative)、Z(Zero)、C(Carry)及V(oVerflow)統稱為條件標志位。大部分的ARM指令可以依據CPSR中的這些標志位來選擇性地執行。各條件標志位的具體含義,如表1-4所示。

表 CPSR標志位含義

標志位

含    義

N

本位設置成當前指令運算結果的bit[31]的值

當兩個補碼表示的有符號整數運算時,N=1表示運算的結果為負數,N=0 表示結果為正數或零

Z

Z=1表示運算結果是0,Z=0表示運算結果不是零

對于CMP指令,Z=1表示進行比較的兩個數大小相等

C

在加法指令中(包括比較指令CMN),結果產生進位了,則C=1,表示無符號數運算發生上溢出,其他情況下C=0

在減法指令中(包括比較指令CMP),結果產生借位了,則C=0,表示無符號數運算發生下溢出,其他情況下C=1

對于包含移位操作的非加/減法運算指令,C中包含最后一次被溢出的位的數值,對于其他非加/減法運算指令,C位的值通常不受影響

V

對于加/減法運算指令,當操作數和運算結果為二進制的補碼表示的帶符號數時,V=1表示符號位溢出

其他的指令通常不影響V位

2)Q標志位

在ARM v5的E系列處理器中,CPSR的bit[27]稱為Q標志位,主要用于指示增強的DSP指令是否發生了溢出,同樣的,SPSR的bit[27]也稱為Q標志位,用于在異常中斷發生時保存和恢復CPSR中的Q標志位。

3)CPSR中的控制位

CPSR的低8位I、F、T及M[4:0]統稱為控制位,當異常中斷發生時這些位發生變化。在特權級的處理器模式下,軟件可以修改這些控制位。

① I中斷禁止位

當I=1時禁止IRQ中斷。

當F=1時禁止FIQ中斷。

通常一旦進入中斷服務程序可以通過置位I和F來禁止中斷,但是在本中斷服務程序退出前必須恢復原來I、F位的值。

② T控制位,用來控制指令執行的狀態,即說明本指令是ARM指令還是Thumb指令。對于不同版本的ARM處理器,T控制位的含義是有些不同的。

對于ARM v3及更低的版本和ARM v4的非T系列版本的處理器,沒有ARM和Thumb指令的切換,所以T始終為0。

對于ARM v4及更高版本的T系列處理器,T控制位含義如下。

當T=0,表示執行ARM指令。

當T=1,表示執行Thumb指令。

對于ARM v5及更高的版本的非T系列處理器,T控制位的含義如下。

當T=0表示執行ARM指令。

當T=1表示強制下一條執行的指令產生為定義指令中斷。

③ M 控制位

控制位M[4:0]稱為處理器模式標識位,具體說明如表1-5所示。

1?5 CPSR 處理器模式位

M[4:0]

處理器模式

可訪問的寄存器

0b10000

User

PC,R14~R0,CPSR

0b10001

FIQ

PC,R14_fiq~R8_fiq,R7~R0,CPSR,SPSR_fiq

0b10010

IRQ

PC,R14_irq~R13_irq,R12~R0,CPSR,SPSR_irq

0b10011

Supervisor

PC,R14_svc~R13_svc,R12~R0,CPSR,SPSR_svc

0b10111

Abort

PC,R14_abt~R13_abt,R12~R0,CPSR,SPSR_abt

0b11011

Undefined

PC,R14_und~R13_und,R12~R0,CPSR,SPSR_und

0b11111

System

PC,R14~R0,CPSR(ARM v4及更高版本)

 

④CPSR的其他位用于將來ARM版本的擴展,程序可以先不操作這些位。 

ARM處理器含有37個寄存器,這些寄存器包括以下兩類寄存器。

(1)31個通用寄存器:包括程序計數器PC等,這些寄存器都是32位寄存器。

(2)6個狀態寄存器:狀態寄存器也是32位的寄存器,但是只使用了其中的12位。

 

1.通用寄存器
在ARM處理器的7種模式下都有一組對應的寄存器組。在任意時刻,可見的寄存器組包括15個通用寄存器R0~R14、一個或兩個狀態寄存器和PC。在所有的寄存器中,有些是各種模式下共用的同一個物理寄存器,有些是各種模式自己獨立擁有的物理寄存器。詳細如表1-3所示。

表1-3 ARM物理寄存器

用戶模式

系統模式

特權模式

中止模式

未定義指令模

外部中斷模

快速中斷模

R0

R0

R0

R0

R0

R0

R0

R1

R1

R1

R1

R1

R1

R1

R2

R2

R2

R2

R2

R2

R2

R3

R3

R3

R3

R3

R3

R3

R4

R4

R4

R4

R4

R4

R4

R5

R5

R5

R5

R5

R5

R5

R6

R6

R6

R6

R6

R6

R6

R7

R7

R7

R7

R7

R7

R7

R8

R8

R8

R8

R8

R8

R8_fiq

R9

R9

R9

R9

R9

R9

R9_fiq

R10

R10

R10

R10

R10

R10

R10_fiq

R11

R11

R11

R11

R11

R11

R11_fiq

R12

R12

R12

R12

R12

R12

R12_fiq

R13

R13

R13_svc

R13_abt

R13_und

R13_irq

R13_fiq

R14

R14

R14_svc

R14_abt

R14_und

R14_irq

R14_fiq

PC

PC

PC

PC

PC

PC

PC

CPSR

CPSR

CPSR

CPSR

CPSR

CPSR

CPSR

 

 

SPSR_svc

SPSR_abt

SPSR_und

SPSR_irq

SPSR_fiq

 

通用寄存器通常又可以分為下面3類。

未備份寄存器:包括R0~R7。

備份寄存器:包括R8~R14。

程序計數器PC:即R15。

1)未備份寄存器R0~R7

對于每個未備份寄存器來說,在所有的處理器模式下指的都是同一個物理寄存器,在異常中斷造成處理器模式切換時,由于不同的處理器模式使用相同的物理寄存器,可能造成寄存器中數據被破壞。未備份寄存器沒有被系統用于特別的用途,任何可采用通用寄存器的應用場合都可以使用未備份寄存器。

2)備份寄存器R8~R14

備份寄存器中的每個寄存器對應于兩個不同的物理寄存器。例如,當使用快速中斷模式下的寄存器時,寄存器R8和寄存器R9分別記做R8_fiq和 R9_fiq,當使用用戶模式下的寄存器時,寄存器R8和寄存器R9分別記做R8_usr和R9_usr等。在這兩種情況下使用的是不同的物理寄存器,系統沒有將這幾個寄存器用于任何的特殊用途。中斷處理非常簡單,僅僅使用R8~R14寄存器時,FIQ處理程序可以不必執行保存和恢復中斷現場的指令,從而可以使中斷處理過程很迅速。

對于備份寄存器R13、R14來說,每個寄存器對應于6個不同的物理寄存器,其中的一個是用戶模式和系統模式共用的,另外的5個則對應于其他5種處理器模式,采用下面的方法來標識。

R13_<mode>,

其中<mode>是usr、svc、abt、und、irq和fiq的一種。

R13通常用做堆棧指針。每一種模式都擁有自己的物理R13。程序初始化R13,使其指向該模式專用的棧地址。當進入該模式時,可以將需要使用的寄存器保存在R13所指的棧中,當退出該模式時,將保存在R13所指的棧中的寄存器值彈出。這樣就實現了程序的現場保護。

寄存器R14又被稱為連接寄存器(LR),在ARM中有下面兩種特殊用途。

① 每一種處理器模式在自己的物理R14中存放當前子程序的返回地址。當通過BL或者BLX指令調用子程序時,R14被設置成該子程序的返回地址。在子程序中,當把R14的值復制到程序計數器PC中時,就實現了子程序返回。

可以通過下面兩種方式實現這種子程序的返回操作。

◆執行下面任何一條指令

MOV      pc, LR

BX          LR

◆在子程序入口使用下面指令將PC保存到棧中:

STMFD  SP!, {registers}, LR}

相應地,下面的指令可以實現子程序的返回:

LDMFD  SP!, { registers}, LR }

② 當發生異常中斷的時候,該模式下的特定物理R14被設置成該異常模式將要返回的地址。對于某些異常,R14的值可能與將返回的地址有一個常數的偏移量。具體的返回方式與上面的子程序返回方式基本相同。

3)程序計數器PC→R15

程序計數器R15又被記作PC。它雖然可以作為一般的通用寄存器使用,但是有一些指令在使用R15時有一些特殊限制。當違反了這些限制時,該指令執行的結果將是不可預料的。

由于ARM采用了流水線機制,當正確讀取了PC的值時,該值為當前指令地址值加8個字節。也就是說,對于ARM指令集來說,PC指向當前指令的下兩條指令的地址。由于ARM指令是字對齊的,PC值的第0位和第1位總為0。
需要注意的是,當使用指令STR/STM保存R15時,保存的可能是當前指令地址值加8字節,也可能保存的是當前指令地址加12字節。到底是哪種方式,取決于芯片具體設計方式。無論如何,在同一芯片中,要么采用當前指令地址加8,要么采用當前指令地址加12,不能有些指令采用當前指令地址加8,另一些指令采用當前指令地址加12。因此對于用戶來說,盡量避免使用STR/STM指令來保存R15的值。當不可避免這種使用方式時,可以先通過一些代碼來確定所用的芯片使用的是哪種實現方式。

假設R0指向可用的一個內存字,下面代碼可以在R0指向的內存字中返回該芯片所采用的地址偏移量。

       SUB        R1, PC, #4            ;R1中存放下面STR指令的地址

STR        PC, [R0]               ;將PC=STR地址+offset保存到R0中

LDR       R0, [R0]                ;

SUB        R0, R0, R1            ;offset=PC-STR地址


2.程序狀態寄存器
CPSR(當前程序狀態寄存器)可以在任何處理器模式下被訪問。每一種模式下都有一個專用的物理狀態寄存器,稱為SPSR(備份程序狀態寄存器)。當特定的異常中斷發生時,這個寄存器用于存放當前程序狀態寄存器的內容。在異常退出時,可以用 SPSR中保存的值來恢復CPSR。CPSR的具體格式如下。

31

30

29

28

27

26

7

6

5

4

3

21

0

N

Z

C

V

Q

DNMLRAZ

I

F

I

M4

M3

M

M0

 

 

1)條件標志位

N(Negative)、Z(Zero)、C(Carry)及V(oVerflow)統稱為條件標志位。大部分的ARM指令可以依據CPSR中的這些標志位來選擇性地執行。各條件標志位的具體含義,如表1-4所示。

表 CPSR標志位含義

標志位

含    義

N

本位設置成當前指令運算結果的bit[31]的值

當兩個補碼表示的有符號整數運算時,N=1表示運算的結果為負數,N=0 表示結果為正數或零

Z

Z=1表示運算結果是0,Z=0表示運算結果不是零

對于CMP指令,Z=1表示進行比較的兩個數大小相等

C

在加法指令中(包括比較指令CMN),結果產生進位了,則C=1,表示無符號數運算發生上溢出,其他情況下C=0

在減法指令中(包括比較指令CMP),結果產生借位了,則C=0,表示無符號數運算發生下溢出,其他情況下C=1

對于包含移位操作的非加/減法運算指令,C中包含最后一次被溢出的位的數值,對于其他非加/減法運算指令,C位的值通常不受影響

V

對于加/減法運算指令,當操作數和運算結果為二進制的補碼表示的帶符號數時,V=1表示符號位溢出

其他的指令通常不影響V位

2)Q標志位

在ARM v5的E系列處理器中,CPSR的bit[27]稱為Q標志位,主要用于指示增強的DSP指令是否發生了溢出,同樣的,SPSR的bit[27]也稱為Q標志位,用于在異常中斷發生時保存和恢復CPSR中的Q標志位。

3)CPSR中的控制位

CPSR的低8位I、F、T及M[4:0]統稱為控制位,當異常中斷發生時這些位發生變化。在特權級的處理器模式下,軟件可以修改這些控制位。

① I中斷禁止位

當I=1時禁止IRQ中斷。

當F=1時禁止FIQ中斷。

通常一旦進入中斷服務程序可以通過置位I和F來禁止中斷,但是在本中斷服務程序退出前必須恢復原來I、F位的值。

② T控制位,用來控制指令執行的狀態,即說明本指令是ARM指令還是Thumb指令。對于不同版本的ARM處理器,T控制位的含義是有些不同的。

對于ARM v3及更低的版本和ARM v4的非T系列版本的處理器,沒有ARM和Thumb指令的切換,所以T始終為0。

對于ARM v4及更高版本的T系列處理器,T控制位含義如下。

當T=0,表示執行ARM指令。

當T=1,表示執行Thumb指令。

對于ARM v5及更高的版本的非T系列處理器,T控制位的含義如下。

當T=0表示執行ARM指令。

當T=1表示強制下一條執行的指令產生為定義指令中斷。

③ M 控制位

控制位M[4:0]稱為處理器模式標識位,具體說明如表1-5所示。

1?5 CPSR 處理器模式位

M[4:0]

處理器模式

可訪問的寄存器

0b10000

User

PC,R14~R0,CPSR

0b10001

FIQ

PC,R14_fiq~R8_fiq,R7~R0,CPSR,SPSR_fiq

0b10010

IRQ

PC,R14_irq~R13_irq,R12~R0,CPSR,SPSR_irq

0b10011

Supervisor

PC,R14_svc~R13_svc,R12~R0,CPSR,SPSR_svc

0b10111

Abort

PC,R14_abt~R13_abt,R12~R0,CPSR,SPSR_abt

0b11011

Undefined

PC,R14_und~R13_und,R12~R0,CPSR,SPSR_und

0b11111

System

PC,R14~R0,CPSR(ARM v4及更高版本)

 

④CPSR的其他位用于將來ARM版本的擴展,程序可以先不操作這些位。 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人高清激情视频在线观看| 亚洲一级一级97网| 日韩av手机在线| 国产精品偷伦免费视频观看的| 国产亚洲欧美另类中文| 欧美日韩精品在线观看| 国产91九色视频| 久久99热精品这里久久精品| 久久久久久久999| 亚洲欧美日韩中文视频| 日韩欧美亚洲成人| 国产精品一香蕉国产线看观看| 欧美伦理91i| 精品一区二区三区四区在线| 91精品国产91久久久久久吃药| 久久亚洲精品国产亚洲老地址| 欧美亚洲一区在线| 亚洲欧美中文字幕在线一区| 中文字幕亚洲二区| 国产欧美一区二区三区在线| 亚洲欧美国产精品va在线观看| 一道本无吗dⅴd在线播放一区| 午夜精品一区二区三区视频免费看| 久久综合伊人77777| 日韩av在线免费看| 5278欧美一区二区三区| 亚洲第一福利在线观看| 国产精品99久久久久久www| 国产在线观看精品一区二区三区| 亚洲伊人一本大道中文字幕| 亚洲国产精品va在线看黑人| 国语自产在线不卡| 国产精品麻豆va在线播放| www.99久久热国产日韩欧美.com| 日韩在线中文字幕| 欧美性在线观看| 欧美高清videos高潮hd| 欧美丝袜一区二区三区| 国产综合色香蕉精品| 免费不卡欧美自拍视频| 亚洲天堂av高清| 欧美日韩久久久久| 91丨九色丨国产在线| 亚洲欧美成人一区二区在线电影| 久久91精品国产91久久久| 日韩性生活视频| 大胆欧美人体视频| 亚洲天堂av网| 国产亚洲精品综合一区91| 日韩视频在线免费观看| 2024亚洲男人天堂| 国产精品成人品| 69av视频在线播放| 日韩中文视频免费在线观看| 成人网在线免费看| 亚洲无线码在线一区观看| www.日韩欧美| 狠狠久久亚洲欧美专区| 中文字幕不卡在线视频极品| 免费99精品国产自在在线| 最近2019中文字幕第三页视频| 亚洲国产婷婷香蕉久久久久久| 少妇高潮久久77777| 欧美中文字幕精品| 国产精品亚洲精品| 欧美性猛交xxxx富婆| 亚洲区bt下载| 日韩精品有码在线观看| 日本中文字幕不卡免费| 欧美在线观看网址综合| 国产精品久久久久久久久久久久久| 亚洲高清福利视频| 亚洲欧洲午夜一线一品| 亚洲美女中文字幕| 在线成人一区二区| 国产免费一区视频观看免费| 4444欧美成人kkkk| 欧美日韩视频免费播放| 国产精品美女在线观看| 成人免费在线网址| 自拍偷拍亚洲一区| www.日韩系列| 欧美主播福利视频| 庆余年2免费日韩剧观看大牛| 欧美俄罗斯乱妇| 国产日本欧美在线观看| 2021久久精品国产99国产精品| 久久精品这里热有精品| 色偷偷偷综合中文字幕;dd| 欧美在线精品免播放器视频| 亚洲精选在线观看| 日韩欧美在线观看视频| 亚洲free性xxxx护士白浆| 国自产精品手机在线观看视频| 一道本无吗dⅴd在线播放一区| 免费成人高清视频| 亚洲国产成人久久| 亚洲精品国产欧美| 91影视免费在线观看| 亚洲一区中文字幕| 日韩在线观看网址| 久久久精品999| 97精品国产97久久久久久| 亚洲成人av片| 国产一区二区免费| 九九热最新视频//这里只有精品| 欧美日韩中国免费专区在线看| 97av在线视频免费播放| 91免费精品国偷自产在线| 日韩在线观看免费全| 欧美精品激情在线观看| 91精品国产九九九久久久亚洲| 日韩精品极品在线观看播放免费视频| 久久久成人精品视频| 在线日韩第一页| 国产欧美日韩高清| 5278欧美一区二区三区| 国产精品综合网站| 久久视频在线观看免费| 日韩在线高清视频| 精品国产欧美一区二区五十路| 中文字幕最新精品| 欧美综合激情网| 91成人在线视频| 国产精品久久久久久久久久ktv| 国产精品r级在线| 日韩免费精品视频| 久久久亚洲影院| 久久精品最新地址| 国产精品亚洲视频在线观看| 亚洲日韩中文字幕在线播放| 亚洲色图激情小说| 成人午夜激情网| 91po在线观看91精品国产性色| 国产日韩在线视频| 欧美性猛交99久久久久99按摩| 日韩在线中文视频| 色香阁99久久精品久久久| 亚洲一区二区在线| 日韩在线免费高清视频| 91精品国产自产91精品| 97超碰国产精品女人人人爽| 国产成人精品网站| 91亚洲人电影| 色婷婷**av毛片一区| 在线播放国产一区中文字幕剧情欧美| 国产日本欧美在线观看| 91精品国产综合久久香蕉的用户体验| 国产精品视频免费在线观看| 在线观看日韩专区| 久久久噜噜噜久久久| 成人xxxxx| 久久精彩免费视频| 国内免费久久久久久久久久久| 日韩女在线观看| 欧美激情视频在线| 欧美日韩国产中文精品字幕自在自线| 91性高湖久久久久久久久_久久99| 国产亚洲人成网站在线观看| 亚洲天堂视频在线观看| 91精品久久久久久久| 欧洲一区二区视频| 久久福利视频网| 亚洲欧美激情另类校园|