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

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

?? gprocess.asm

?? 操作系統實驗教程核心技術與編程實例書中地例子代碼
?? ASM
字號:
SCHED PROC FAR
      MOV AX,V_TOS_DATA_SEL 
      MOV DS,AX
      MOV AX,V_PCB_SEL 
      MOV FS,AX

      ; read cursor and save to PCB
      MOV EBP,DS:[CURRENT]
      MOV AH,03H 
      MOV BH,0
      INT 80H
      MOV FS:[EBP+242],DL
      MOV FS:[EBP+243],DH
      ; read cursor and save to PCB

      CMP DS:[CURRENT],0
      JE SCHED_NO

      MOV EAX,1024
      CMP DS:[CURRENT],EAX
      JNE SCHED_2
      MOV EAX,512
SCHED_2:
      MOV DS:[CURRENT],EAX
      MOV EBP,EAX

      ; set cursor
      MOV DL,FS:[EBP+242]
      MOV DH,FS:[EBP+243]
      MOV AH,02H 
      MOV BH,0
      INT 80H
      ; set cursor
;call disp_ax
      ;;
      ;setup user_desc:stack\tss\ldt
      PUSH EBP
      PUSH GS
      PUSH CX
      MOV  CX,32
      MOV  BX,OFFSET V_USER_PSTSS
      MOV  AX,V_GDT_ASDATA_SEL 
      MOV  GS,AX
SCHED_2_2:
      MOV  AL,FS:[EBP+306]
      MOV  GS:[BX],AL
      INC  BX
      INC  EBP
      LOOP SCHED_2_2
      POP  CX
      POP  GS
      POP  EBP
SCHED_NO:
      ;setup user_desc:stack\tss\ldt

;;;;;;3.  recover new process:    TSS in PCB---> real TSS      
      MOV AX,USER_PSTSS_D_SEL    ;
      MOV ES,AX
      MOV CX,104
      MOV BX,0
SCHED_DO:
      MOV AL,FS:[EBP+138]
      MOV ES:[BX],AL
      INC BX
      INC EBP
      LOOP SCHED_DO
;;;;;;3.    recover new process:    TSS in PCB---> real TSS      
      jmp SCHED_c
SCHED_c:
      DB 0EAH                  ;通過U.EXE的任務狀態段,執行U.EXE
      DW 0 
      DW V_USER_PSTSS_SEL
SCHED ENDP

FORK PROC FAR
     PUSH DS
     PUSH FS
     PUSH EBP
     PUSH SI
     ;
     MOV AX,V_TOS_DATA_SEL 
     MOV DS,AX
     MOV AX,V_PCB_SEL 
     MOV FS,AX
     MOV BX,OFFSET PCB_NAME
     CMP DS:[BX],1111     ;CMD process =11111111
     JNE  FORK_1
     CMP DS:[BX+2],1111 
     JNE  FORK_1
     ;   IS CMD
     MOV FS:[122],'C'
     MOV FS:[123],'M'
     MOV FS:[124],'D'
     MOV FS:[125],0
     MOV BX,0            ;0# PROCESS
     MOV FS:[94],BX
     MOV EBP,0
     JMP FORK_3
FORK_1:
     ; seek free PCB
     ADD DS:[CURRENT_PCB],1
     MOV BP,DS:[CURRENT_PCB]
     MOVZX EBP,BP
     SHL EBP,9
FORK_11:
     CMP FS:[EBP+94],0     ;free?
     JZ FORK_12
     ADD EBP,512
     JMP FORK_11
FORK_12:
     MOV EAX,EBP
     SHR EAX,9            ;ax=uip
     MOV FS:[EBP+94],AX   ;uip

;push ax
;call disp_ax
;pop ax
;
FORK_2:

     ;setup user_desc:stack\tss\ldt
     PUSH GS
     PUSH EBP
     PUSH BX
     PUSH CX
     MOV  CX,32
     MOV  BX,0
     MOV  AX,V_GDT_ASDATA_SEL 
     MOV  GS,AX
     MOV  BX,OFFSET V_USER_PSTSS
FORK_2_2:
     MOV  AL,GS:[BX]
     MOV  FS:[EBP+306],AL

;mov ah,0
;call disp_ax

     INC  EBP
     INC  BX
     LOOP FORK_2_2
     POP  CX
     POP  BX
     POP  EBP
     POP  GS
     ;setup user_desc:stack\tss\ldt

     ; 2 links
     ; ebp=first addr for pcb in fs
     MOV EBX,FS:[62]      ; point to last process 
     MOV EAX,FS:[EBX+58]
     MOV FS:[EBP+58],EAX  ; next for new
     MOV FS:[EBX+58],EBP
     MOV FS:[EBX+62],EBP
     MOV FS:[EBP+62],EBX  ; prev

     MOV EBX,FS:[70]      ; point to last process 
     MOV EAX,FS:[EBX+66]
     MOV FS:[EBP+66],EAX  ; next for new
     MOV FS:[EBX+66],EBP
     MOV FS:[EBX+70],EBP
     MOV FS:[EBP+70],EBX  ; prev

     ; setup name
     MOV EBX,0
FORK_22:
     CMP DS:[PCB_NAME+BX],0
     JZ FORK_3
     MOV AL,DS:[PCB_NAME+BX]
     MOV FS:[EBP+EBX+122],AL
     INC EBX
     JMP FORK_22
FORK_3:
     ;ebp=first addr for pcb in fs
     MOV DWORD PTR FS:[EBP+0],0   ;state
     MOV DWORD PTR FS:[EBP+4],100   ;state
     MOV EAX,DS:[PCB_PRIORITY]
     MOV DWORD PTR FS:[EBP+8],EAX   ;priority
     MOV DWORD PTR FS:[EBP+20],4    ;flag
     ;
     MOV DX,0101H
     MOV FS:[EBP+242],DL
     MOV FS:[EBP+243],DH
     ;
     MOV AX,DS:[PCB_TSS]
     MOV DS,AX
     MOV SI,0
     MOV EBX,138
     ADD EBX,EBP
FORK_31:
     MOV EAX,DS:[SI]
     MOV FS:[EBX],AL
     INC SI
     INC EBX
     CMP SI,104
     JNZ FORK_31

     POP SI
     POP EBP
     POP FS
     POP DS
     RET
FORK ENDP


RUN_U1      PROC FAR
            MOV AX,V_TOS_DATA_SEL 
            MOV DS,AX 
            CALL MAKE_EXE      
            CMP AL,0
            JNE EXE_ERROR
;;;;mmmmmm
            ; setup U1 process  1#
            MOV AX,V_TOS_DATA_SEL 
            MOV DS,AX
            MOV AX,USER_PSTSS_D_SEL
            MOV DS:[PCB_TSS],AX
            MOV EAX,100
            MOV DS:[PCB_PRIORITY],EAX
            MOV DS:[PCB_NAME],'U'
            MOV DS:[PCB_NAME+1],'1'
            MOV DS:[PCB_NAME+2],0
            CALL FORK
;;;;mmmmmm
            ; set cursor
            ;MOV AH,02H 
            ;MOV BH,0
            ;MOV DX,0301H
            ;MOV DL,0
            ;INT 80H

            MOV AX,V_TOS_DATA_SEL 
            MOV DS,AX
            MOV DS:[CURRENT],512        ;user U1.EXE 
            ;MOV BYTE PTR DS:[NEED_RESCHED],1   ;start schedule
            ;DB 0EAH                  ;通過U.EXE的任務狀態段,執行U.EXE
            ;DW 0 
            ;dw V_USER_PsTSS_SEL

            ; set cursor
            ;MOV AX,V_TOS_DATA_SEL 
            ;MOV DS,AX
            ;MOV AH,02H 
            ;MOV BH,0
            ;MOV DX,0501H
            ;MOV DL,0
            ;INT 80H
            ;;;;;;            display "C:\>"
            ;MOV DX,OFFSET COS_FLAG
            ;CALL STRDISP           ;display "C:\>"
            RET
RUN_U1      ENDP

MAKE_EXE    PROC FAR
            ;;;;;;;;;;;DOS int21h 4eh
            MOV AX,V_TOS_DATA_SEL 
            MOV DS,AX 
            PUSH FS

            MOV AX,V_GDT_ASDATA_SEL
            MOV FS,AX
            MOV EAX,400000H
            CMP DS:[G_BUF_PTR],EAX
            JNE RUN_EXE_1
            MOV DS:[G_BUF_PTR],0H
            JMP RUN_EXE_20        ;nothing to do
RUN_EXE_1:

            MOV EDX,10000H
            ADD DS:[G_BUF_PTR],EDX
            MOV EDX,DS:[G_BUF_PTR]
            ADD EDX,400000H
;push eax
;MOV eax,edx          ;disp 0041
;shr eax,16
;call disp_ax
;mov eax,0fffffffh
;d1111:
;dec eax
;jnz d1111
;pop eax

            MOV FS:[G_BUF].BASE_L,DX
            SHR EDX,16
            MOV FS:[G_BUF].BASE_M,DL
RUN_EXE_20:
            MOV EDX,400000H
            CMP DS:[USER_SEGS_PTR],EDX
            JNE RUN_EXE_2
            MOV DS:[USER_SEGS_PTR],0
            JMP RUN_EXE_3
RUN_EXE_2:
            MOV EDX,3000H
            ADD DS:[USER_SEGS_PTR],EDX
            MOV EDX,DS:[USER_SEGS_PTR]
            ADD EDX,401000H
            PUSH EDX

            MOV FS:[V_USER_PSTSS].BASE_L,DX
            MOV FS:[USER_PSTSS_D].BASE_L,DX
            SHR EDX,16
            MOV FS:[V_USER_PSTSS].BASE_M,DL
            MOV FS:[USER_PSTSS_D].BASE_M,DL
            POP EDX
            ADD EDX,1000H
            MOV FS:[V_USER_PSLDTT].BASE_L,DX
            MOV FS:[USER_PSLDTT_ASDATA].BASE_L,DX
            SHR EDX,16
            MOV FS:[V_USER_PSLDTT].BASE_M,DL
            MOV FS:[USER_PSLDTT_ASDATA].BASE_M,DL
            ;;COPY first to user_segs_ptr
            MOV EAX,0
            CMP DS:[USER_SEGS_PTR],EAX
            JE RUN_EXE_3
            ;;MMMMMMMMMM
            MOV AX,V_USER_SEGS_SEL
            MOV FS,AX

;push eax
;MOV Eax,DS:[USER_SEGS_PTR]
;SHR EAX,16
;call disp_ax
;MOV Eax,DS:[USER_SEGS_PTR]
;call disp_ax
;mov eax,02ffFffffh
;d2222:
;dec eax
;jnz d2222
;pop eax

            MOV EBX,DS:[USER_SEGS_PTR]
            MOV ESI,0
            MOV CX,12288    
RUN_EXE_30:
            mov AL,FS:[ESI]
            mov FS:[EBX],AL    ;4 BYTEs one time:error
            ADD esi,4
            ADD EBX,4
            loop RUN_EXE_30
            ;;MMMMMMMMMM
RUN_EXE_3:
            ;;COPY first to user_segs_ptr
            POP FS

            MOV AX,V_TOS_DATA_SEL 
            MOV DS,AX 
            ;;;;;  asciiz change to upper
            MOV SI,OFFSET G_WORK    ;FILE_NAME0
            ADD SI,6    ;G_WORK='  run d:\ggtt\mode.txt'
RUN_EXE1:     ;         <------------------------------------
            MOV AL,DS:[SI]
            CMP AL,0
            JE RUN_EXE_OK
            ; upper/lower
            CMP AL,61H
            JL  RUN_EXE11
            CMP AL,7AH
            JA  RUN_EXE11
            SUB AL,20H
            MOV DS:[SI],AL
RUN_EXE11:                  ; upper/lower  
            INC SI
            LOOP RUN_EXE1
RUN_EXE_OK:
            ;;;;;  asciiz change to upper
            MOV ECX,0FFFFH          ;to read count
            MOV DX,OFFSET G_WORK    ;FILE_NAME0
            ADD DX,6                ;ds:dx file name asciiz
            MOV AX,G_BUF_SEL
            MOV ES,AX               ;ES:EBX buffer
            MOV EBX,0;              ;buf offset 1M
            CALL READFILE3F
            CMP AX,0                ;ax<=0 error
            JLE RUN_EXE_END
            ;U.EXE have been input to g_buf  ax=length of u.exe
;nnnnnnnnnnnnn;
            MOV BX,V_USER_PSLDT_SEL
            LLDT BX
            ;*** 將c_buffer(放U.EXE)中內容? g_buf
            ;**********************開始處理 U.EXE
            ;MOV AX,TOS_DATA_SEL      ;gggggggggggggg
            MOV AX,V_TOS_DATA_SEL
            MOV DS,AX             ;TOS系統數據段
            MOV AX,G_BUF_SEL      
            MOV GS,AX             ;.exe(g_buf) 段,EXE頭+程序
;mov eax,ds:[g_buf_ptr]
;call disp_ax
;mov ax,0aaaah
;call disp_ax
            MOV AX,USER_PS_SEL    ;GDT中USER_PS的首址
            SUB AX,04H
            PUSH FS
            CALL G_EXEC           ;重定位,創建段表,開始2字節<>4D5AH,則不是DOS .exe 
            POP FS
            CMP AX,1              ; 
            JZ  RUN_EXE_ERR_EXEFIL
            ;**********************設置U.EXE的任務狀態段 
            MOV BL,DS:G_WORK[4]
            MOV BH,DS:G_WORK[5]
            MOV CL,DS:G_WORK[6]
            MOV CH,DS:G_WORK[7]
            push fs
            mov ax,USER_PsTSS_D_SEL
            mov fs,ax

            mov fs:USER_Ps_TASK.TREIP,cx
            mov fs:USER_Ps_TASK.TREIP+2,0
            mov fs:USER_Ps_TASK.TRCS,USER_PS_SEL
            mov fs:USER_Ps_TASK.TRCS+2,0
;pop fs
;jmp RUN_EXE_END  ;OK1
            mov fs:USER_Ps_TASK.TREFLAG,0 ;03000h
            mov fs:USER_Ps_TASK.TRLDT,V_USER_PsLDT_SEL
            mov fs:USER_Ps_TASK.TRLDT+2,0
            MOV EAX,G_PDT_ADDR          
            mov fs:USER_Ps_TASK.trcr3,eax
            mov al,ds:g_WORK
            mov ah,ds:g_WORK[1]
            mov fs:USER_Ps_TASK.TRDS,1Ch
            mov fs:USER_Ps_TASK.TRDS+2,0
            mov fs:USER_Ps_TASK.TRES,G_VRAM_SEL
            mov fs:USER_Ps_TASK.TRES+2,0
            mov fs:USER_Ps_TASK.TRSS0,ax ;V_STACK0_SEL
            mov fs:USER_Ps_TASK.TRSS0+2,0
            mov fs:USER_Ps_TASK.TRSS,AX
            mov fs:USER_Ps_TASK.TRSS+2,0
            mov al,ds:g_WORK[2]
            mov ah,ds:g_WORK[3]
            mov fs:USER_Ps_TASK.TRESP0,ax;08FFEH
            mov fs:USER_Ps_TASK.TRESP0+2,0
            mov fs:USER_Ps_TASK.TRESP,AX
            mov fs:USER_Ps_TASK.TRESP+2,0
            mov fs:USER_Ps_TASK.TRFLAG,0
            pop fs
;sti
            MOV AX,V_TOS_DATA_SEL 
            MOV DS,AX 
            MOV AX,0
;nnnnnnnnnnnnnnn
;test
;push ax
;push fs
;push di
;push dx
;MOV aX,V_GDT_ASDATA_SEL
;MOV aX,USER_PSLDTT_ASDATA_SEL
;     ;MOV aX,V_G_PT0_SEL
;     ;mov ax,USER_PsTSS_D_SEL
;     ;mov fs,ax
;     ;mov di,32
;     ;mov dx,2
;     ;call disp_mem
;call disp_ldt_head

;pop dx
;pop di
;pop fs
;pop ax
;jmp RUN_EXE_END  ;OK4
;test
            JMP RUN_EXE_END

RUN_EXE_ERR_EXEFIL:
            MOV AX,V_TOS_DATA_SEL 
            MOV DS,AX 
            MOV AH,9
            MOV CX,1100H 
            MOV DX,OFFSET ERR_EXEFILE
            INT 21H    
            MOV AX,1
RUN_EXE_END:
            RET
MAKE_EXE    ENDP

READFILE3f  PROC FAR
            ; input ds:Dx file name asciiz string Ecx=ready to read count
            ;       es:ebx  buffer
            ; output ax=-1 error ax=0 empty file ax>0 real read count
            PUSH ES
            PUSH EBX

            MOV CX,0                ;search normal file
            MOV AH,4EH
            INT 21H
            ;;;;;;;;;;;DOS int21h 4eh
            MOV AX,V_TOS_DATA_SEL 
            MOV DS,AX 
            CMP DS:DAT,0            ;get diretory to DAT
            JNE FILEGGERROR
            CALL FREAD_DAT          ;ax=read count
;push ax            
; mov cx,0f26H
; call disp_ax  ;length of u.exe
;pop ax
            ;MOV to es:ebx from V_FILE_BUF_SEL(DS:DX)
            MOV CX,AX
            POP EBX
            POP ES
            PUSH CX
            MOV AX,V_FILE_BUF_SEL 
            MOV DS,AX 
            MOV DI,0
READFILE3f1:MOV EAX,DWORD PTR DS:[DI]
            MOV DWORD PTR ES:[EBX],EAX
            ADD EBX,4
            ADD DI,4
            LOOP READFILE3f1

            MOV AX,V_TOS_DATA_SEL 
            MOV DS,AX 
            POP AX                 ;OK to return READ COUNT
            JMP FILEEND            ;OK
FILEGGERROR:
            POP EBX
            POP ES
            ; read cursor
            MOV AH,03H 
            MOV BH,0
            INT 80H
            ; set cursor
            MOV AH,02H 
            MOV BH,0
            INC DH
            MOV DL,0
            INT 80H
            MOV DX,OFFSET CMD_ERROR
            CALL STRDISP
FILEEND:
            RET
READFILE3F  ENDP

SETUP_CMD   PROC FAR
            cli
            ;MOV AL,11111100B
            ;OUT 21H,AL
            ;time int

            ;PCB_init
            MOV AX,V_PCB_SEL 
            MOV DS,AX
            MOV CX,0FFFFH      ;only do 64K*4 area
            MOV EBX,0
            MOV EAX,0
SETUP_CMD_1:
            MOV DS:[EBX],EAX
            ADD EBX,4
            LOOP SETUP_CMD_1
            ;PCB_init

            ;process
            ; setup CMD process
            MOV AX,V_TOS_DATA_SEL 
            MOV DS,AX
            MOV BX,OFFSET PCB_TSS
            MOV AX,V_TOS_TSSASDATA_SEL 
            MOV DS:[BX],AX
            MOV BX,OFFSET PCB_PRIORITY
            MOV EAX,100
            MOV DS:[BX],EAX
            MOV BX,OFFSET PCB_NAME
            MOV AX,1111     ;CMD process =11111111
            MOV DS:[BX],AX
            MOV DS:[BX+2],AX
            CALL FORK
            ; modify gdt for tos_tss
            MOV AX,GDT_ASDATA_SEL
            MOV GS,AX
            MOV WORD PTR GS:[V_TOS_TSS+2],138
            MOV BYTE PTR GS:[V_TOS_TSS+4],0FEH
            MOV BYTE PTR GS:[V_TOS_TSS+7],0FFH
            ; modify gdt for tos_tss
            ;MOV AX,V_TOS_DATA_SEL 
            ;MOV DS,AX
            ;MOV BYTE PTR DS:[NEED_RESCHED],1   ;start schedule
            ;process
            RET
SETUP_CMD   ENDP
;test
;MOV AX,G_VRAM_SEL
;MOV ES,AX
;MOV ECX,0FFFFFFH
;SCHED_1:
;MOV ES:[500],4141H           ;AAAAAAAAAAAAAAAAA
;DEC ECX
;CMP ECX,0
;JNZ SCHED_1
;test      

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区黄| 国产福利一区在线| 国产美女精品一区二区三区| 色婷婷综合久久久| 欧美精品一区二| 欧美一区二区三区视频在线观看| 欧美一区二区视频在线观看2022| 欧美系列在线观看| 欧美国产日韩a欧美在线观看| 日韩美女视频在线| 夜夜亚洲天天久久| 成人天堂资源www在线| 精品国产99国产精品| 亚洲成人激情av| 91视视频在线直接观看在线看网页在线看| 日韩欧美中文字幕公布| 天天综合色天天| 欧美性大战久久久久久久| 中文字幕综合网| 不卡av免费在线观看| 精品电影一区二区三区| 免费高清视频精品| 欧美日本一区二区在线观看| 一区二区三区在线播| 99国产精品国产精品久久| 国产欧美精品国产国产专区| 国产成人高清视频| 国产精品美女视频| a美女胸又www黄视频久久| 中文字幕 久热精品 视频在线 | 蜜乳av一区二区| 欧美日韩一二三| 天天综合网 天天综合色| 欧美日韩精品系列| 日韩高清不卡一区二区三区| 日韩一级片在线观看| 免费成人av在线播放| 2023国产精华国产精品| 激情成人午夜视频| 国产亚洲美州欧州综合国| 国产精品一级在线| 国产精品色噜噜| 91浏览器打开| 亚洲成人自拍网| 日韩一区二区免费在线电影| 精品一区二区三区视频在线观看| 精品乱人伦小说| 成人在线视频一区| 亚洲少妇最新在线视频| 在线一区二区视频| 亚洲 欧美综合在线网络| 日韩欧美在线影院| 国产成人免费视频网站高清观看视频| 国产欧美va欧美不卡在线| 色狠狠桃花综合| 美腿丝袜亚洲三区| 综合激情成人伊人| 欧美高清性hdvideosex| 久久久久久一级片| 日韩成人精品视频| 91看片淫黄大片一级在线观看| 在线观看www91| 91精品国产综合久久小美女| 91在线视频免费91| 在线观看中文字幕不卡| 9久草视频在线视频精品| 4438x成人网最大色成网站| 国产精品国产三级国产专播品爱网| 亚洲丝袜自拍清纯另类| 国产精品成人免费在线| 国产福利一区二区三区| 亚洲黄色小视频| 欧美一级一区二区| av激情综合网| 激情综合网最新| 尤物在线观看一区| 久久午夜电影网| 欧美揉bbbbb揉bbbbb| 国产成人一区二区精品非洲| 亚洲国产欧美在线| 国产亚洲成年网址在线观看| 欧美在线播放高清精品| 国产99久久久国产精品潘金| 性做久久久久久免费观看 | 一区二区三区四区视频精品免费| 欧美丰满一区二区免费视频| 成人免费观看男女羞羞视频| 日日夜夜免费精品| 一区二区三区中文字幕在线观看| 久久众筹精品私拍模特| 91精品国产色综合久久不卡电影 | 中文字幕欧美一区| 精品久久久久av影院 | 91成人免费网站| 成人动漫一区二区在线| 精品影视av免费| 日本不卡视频在线| 天堂成人国产精品一区| 一区二区三区四区不卡在线| 国产欧美在线观看一区| 精品久久久久久久久久久久包黑料| 欧美日韩国产区一| 91极品美女在线| 色综合一区二区| 成人av免费在线| 99久久伊人精品| 99久久精品国产麻豆演员表| 国产suv精品一区二区883| 国产成+人+日韩+欧美+亚洲| 国产伦精品一区二区三区免费迷 | 捆绑变态av一区二区三区| 天天综合日日夜夜精品| 亚洲v日本v欧美v久久精品| 亚洲国产视频a| 性做久久久久久| 日本美女视频一区二区| 亚洲va韩国va欧美va精品| 天堂久久久久va久久久久| 青青草国产精品亚洲专区无| 免费国产亚洲视频| 国产伦精一区二区三区| 国产成人av自拍| 91亚洲永久精品| 在线看不卡av| 欧美一区二区三区四区久久| 精品国产伦一区二区三区观看体验 | 欧美va天堂va视频va在线| 欧美不卡视频一区| 欧美国产成人在线| 亚洲天堂a在线| 视频一区二区不卡| 国产精品一区二区你懂的| 北岛玲一区二区三区四区| 日本韩国一区二区三区视频| 欧美日韩国产天堂| 久久免费精品国产久精品久久久久 | 99视频精品在线| 欧美影院一区二区| 欧美不卡视频一区| 国产精品电影一区二区| 五月综合激情网| 国产在线播放一区二区三区| 91香蕉国产在线观看软件| 欧美三级日韩在线| 国产日韩欧美综合一区| 亚洲午夜免费视频| 精品亚洲成a人在线观看| 色综合久久88色综合天天免费| 欧美美女网站色| 久久精品一二三| 一卡二卡欧美日韩| 精品一区二区国语对白| 色综合久久久久综合体| 日韩欧美国产一区二区三区| 亚洲视频你懂的| 紧缚奴在线一区二区三区| 91免费视频观看| 欧美精品一区视频| 亚洲电影欧美电影有声小说| 国产成人精品亚洲777人妖| 欧美日韩成人综合天天影院| 国产欧美日产一区| 青青国产91久久久久久| 日本韩国欧美三级| 久久综合狠狠综合久久激情 | 欧美视频在线一区| 国产亚洲美州欧州综合国 | 亚洲第一福利一区| 波多野结衣在线一区| 精品国产a毛片| 午夜精品国产更新| 91视视频在线直接观看在线看网页在线看| 欧美精品久久久久久久多人混战| 国产精品毛片高清在线完整版 | 成人一级片在线观看| 日韩欧美中文字幕一区| 亚洲福利视频三区| 色欧美乱欧美15图片| 欧美韩国一区二区| 久久精品国产一区二区| 欧美男男青年gay1069videost| 《视频一区视频二区| 国产不卡视频在线播放| 亚洲精品在线电影| 麻豆一区二区在线| 欧美高清精品3d| 亚洲第一久久影院| 在线观看av一区| 亚洲一区二区三区四区在线免费观看 | 另类小说综合欧美亚洲| 91.com视频| 免费人成黄页网站在线一区二区| 欧美日韩国产不卡| 日本欧美一区二区三区乱码| 欧美日本在线视频| 日韩av一二三| 欧美一区二区不卡视频| 日韩1区2区3区| 日韩欧美在线1卡| 精品一二三四区|