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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gprocess.asm

?? 操作系統(tǒng)完整源代碼大機(jī)密!
?? ASM
字號(hào):
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的任務(wù)狀態(tài)段,執(zhí)行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的任務(wù)狀態(tài)段,執(zhí)行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)中內(nèi)容? g_buf
            ;**********************開始處理 U.EXE
            ;MOV AX,TOS_DATA_SEL      ;gggggggggggggg
            MOV AX,V_TOS_DATA_SEL
            MOV DS,AX             ;TOS系統(tǒng)數(shù)據(jù)段
            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           ;重定位,創(chuàng)建段表,開始2字節(jié)<>4D5AH,則不是DOS .exe 
            POP FS
            CMP AX,1              ; 
            JZ  RUN_EXE_ERR_EXEFIL
            ;**********************設(shè)置U.EXE的任務(wù)狀態(tài)段 
            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      

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区免费在线| 2020国产成人综合网| 成人综合在线视频| 久久精品久久99精品久久| 日韩影视精彩在线| 首页综合国产亚洲丝袜| 日韩电影在线观看电影| 五月天激情综合| 日韩中文字幕不卡| 日韩国产精品大片| 激情伊人五月天久久综合| 美女视频一区二区| 国产精品中文字幕欧美| 成人永久aaa| 91国产丝袜在线播放| 欧美日韩视频不卡| 精品久久久网站| 国产精品免费看片| 亚洲男人天堂一区| 亚洲线精品一区二区三区| 日韩精品视频网站| 免费人成在线不卡| 国产一区欧美日韩| 日本乱人伦一区| 91精品国产91热久久久做人人| 91麻豆精品国产无毒不卡在线观看| 欧美xxxx老人做受| 国产精品久久二区二区| 亚洲主播在线播放| 欧美aaaaa成人免费观看视频| 国产一区二区三区高清播放| 99re成人在线| 日韩精品专区在线影院观看| 欧美国产日韩一二三区| 亚洲一区二区美女| 国产精品2024| 欧美三级电影网站| 欧美极品aⅴ影院| 婷婷久久综合九色综合绿巨人 | 亚洲成人在线网站| 黑人精品欧美一区二区蜜桃| 91视频你懂的| 日韩视频免费观看高清完整版在线观看 | 久久久久亚洲蜜桃| 国产精品视频yy9299一区| 亚洲精品欧美综合四区| 国产专区欧美精品| 337p亚洲精品色噜噜噜| 日韩一区在线播放| 精品一二线国产| 欧美日韩日日夜夜| 国产精品理论片在线观看| 日韩vs国产vs欧美| av成人动漫在线观看| 久久久久久久久久久久电影| 天天操天天干天天综合网| www.欧美精品一二区| 日韩欧美国产麻豆| 亚洲高清一区二区三区| 99这里只有久久精品视频| 亚洲精品在线观看视频| 午夜a成v人精品| 91国产精品成人| 亚洲人成人一区二区在线观看| 国产九色精品成人porny| 欧美一区国产二区| 偷拍日韩校园综合在线| 日本高清不卡aⅴ免费网站| 国产精品伦理在线| 国产99久久久精品| 精品国产a毛片| 极品美女销魂一区二区三区免费| 91麻豆精品久久久久蜜臀| 亚洲成人先锋电影| 欧美日韩一区在线观看| 亚洲一区欧美一区| 欧美亚洲一区二区三区四区| 亚洲女女做受ⅹxx高潮| 99视频有精品| 亚洲女厕所小便bbb| 一本一道波多野结衣一区二区| 中文字幕一区二区日韩精品绯色 | 中文字幕日韩精品一区| 波多野结衣在线aⅴ中文字幕不卡| 国产日产欧美一区二区三区| 国产成人在线免费观看| 中文字幕国产精品一区二区| 99精品一区二区| 亚洲影视在线播放| 欧美一级高清片在线观看| 精品一区二区免费| 国产女人aaa级久久久级| 成人成人成人在线视频| 亚洲欧美精品午睡沙发| 欧美性猛片aaaaaaa做受| 午夜a成v人精品| 久久久精品综合| 91丨porny丨户外露出| 亚洲综合精品自拍| 7777精品伊人久久久大香线蕉完整版| 日韩不卡在线观看日韩不卡视频| 精品欧美久久久| 成人午夜碰碰视频| 亚洲一区二区三区四区的| 欧美一区在线视频| 国产91富婆露脸刺激对白| 一区二区三区国产精品| 日韩一区二区免费电影| 成人精品免费网站| 日日骚欧美日韩| 国产精品久久久久久久裸模 | 成人黄页毛片网站| 亚洲综合一区二区精品导航| 欧美成va人片在线观看| 99在线精品观看| 麻豆91免费观看| 亚洲免费资源在线播放| 欧美v亚洲v综合ⅴ国产v| 97精品电影院| 韩国一区二区在线观看| 亚洲精品国产无天堂网2021| 日韩欧美高清在线| 色一情一伦一子一伦一区| 国内一区二区在线| 亚洲一区在线观看免费 | 久久精品国产免费看久久精品| 国产精品人人做人人爽人人添| 欧美一卡二卡在线| 欧美性xxxxxx少妇| 国产成人鲁色资源国产91色综 | 美日韩一区二区| 一区二区三区四区视频精品免费| 久久久国产午夜精品 | 99视频精品免费视频| 美国一区二区三区在线播放| 亚洲女厕所小便bbb| 久久色在线观看| 日韩欧美电影一二三| 欧美日韩一区二区三区免费看| 不卡欧美aaaaa| 国产精品综合一区二区| 久久国产精品99精品国产| 亚洲va天堂va国产va久| 亚洲黄一区二区三区| 中文字幕亚洲区| 中文欧美字幕免费| 中文字幕 久热精品 视频在线| 欧美大胆一级视频| 日韩免费福利电影在线观看| 7777精品久久久大香线蕉 | 肉肉av福利一精品导航| 一区二区免费看| 一区二区三区在线视频免费| 亚洲精品乱码久久久久久日本蜜臀| 中文字幕一区二区在线播放 | 一本大道久久a久久精二百| 成人av高清在线| 一本到三区不卡视频| 91黄色小视频| 欧美日韩免费不卡视频一区二区三区| 欧美影视一区二区三区| 久久新电视剧免费观看| 精品999在线播放| 国产精品欧美经典| 亚洲色欲色欲www| 一区二区三区中文免费| 午夜精品视频在线观看| 美女一区二区三区在线观看| 国产综合久久久久久久久久久久| 高清beeg欧美| 91久久奴性调教| 欧美精品三级日韩久久| 欧美一区二区三区爱爱| 久久久久久97三级| 国产精品久久久久久久久晋中 | 精品久久久久久最新网址| 久久男人中文字幕资源站| 亚洲欧洲精品天堂一级| 一区二区不卡在线播放 | 欧美一级午夜免费电影| 2023国产精华国产精品| 国产精品久久久久桃色tv| 亚洲第一久久影院| 国产专区综合网| 欧美专区亚洲专区| 久久综合九色综合欧美98| 国产精品区一区二区三| 亚洲v中文字幕| 成人国产精品免费| 欧美福利一区二区| 国产精品不卡在线观看| 日本午夜一区二区| 91老师国产黑色丝袜在线| 日韩一区和二区| 亚洲精品成人悠悠色影视| 美国十次了思思久久精品导航| 91美女在线观看| 久久久久国产免费免费| 日韩精品91亚洲二区在线观看 | 国产精品亚洲午夜一区二区三区 |