日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

雷军 1994 年写的代码,经典老古董。

發布時間:2023/12/19 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 雷军 1994 年写的代码,经典老古董。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

整合整理:程序員的那些事(id:iProgrammer)

雷軍的代碼像詩一樣優雅

↓↓↓

有些網友在評論中質疑,說雷軍代碼不會是「屎」一樣優雅吧。說這話的網友,也許是開玩笑的,也許是真沒看過雷軍寫過的代碼。

在 2011 年的時候,我們在微博轉過雷軍在 1994 年寫的一段完整的匯編代碼。雷軍這段匯編代碼,有程序員評價「如今能寫出這么高質量的代碼的程序員恐怕也不多」。

后來雷軍在轉發我們微博時還補充說:「這個程序第一個版本是我 1989 年寫的,懷念當初寫程序的快樂時光。」

之前微博帖子中引用的鏈接已掛,今天重新在網上找到了完整版,如下:

(在移動端窄屏看大篇幅代碼,可能體驗不如 PC 端。大家可以試試點擊右上角的「……」,然后「復制鏈接」,方便的時候,在 PC 端看看。)

前方高能……

; ; RI.ASM Revision 2.12 [ July 12, 1994 ] Revision equ 'V2.12 ' ; ; ; ; RAMinit Release 2.0 ; Copyright (c) 1989-1994 by Yellow Rose Software Co. ; Written by Mr. Leijun ; ; Function: ; Press HotKey to remove all TSR program after this program ; ;; .......................................................................... ; Removed Softwares by RI: ; SPDOS v6.0F, WPS v3.0F ; Game Busters III, IV ; NETX ( Novell 3.11 ) ; PC-CACHE ; Norton Cache ; Microsoft SmartDrv ; SideKick 1.56A ; MOUSE Driver ; Crazy (Monochrome simulate CGA program) ; RAMBIOS v2.0 ; 386MAX Version 6.01 ; .......................................................................... ; No cancel softwares: ; Windows 3.1 MSD ; ; No removed TSR softwares: ; MS-DOS fastopen ; Buffers, Files ... (QEMM 6.0) ; QCache (386MAX 6.01) ; .......................................................................... ; COMMENTV2.04 Use mouse driver software reset function to initiation mouse 2/17/1993 by Mr. Lei and Mr. Feng V2.05 RI cannot work in Windows DOS prompt 3/9/1993 by Mr. Lei V2.06 1. When XMS cannot allocate 1K memory, RI halts. 2. RI repeat deallocates EMS memory. V2.07 HotKey Setup Error 4/25/1993 by Mr. Lei V2.08 KB Buffer V2.10 1. Release high memory blocks (EMM386 QEMM386 S-ICE 386MAX) 2. RI copies flag V2.12 1. Exists a critical error in Init 8259 procedure 2. Save [40:F0--FF] user data areadosseg .model tiny .code locals @@ org 100hStart: jmp Main org 103hTrue equ 1 False equ 0 MaxHandles equ 100hINT3 macro out 0ffh,al endm ; ; HotKey Status Test Var ; --------------- --------------- ; ; 7 6 5 4 3 2 1 0 417 418 496 ; . . x . x . . . Left Alt is pressed 8 2 ; x . . . x . . . Right Alt is pressed 8 8 ; . . . x . x . . Left Ctrl is pressed 4 1 ; . x . . . x . . Right Ctrl is pressed 4 4 ; . . . . . . x . Left Shift is pressed 2 ; . . . . . . . x Right Shift is pressed 1 ; LeftAlt equ 00101000b RightAlt equ 10001000b LeftCtrl equ 00010100b RightCtrl equ 01000100b LeftShift equ 00000010b RightShift equ 00000001b HotKey db LeftCtrl or RightCtrlDataBegin dw 0 NextDataSeg dw 0ffffh oldInt2F_addr dw 0, 0 XMS_control dw 0, 0 Handle_begin dw 0 cvtOfs dw 0 ; DOS 3.0 equ 0 and above DOS 4.0 is 1 org 104h db 0dh db Revision db ??date db 26 org 114h tsrLength dw 0 MachineID db 0FCh ; IBM PC/ATAuxHotKey db 0 ; 2Dh ; 'X' Scan Code AuxHotKeyName db 'X$ ' Power db True Flag db '!' Kbd102 db 0 NoFlag db 0 StopFlag db 1 DosEnv dw 0 WorkSeg dw 0 PrevDataSeg dw 0 Copies db '1' old_8259 db 0 ; 21h port db 0 ; a1h portStatus dw 0 XMSbit equ 00000001b EMSbit equ 00000010b SKbit equ 10000000bGoINT1C: db 0eah oldInt1C_addr dw 0, 0 newINT1C: test cs:Status, SKbit jnz GoINT1C cmp cs:StopFlag, 0 jz @@0 ; ; Mr. Lei 2/8/1993 ; Problem: if WPS quit and reenter, old RI cann't control keyboard. ; push ds push ax xor ax, ax mov ds, ax mov ax, ds:[94] cmp ax, offset NewInt9 pop ax pop ds jnz GoINT1C mov cs:StopFlag, 0@@0: push ax push ds push es xor ax, ax mov ds, ax mov es, ds:[94+2] cmp word ptr es:[101h], 'IE' ; 'LEI' jz @@1 cli mov cs:StopFlag, 1 mov ax, ds:[94] mov cs:oldINT9_addr2, ax mov ax, ds:[94+2] mov cs:oldINT9_addr2[2], ax mov ds:[94], offset newINT9_2 mov ds:[94+2], cs sti @@1: pop es pop ds pop ax jmp GoINT1C; ---------------------------------------------------------------------- ; INT2F Func ; ; AX = C0D7h Return RI segment in AX ; AX = C0D8h Removes all TSR programs after RI ; AX = C0D9h Removes all TSR programs include RI ; AX = C0DAh Removes all RI copies ; ----------------------------------------------------------------------newINT2F: cmp ax, 0c0d7h ; LEI Hanzi GB Code jnz @@1 push cs pop ax iret @@1: cmp ax, 0c0d7h+1 jnz @@2 jmp KeepSelf @@2: cmp ax, 0c0d7h+2 jnz @@3 jmp NoKeepSelf @@3: cmp ax, 0c0d7h+3 jnz @@9 mov cs:NextDataSeg, -1 mov cs:Copies, '1' jmp NoKeepSelf @@9: jmp dword ptr cs:oldInt2F_addrCallInt9: retnewINT9_2: mov cs:NoFlag, 1 pushf db 9ah ; call far ptr oldint9_addr oldInt9_Addr2 dw 0, 0 jmp newINT9_procnewINT9: pushf db 9ah ; call far ptr oldint9_addr oldInt9_Addr dw 0, 0 cmp cs:NoFlag, 0 jz newINT9_proc mov cs:NoFlag, 0 iret newINT9_proc: cmp cs:Flag, '!' ; busy ? jnz @@0 iret @@0: mov cs:Flag, '!' ; set busy flag push ax ; cmp hot key push bx push es mov ax,40h mov es,axcmp cs:AuxHotKey, 0 jz @@_1 mov bx, es:[1ah] cmp bx, es:[1ch] jz @@10 push bx mov bl, es:[bx+1] cmp bl, cs:AuxHotKey pop bx jnz @@10 @@_1: mov ah,es:[17h] ; test CTRL SHIFT ALT mov al,cs:HotKey push ax and ax,0f0fh cmp al,ah pop ax jnz @@10 cmp cs:Kbd102, True jnz @@1 shr al, 1 shr al, 1 shr al, 1 shr al, 1 push ax mov ah, es:[18h] and ax, 303h cmp al, ah pop ax jnz @@10 mov ah, es:[96h] shr ax, 1 shr ax, 1 and ax, 303h cmp al, ah jnz @@10 cmp cs:AuxHotKey, 0 jz @@_3 inc bx inc bx cmp bx, 3eh jb @@_2 mov bx, 1eh @@_2: mov es:[1ah], bx @@_3: call IsWinDos or ax, ax jz @@1 call Beep @@10: sti pop es pop bx pop ax mov cs:Flag, ' ' ; no busy iret @@1: ; OK pop es pop bx pop axKeepSelf: call RemoveTSR push es mov es,cs:WorkSeg mov dx,es:tsrLength mov di,dx mov al,0h ; Aug 24, 1993 mov cx,100h rep stosb pop es int 27hNoKeepSelf: mov ax,0e07h int 10h mov cs:clsStr, 47h ; Color (White in Red) call RemoveTSR dec cs:Copies call RestoreSelfIntVec push es cmp cs:PrevDataSeg, 0 jz @@1 mov es, cs:PrevDataSeg mov es:NextDataSeg, -1 @@1: pop es mov ax, 4c00h int 21h; ---------------------------------------------------------------------------IsWinDOS: mov ax, 1600h int 2fh cmp al, 01h jz @@9 cmp al, 0ffh jz @@9 ; Windows/386 Version 2.X cmp al, 00h jz @@1 cmp al, 80h jnz @@9 ; Windows 3 in enhanced mode ; Version number in AL/AH @@1: mov ax, 4680h int 2fh cmp al, 80h jnz @@9 xor ax, ax jmp @@10 @@9: mov ax, 1 @@10: ret; ----------------------------------------------------------------------- RestoreSelfIntVec: cmp Copies, '0' jz @@0 ret @@0: cli push cs pop ds xor ax, ax mov es, ax mov si, offset oldInt9_Addr mov di, 94 movsw movsw mov si, offset oldInt2F_Addr mov di, 2Fh4 movsw movsw mov si, offset oldInt1C_Addr mov di, 1Ch4 movsw movsw sti ret; ------------- KERNEL PROGRAM ---------------------------------------------- RemoveTSR: pop ax cli ; Set stack mov sp, cs mov ss, sp mov sp, 100h sti push axcmp cs:Power, True jnz @@1 call Init8259 @@1: push cs pop ds @@_0: mov ax,ds:NextDataSeg cmp ax, -1 jz @@_1 mov cs:PrevDataSeg, ds mov ds, ax jmp @@_0 @@_1: mov si,ds:DataBegin mov cs:WorkSeg, ds lodsw cmp ax, 'XX' jz @@_2 call Beep ret @@_2: call RestoreEnvStr call RestoreMCB ; restore current mcb call CloseFiles call RestorePort call RestoreLEDs call RestoreVecList ; Restore vectors list call RestoreFloppyParam cmp cs:Power, True jnz @@2 call RestoreCVTchain ; Restore cvt chain call RestoreMemoryManager @@2: call RestoreBiosData call Enable8259 mov ah, 1 int 16hcall RestoreClockSpeed call CloseSpeaker call ResetDisk call UpdateTimecall ClosePRN mov bx,cs:WorkSeg mov ah,50h int 21h ; Set PSP segment mov ax,3 int 10h ; Set display modecall InitPRN call InitMouse mov al, cs:Copies cmp al, '1' ja @@_sh1 mov cs:ShowCopies, '' jmp @@_sh2 @@_sh1: mov cs:ShowCopies, al @@_sh2: mov si, offset clsStr call ColorPrintStr mov cs:Flag, ' ' ; no busy cmp Copies, '1' jnz @@_end mov cs:StopFlag, 0 @@_end: call ClearKB_buffer retBeep: mov ax,0e07h int 10h ret; #########################################################################ClearKB_Buffer: push es push bx mov bx, 0040h mov es, bx cli mov bx, es:[1ah] mov es:[1ch], bx sti pop bx pop es retInit8259: ; cmp cs:Copies, '1' ; jz @@1 ; ret @@1: cmp cs:MachineID, 0fch ja @@pc_xt @@AT: mov bx,870h ; mov al,0 ; out 0F1h,al ; jcxz $+2 jcxz $+2 mov al,11h ; ICW1 out 0A0h,al jcxz $+2 jcxz $+2 out 20h,al jcxz $+2 jcxz $+2 mov al,bl ; ICW2 out 0A1h,al jcxz $+2 jcxz $+2 mov al,bh out 21h,al jcxz $+2 jcxz $+2 mov al,2 ; ICW3 out 0A1h,al jcxz $+2 jcxz $+2 mov al,4 out 21h,al jcxz $+2 jcxz $+2 mov al,1 ; ICW4 out 0A1h,al jcxz $+2 jcxz $+2 out 21h,al jcxz $+2 jcxz $+2 mov al,0FFh ; OCW1 out 0A1h,al jcxz $+2 jcxz $+2 out 21h,al ret @@PC_XT: mov al,13h ; ICW1 out 20h,al jcxz $+2 jcxz $+2 mov al,8 ; ICW2 out 21h,al jcxz $+2 jcxz $+2 mov al,9 ; ICW4 out 21h,al jcxz $+2 jcxz $+2 mov al,0FFh ; OCW1 out 21h,al retEnable8259: mov ax, word ptr cs:old_8259 out 021h,al jcxz $+2 jcxz $+2 mov al,ah out 0a1h,al ; DEC PC Bus Mouse ret ; July 1994 by Mr. Lei; -------------------------------------------------------------------------RestoreBiosData: lodsw cmp ax, '--' jz @@1 call Beep ret @@1: push es push di mov di, 40h mov es, dimov di, 10h movsw mov di, 0a8h ; [40h:a8h] movsw movsw mov di, 49h mov cx, 1dh rep movsbmov di, 0f0h ; User data mov cx, 8 rep movswpop di pop es ret; -------------------------------------------------------------------------RestoreMCB: push ds push es lodsw ; 'MZ' @@0: lodsw cmp ax, 'MM' jz @@1 mov es,ax xor di,di movsb movsw movsw inc ax mov bx, ds cmp ax, bx jz @@10 mov byte ptr es:[8], 0 ; Aug 24, 1993 @@10: cmp byte ptr es:[0], 'Z' jnz @@0 mov byte ptr es:[10h], 0 jmp @@0 @@1: pop es pop ds ret; ------------------------------------------------------------------------- CloseFiles: mov ax, 5 ; Begin handle push ds push si mov cx, 15 ; Max handle sub cx, ax inc cx mov bx, ax @@1: push bx push cx mov ah, 3eh int 21h pop cx pop bx inc bx loop @@1 pop si pop ds ret; ------------------------------------------------------------------------- RestorePort: mov di, 40h ; restore port mov es, di xor di, di mov cx, 8 rep movsw ret; ------------------------------------------------------------------------- RestoreLEDs: lodsb and al, 11110000b ; LED status mov ah, es:[17h] and ah, 00001111b or ah, al and ah, 0f0h ; Clear CTRL ALT SHIFT mov es:[17h], ah ret; ------------------------------------------------------------------------- RestoreEnvStr: lodsw push si push di push ds push es mov es, cs:DosEnv mov ds, ax xor si, si mov di, si @@0: lodsb or al, al jnz @@1 cmp byte ptr ds:[si], 0 jz @@2 @@1: stosb jmp @@0 @@2: stosb stosb pop es pop ds pop di pop si ret; ----------------------------------------------------------------------- RestoreVecList: xor ax,ax mov di,ax mov es,ax mov cx,100h @@0: lodsw xchg dx, ax lodsw cmp dx, 'EL' jnz @@1 cmp al, 'I' jnz @@1 sub cl, ah push cx mov cl, ah mov ax, es:[di-4] mov dx, es:[di-2] @@a: stosw xchg ax, dx stosw xchg ax, dx loop @@a pop cx or cx, cx jz @@9 jmp @@0 @@1: xchg ax, dx stosw xchg ax, dx stosw loop @@0 @@9: ret;---------------------------------------------------------------------------- RestoreFloppyParam: ; Mr. Lei 2/10/1992 push es push ax xor ax, ax mov es, ax mov byte ptr es:[525h], 2 pop ax pop es ret;--------------------------------------------------------------------------- RestoreCVTchain: lodsw cmp ax, 'VC' jz @@_0 call Beep ret @@_0: push ax push cx push es; ----------------------------------------------------------------- lodsw ; DPB mov di, ax lodsw mov es, ax @@1: lodsb inc di stosb add di, cs:cvtOfs add di, 10h movsw movsw les di, es:[di+2] cmp di, -1 jnz @@1; ----------------------------------------------------------------- lodsw ; DCB mov di, ax lodsw mov es, ax xor ax, ax dec ax stosw; ----------------------------------------------------------------- lodsw ; Device Driver Chain mov di, ax lodsw mov es, ax xor cx, cx @@9: push di mov cl, 5 rep movsw pop di les di, es:[di] mov ax, di inc ax jnz @@9 pop es pop cx pop ax ret; ---------------------------------------------------------------------------- RestoreMemoryManager: test cs:Status, XMSbit jz @@1 call LoadXMSstatus @@1: test cs:Status, EMSbit jz @@2 call LoadEMSstatus @@2: retLoadEMSstatus: lodsw cmp ax, 'ME' jz @@_0 call Beep ret @@_0: lodsw mov cx, ax xor dx, dx @@_1: push ds push si push dx push cx@@0: cmp dx, ds:[si] jz @@1 add si, 4 loop @@0push cx mov cx, 5 @@0: mov ah, 45h ; Deallocate Handle and Memory int 67h or ah, ah jz @@1 loop @@0 @@1: pop cx@@1: pop cx pop dx pop si pop ds inc dx cmp dx, 100h jb @@_1 shl cx, 1 shl cx, 1 add si, cx retLoadXMSstatus: lodsw cmp ax, 'MX' jz @@_0 call Beep ret @@_0: lodsw mov cx, ax jcxz @@5 @@1: lodsw mov dx, ax @@2: push dx mov ah, 0ah ; free call dword ptr cs:xms_control or ax, ax pop dx jnz @@4 cmp bl, 0abh jnz @@4 push dx mov ah, 0dh ; unlock call dword ptr cs:xms_control or ax, ax pop dx jmp @@2 @@4: loop @@1 @@5: ret endp; ----------------------------------------------------------------------- CloseSpeaker: in al, 61h and al, 0fch out 61h, al ret; ----------------------------------------------------------------------- RestoreClockSpeed: mov al, 00110110b out 43h, al xor ax, ax out 40h, al out 40h, al ret; ----------------------------------------------------------------------- ResetDisk: xor ax, ax xor dx, dx int 13h ; Restore A inc dx int 13h ; Restore B mov dl, 80h int 13h ; Restore C ret; -------------------------------------------------------------------------- ClosePRN: mov ah, 51h ; Get PSP seg int 21h mov es, bx mov ax, es:[16h] ; Prev PSP seg cmp ax, bx jnz @@9 mov ax, 3e00h ; COMMAND mov bx, 4 int 21h @@9: retInitPRN: mov ax, 3e00h mov bx, 4 ; PRN int 21h mov ax, 3d01h mov dx, offset PRNname push cs pop ds int 21h ret PRNname db 'PRN',0InitMouse: ; 2/16/1993 by Mr. Lei push es xor ax, ax mov es, ax cmp word ptr es:[33h4+2], 0 jz @@0 cmp word ptr es:[33h4], 0 jz @@0 mov ax, 21h int 33h ; Hook Mouse Interrupt @@0: pop es ret; ------------- CMOS CLOCK set to System ----------------------------------- UpdateTime: call GetRealTime mov ah, 2dh int 21h retGetRealTime: mov ah,2 int 1Ah mov al,ch call bcdxchg mov ch,al mov al,cl call bcdxchg mov cl,al mov al,dh call bcdxchg mov dh,al mov dl,0 retBCDxchg: push ax push cx mov cl,4 shr al,cl pop cx mov bl,0Ah mul bl pop bx and bl,0Fh add al,bl ret; ----------------------------------------------------------------------- ; Display string ColorPrintStr: lodsb mov bh, al ; color xor cx, cx mov dx, 014fh mov ax, 0600h int 10hmov ah, 02 ; GotoXY (0, 0) xor dx, dx mov bh, 0 int 10h PrintStr: push cs pop ds xor bx, bx @@1: lodsb cmp al, '$' jz @@2 or al, al jz @@2 mov ah, 0eh int 10h jmp short @@1 @@2: mov al, cs:clsStrcolor mov cs:clsStr, al ret; ----------------------------------------------------------------------- Self dw 0 clsStrcolor db 17h clsStr db 17h ; Color (White in Blue) db ' RAMinit Version 2.12 (c) 1989-1994 by KingSoft Ltd. Mr. Leijun' db 0dh,0ah db ' [' ShowCopies db '' db '] Activate...',0ah,0dh,'$'endTSR equ $ mcbList equ offset endTSR + 2 + 2 vecList equ mcbList + 710 + 2 + 10h + 1 + 400h devLink equ vecList + 4 + 5 26 + 4 + 10 30h + 4 xmsList equ devLink + 2 + MaxHandles 2 emsList equ xmsList + 4 + 1024 crtMode equ emsList + 2 + 1Dh + 4 + 10h tsrLen equ crtMode + 1 ; ; DOS Environment Reserved by RI ; -------------------------------------------------- ; Flag 'XX' 2 bytes ; Environment Segment 1 word ; Free MCBs <=710 bytes ; MCB segment 1 word ; MCB 5 bytes ; End flag 'MM' 1 word ; COM LPT ports 10h bytes ; LEDs status 1 bytes ; Packed vectors list <=400h bytes ; Flag 'CV' 2 bytes ; CVT First DPB pointer 4 bytes ; DPBs data <=526 bytes ; First DCB pointer 4 bytes ; Pointer to NUL 4 bytes ; All device driver datas <=30h10 bytes ; Flag 'XM' 2 bytes ; XMS free handle counter 2 bytes ; EMS free handle list <=100h4 bytes ; Flag 'EM' 2 bytes ; EMS free handle counter 2 bytes ; EMS free handle list <=1024 bytes ; EMS handle 1 word ; Number of pages 1 word ; Flag '--' 1 word ; Equipment List 1 word ; CRT 40:49h-66h 1dh bytes ; 40:A8h 1 dword ; BIOS User Data Area 40:F0--FF 10h bytes ; ** ; main: jmp main0Print Macro Str Lea dx, Str call DisplayStr endmInstMsg db 'RAMinit Version 2.12 ' db 'Copyright (c) 1989-1994 by KingSoft Ltd. ',0dh,0ah,'$' Msg0 db 'Already installed !',0dh,0ah,0ah db 'For Help, type "RI /?". ',0dh,0ah,'$' Msg_0 db 0ah,'Residents a new RAMinit copy [y/n] ? $' Msg_2 db 'OK, RI No.' Msg_RI db '2' db ' residents successful !', 0dh,0ah,'$' Msg1 db 'Activate with: $' KeyMsg db 'Right_Shift$' db 'Left_Shift$ ' KMsg1 db 'Left_Ctrl$ ' db 'Left_Alt$ ' db 'Right_Ctrl$ ' db 'Right_Alt$ ' KMsg2 db 'Ctrl$ ' db 'Alt$ ' db 'Ctrl$ ' db 'Alt$ ' PlusMsg db ' + $' crlf db 0dh,0ah,'$'HelpMsg db 'Programmed by Mr. Leijun Dec 1992', 0dh,0ah,0ah db 'Usage: RI [options]',0dh,0ah,0ah db '/H,/? Display this screen',0dh,0ah db '/CLS Removes all TSR programs after current RI',0dh,0ah db '/RET Removes TSR programs include current RI',0dh,0ah db '/NEW Residents a new data copy of current environment',0dh,0ah db '/ALL Removes all RI copies and all other tsr programs',0dh,0ah db '/Sxyy.. Define Hotkey x=AuxHotkey yy..=shift status',0dh,0ah db ' x=auxiliary hotkey (default is "X") ',0dh,0ah db ' x equ "1" means need AuxHotkey',0dh,0ah db ' yy..=shift status [CAScas]',0dh,0ah db ' C: Left Ctrl A: Left Alt S: Left Shift',0dh,0ah db ' c: Right Ctrl a: Right Alt s: Right Shift',0dh,0ah,0ah db 'Example: "RI /S1c" means Hotkey is Right_Ctrl+X',0dh,0ah db ' "RI /S0Cc" means HotKey is Left_Ctrl+Right_Ctrl',0dh,0ah db ' "RI /CLS" equals simply press hotkey',0dh,0ah db ' "RI /RET" Removes all TSRs after current RI and this RI',0dh,0ah db 0ah db 'Contact me for RAMinit problems: (01)2561155 Call 1997',0dh,0ah db '$' ErrMsg db 'ERROR: Invalid options !',0dh,0ah,0ah,'$' WinErr db 7, 'Sorry, I cannot work in Windows DOS environment.',0dh,0ah,'$' SetMsg db 7, 'Defines new Hotkey successful !',0dh,0ah,0ah,'$' tsrOK db FalseMain0: cld Print instMsg call IsWinDos or ax, ax jz @@1 Print WinErr mov ax, 4c00h int 21h @@1: call HotKeyValid mov cs:Status, 0 call EMS_test call CmpDosVer call CmpSideKick call GetMachineID call ModifyHotKeyPromptmov ax, 0c0d7h int 2fh mov es, ax cmp word ptr es:[101h], 'IE' ; 'LEI' jnz @@0 mov cs:Self, ax @@0: call CmdLine call PrintHotKeyPromptcmp cs:tsrOK, true jz @@2 call tsrReplyOK @@2: cmp cs:tsrOK, true jnz @@_2 call PrintCopies @@_2: mov word ptr cs:[100h], 'EL' mov byte ptr cs:[102h], 'I'push cs pop es push cs pop ds std mov si, offset eof mov cx, eof - offset Here mov di, tsrLen add di, cx inc cx rep movsb cld mov bx, tsrLen jmp bxHere: mov ax,cs mov es,ax mov di,offset endTSR mov cs:DataBegin, di mov cs:NextDataSeg, -1 mov ax, 'XX' stosw in al, 0a1h mov ah, al in al, 21h push ax mov word ptr cs:old_8259, ax xor ax, ax out 21h,al ; CLI call SaveOthers call SetSelfInt call BackupVecList cmp cs:Power, true jnz @@20 call BackupCVTchain call BackupMemoryManager @@20: call BackupBiosDatasti mov cs:Flag, ' ' ; no busy mov cs:StopFlag, 0 ;mov cs:tsrLength, di call SetDosEnvSeg cmp cs:Self, 0 jz @@29 push cs pop ds push cs pop es cld mov cx, cs:tsrLength mov si, cs:DataBegin sub cx, si mov di, 120h mov cs:DataBegin, di rep movsb mov cs:tsrLength, di @@29: pop ax out 21h, al ; STI mov al, ah out 0a1h, al mov dx, cs:tsrLength inc dx int 27h; ---------------------------------------------------------------------------- SetDosEnvSeg: push ds push es mov ax, cs @@10: mov es, ax mov ax, es:[16h] ; Get father process psp segment or ax, ax jz @@11 mov bx, es cmp ax, bx jnz @@10 @@11: mov es, word ptr es:[2ch] ; Get father process env segment mov cs:DosEnv, es pop es pop ds ret; ----------------------------------------------------------------------------SaveOthers: mov ax, cs:[2ch] ; Env Seg stosw call backupMCB ; Current MCB mov ax, 40h ; COM LPT Port mov ds, ax mov si, 0h mov cx, 8 rep movswmov si, 17h ; LED status lodsb stosb ; call OpenLEDs ret; -------------------------------------------------------------------------- backupMCB: mov ax, 'ZM' stosw push ds push es mov ah, 52h int 21h ; Get MCB chain head mov ax, es:[bx-2] pop es @@0: mov ds, ax cmp byte ptr ds:[0], 'Z' ; End ? jz @@20 cmp byte ptr ds:[0], 'M' ; Memory control block jnz @@30 cmp word ptr ds:[3], 0 ; Nul mcb jz @@10 cmp word ptr ds:[1], 0 ; Free MCB jnz @@10 call SaveFreeMCB @@10: inc ax add ax, ds:[3] jmp @@0 @@20: call SaveFreeMCB cmp ax, 0a000h inc ax jnb @@30 mov ax, 9fffh ; MS-DOS UMB jmp @@0@@30: cmp ax, 0c000h ; 386MAX ja @@90 mov ax, 0c020h jmp @@0@@90: ; Error ? pop ds mov ax, 'MM' ; Set MCB flag stosw retSaveFreeMCB: stosw xor si,si movsb movsw movsw ret ; ; push ax ; stosw ; xor si,si ; movsb ; movsw ; movsw ; pop ax ; cmp ax, 09fffh ; jnb @@3 ; push ax ; push ds ; mov ds,ax ; cmp byte ptr ds:[0], 'M' ; pop ds ; pop ax ; jnz @@4 ; mov ax, 09fffh ; MS-DOS UMB ; jmp @@0 ; @@4: cmp ax, 0c000h ; ja @@3 ; mov ax, 0c020h ; 386MAX ; jmp @@0 ; ; --------------------------------------------------------------------------OpenLEDs: push ax ; Open all LEDs or al, 070h mov ds:[17h], al mov ah, 1 int 16h mov cx, 4 ; Delay @@20: push cx xor cx, cx @@21: loop @@21 pop cx loop @@20 pop ax mov ds:[17h], al mov ah, 1 int 16h ret; -------------------------------------------------------------------------- SetSelfInt: push es push dicmp cs:self, 0 jnz @@1 push cs pop ds mov ax,3509h int 21h mov word ptr cs:oldInt9_addr,bx mov word ptr cs:oldInt9_addr[2],es mov dx,offset NewInt9 mov ax,2509h int 21hmov ax,352Fh int 21h mov word ptr cs:oldInt2F_addr,bx mov word ptr cs:oldInt2F_addr[2],es mov dx,offset newInt2F mov ax,252Fh int 21hmov ax,351Ch int 21h mov word ptr cs:oldInt1C_addr,bx mov word ptr cs:oldInt1C_addr[2],es mov dx,offset newInt1C mov ax,251ch int 21h cli jmp @@2 @@1: mov es, cs:Self inc es:Copies @@_0: cmp es:NextDataSeg, -1 jz @@_1 mov es, es:NextDataSeg jmp @@_0 @@_1: mov es:NextDataSeg, cs @@2: pop di pop es ret; ----------------------------------------------------------------------- SaveCounter: mov word ptr es:[di], 'EL' mov byte ptr es:[di+2], 'I' mov byte ptr es:[di+3], bl xor bx, bx add di, 4 ret; ----------------------------------------------------------------------- DisplayStr: push cs pop ds mov ah, 9 int 21h ret; ----------------------------------------------------------------------- CmdLine: push cs pop ds xor ax, ax mov si, 80h lodsb or al, al jnz @@1 ret @@1: mov cx, ax dec ax push ax push si @@0: lodsb cmp al, ' ' jz @@0 cmp al, '/' jnz @@2 lodsb cmp al, 'S' jz @@_2 cmp al, 's' jnz @@2 @@_2: call SetHotKey Print SetMsg mov ax, 4c00h int 21h @@2: pop si pop ax push ax push si @@_3: lodsb cmp al, 'A' jb @@3 cmp al, 'Z' ja @@3 add byte ptr ds:[si-1],20h ; DownCase @@3: loop @@_3 pop si pop cxadd si, cx lodsb cmp al, 's' ; CLS jnz @@5 cmp word ptr ds:[si-3], 'lc' jnz @@5 cmp cs:Self, 0 jz @Err mov ax, 0c0d7h+1 int 2fh@@5: cmp al, 'h' ; HELP jz @help cmp al, '?' jz @help cmp al, 't' ; RET jnz @@6 cmp word ptr ds:[si-3], 'er' jnz @@6 @@7: cmp cs:Self, 0 jz @Err mov ax, 0c0d7h+2 int 2fh @@6: cmp al, 'w' ; NEW jnz @@8 cmp word ptr ds:[si-3], 'en' jnz @@8 mov cs:tsrOK, true ret @@8: cmp al, 'l' ; ALL jnz @@9 cmp word ptr ds:[si-3], 'la' jnz @@9 mov ax, 0c0d7h+3 int 2fh @@9: cmp al, ' ' jnz @Err ret@Err: Print ErrMsg @help: Print HelpMsg mov ax, 4c00h int 21h;--------------------------------------------------------------------------- tsrReplyOK: cmp cs:Self, 0 jz @@1 Print Msg0push es mov ax, cs:Self @@_10: mov es, ax mov ax, es:NextDataSeg cmp ax, -1 jnz @@_10 mov ax, es@@_0: push ax dec ax mov es, ax mov bx, es:[3] pop axadd ax, bx inc ax mov es, ax cmp word ptr es:[0], 'OC' jz @@_0mov bx, cs cmp ax, bx pop es jz @@2 Print Msg_0 mov ah, 1 int 21hpush ax Print crlf pop axcmp al, 'y' jz @@3 cmp al, 'Y' jz @@3 @@2: ; Print Msg_1 mov ax, 4c01h int 21h @@3: @@1: mov cs:tsrOK, true retPrintCopies: cmp cs:Self, 0 jz @@1 push es ; Added -by- Mr. Lei mov es, cs:Self ; Aug 24, 1993 mov al, es:Copies inc al ; Total RI copies push ax ; Set es = current mcb mov ax, cs dec ax mov es, ax pop ax mov cx, 5 ; Search end of file name mov bx, 8 @@10: inc bx cmp byte ptr es:[bx], 20h jz @@20 cmp byte ptr es:[bx], 0ffh jz @@20 cmp byte ptr es:[bx], 00h jz @@20 loop @@10 @@20: ; Set current RI no mov byte ptr es:[bx], ':' ; "RI:2" mov byte ptr es:[bx+1], al cmp bx, 8+7 jnb @@30 mov byte ptr es:[bx+2], 0 @@30: pop esmov cs:Msg_RI, al Print Msg_2 @@1: ret;--------------------------------------------------------------------------- ; Backup Interrupt Vector List ; BackupVecList: push ds push cs pop es xor si,si ; Vectors mov ds,si movsw movsw xor bx, bx mov cx,00ffh @@0: lodsw xchg dx, ax lodsw cmp ax, es:[di-2] jnz @@1 cmp dx, es:[di-4] jz @@2 @@1: or bx, bx jz @@3 call SaveCounter @@3: xchg dx, ax stosw xchg dx, ax stosw loop @@0 jmp @@4 @@2: inc bx loop @@0 call SaveCounter @@4: pop ds ret ; ;----------------------------------------------------------------------------- BackupCVTchain: mov ax, 'VC' stosw push ax push bx push cx push ds push es mov ah, 52h int 21h ; ES:BX -- DOS table as described below; -------------------------------------------------------------------- push es ; DPB chains push bx lds si, es:[bx] push cs pop es mov ax, si stosw mov ax, ds stosw mov bx, cs:cvtOfs xor cx, cx @@1: mov al, ds:[si+1] stosb mov ax, ds:[si+bx+12h] stosw mov ax, ds:[si+bx+14h] stosw inc cx lds si, ds:[si+bx+18h] cmp si, -1 jnz @@1 ; mov ax, 5 ; mul cl ; add ax, 4 ; add cs:tsrLength, ax pop bx pop es; -------------------------------------------------------------------- push es ; DCB file control blocks push bx les bx, es:[bx+4] @@11: cmp word ptr es:[bx], -1 jz @@10 les bx, es:[bx] jmp @@11 @@10: mov ax, es xchg ax, bx push cs pop es stosw xchg ax, bx stosw pop bx pop es ; add cs:tsrLength, 4; --------------------------------------------------------------------- push es ; Device Driver Chains pop ds add bx, 22h mov si, bx ; NULpop es mov ax, si stosw mov ax, ds stosw xor cx, cx xor bx, bx @@9: push si mov cl, 5 rep movsw inc bx pop si lds si, ds:[si] mov ax, si inc ax jnz @@9pop ds pop cx pop bx pop ax ret; ----------------------------------------------------------------------------BackupBiosData: mov ax, '--' stosw push ds push si mov si, 40h mov ds, si mov si, 10h movsw mov si, 0a8h movsw movsw mov si, 49h mov cx, 1dh rep movsbmov si, 0f0h mov cx, 8 rep movsw pop si pop ds ret; ---------------------------------------------------------------------------BackupMemoryManager: push cs pop es push ds push es call SaveXMSstatus call SaveEMSstatus pop es pop ds ret;---------------------------------------------------------------------SaveEMSstatus: test cs:status, EMSbit jnz @@1 ret @@1: mov ax, 'ME' stosw inc di inc di push di mov ah, 4dh int 67h pop di mov es:[di-2], bx shl bx, 1 shl bx, 1 add di, bx ret ; -------------------------------------------------------------------SaveXMSstatus: call XMS_test test cs:status, XMSbit jnz @@1 ret @@1: mov ax, 'MX' stoswmov dx, 1 call XMS_alloc jnz @@_1 xor cx, cx ; XMS alloc failure stosw ret @@_1: push dx sub dx, MaxHandles 10 @@2: push dx call XMS_Lock pop dx jnz @@3 cmp bl, 0a2h jnz @@4 add dx, 10 jmp @@2 @@3: push dx call XMS_unlock pop dx @@4: mov cs:handle_begin, dx pop dx push dx call XMS_bstat xor cx, cx mov cl, bl inc cx pop dx call XMS_Free mov dx, cs:Handle_beginpush cx push cs pop es mov ax, cx stosw @@5: push dx call XMS_Lock pop dx jnz @@6 cmp bl, 0a2h ; Handle invalid jz @@7 @@6: call XMS_unlock add dx, 10 jmp @@5 @@7: mov ax, dx stosw add dx, 10 loop @@5 pop cx ret ; ------------------------------------------------------------------XMS_test: push es mov ax, 4300h int 2fh cmp al, 80h jnz @@9 mov ax, 4310h int 2fh mov cs:XMS_control, bx mov cs:XMS_control[2], es or cs:Status, XMSbit @@9: pop es retXMS_stat: mov ah, 0 call dword ptr cs:xms_control mov hma_exist, dl ret hma_exist db 0XMS_alloc: mov ah, 9 call dword ptr cs:xms_control or ax, ax retXMS_lock: mov ah, 0ch call dword ptr cs:xms_control or ax, ax retXMS_unlock: mov ah, 0dh call dword ptr cs:xms_control or ax, ax ret XMS_bstat: mov ah, 0eh call dword ptr cs:xms_control or ax, ax retXMS_free: mov ah, 0ah call dword ptr cs:xms_control or ax, ax ret; ---------------------------------------------------------------------------- EMS_test: push cs pop ds mov dx, offset EMMname mov ax, 3d00h int 21h jc @@2 mov bx, ax mov ah, 3eh int 21h or cs:Status, EMSbit @@2: ret EMMname db 'EMMXXXX0',0; -----------------------------------------------------------------------------SetHotKey: xor bx, bx lodsb push ax@@1: lodsb cmp al, 0dh jz @@9 cmp al, 'C' jnz @@2 or bl, LeftCtrl jmp @@1 @@2: cmp al, 'c' jnz @@3 or bl, RightCtrl jmp @@1 @@3: cmp al, 'A' jnz @@4 or bl, LeftAlt jmp @@1 @@4: cmp al, 'a' jnz @@5 or bl, RightAlt jmp @@1 @@5: cmp al, 'S' jnz @@6 or bl, LeftShift jmp @@1 @@6: cmp al, 's' jnz @@7 or bl, RightShift jmp @@1 @@7: pop ax jmp @Err @@9: mov cs:HotKey, bl pop ax mov cs:AuxHotKey, 2dh ; 'X' scan key cmp al, '1' jz @@29 mov cs:AuxHotKey, 0 @@29: cmp cs:Self, 0 jz @@30 push es mov es, cs:Self mov es:HotKey, bl mov bl, cs:AuxHotKey mov es:AuxHotKey, bl pop es @@30: call GetRunFileName mov ax, 3d02h int 21h jc @@10 push cs pop ds mov bx, ax mov cx, 4 mov dx, 100h mov ah, 40h int 21h jc @@10 mov ax, 4200h xor cx, cx mov dx, 17h int 21h jc @@10 mov cx, 1 mov dx, offset AuxHotKey mov ah, 40h int 21h jc @@10 mov ah, 3eh int 21h @@10: ret; ----------------------------------------------------------------------- GetRunFileName: ; Return: ; DS:DX Pointer of this run file name ASCIIZ string push ax push bx push cx push si push di push espush cs pop es mov ax, es:[2ch] mov es, ax xor di, di mov cx, 1000h xor al, al @@1: repnz scasb cmp es:[di], al loopnz @@1 mov dx, di add dx, 3 push es pop dspop es pop di pop si pop cx pop bx pop ax ret; --------------------------------------------------------------------------- GetMachineID: push es mov KBD102,True mov ax,40h mov es,ax test byte ptr es:[96h], 00010000b jnz @@1 mov Kbd102,False @@1: xor ax,ax dec ax mov es,ax mov al,es:[0eh] mov cs:MachineID, al pop es ret; --------------------------------------------------------------------------- ModifyHotKeyPrompt: cmp cs:Kbd102, True jz @@9 push cs pop es push cs pop ds mov cx, 124 mov si, offset KMsg2 mov di, offset KMsg1 rep movsb @@9: cmp cs:MachineID, 0fch jna @@10 mov cs:clsStrcolor, 70h ; Mono mov cs:clsStr, 70h @@10: ret; --------------------------------------------------------------------------- PrintHotKeyPrompt: Print Msg1 mov al, cs:HotKey mov ah, al shr al, 1 shr al, 1 and ax, 33ch or al, ah mov dx, offset KeyMsg @@40: or ax, ax ; Mr. Lei 4/25/1993 jz @@_42 shr al, 1 push ax jnc @@41push ax call ColorDisplayStr ; mov ah, 9 ; int 21h pop axor al, al jz @@42push dx mov dx, offset PlusMsg call ColorDisplayStr ; Print PlusMsg pop dx@@41: add dx, 12 pop ax jmp @@40 @@42: pop ax @@_42: cmp cs:AuxHotKey, 0 jz @@43 cmp cs:HotKey, 0 ; Mr. Lei jz @@_43 mov dx, offset PlusMsg call ColorDisplayStr ; Print PlusMsg @@_43: mov dx, offset AuxHotKeyName call ColorDisplayStr ; Print AuxHotKeyName @@43: Print crlf retColorDisplayStr: push bx push cx push dx push si mov bl, 0fh mov si, dx xor bh, bh mov cx, 1 @@1: lodsb cmp al, '$' jz @@2 or al, al jz @@2 push cx mov ah, 09h int 10h mov ah, 3 int 10h inc dl mov ah, 2 int 10h pop cx jmp short @@1 @@2: pop si pop dx pop cx pop bx ret; --------------------------------------------------------------------------- CmpSideKick: xor ax, ax mov es, ax les bx, es:[20h] cmp word ptr es:[bx-4], 4b53h jnz @@1 cmp word ptr es:[bx-2], 4942h jz @@2 @@1: mov es, ax les bx, es:[94h] cmp word ptr es:[bx-2], 4b53h jz @@2 ret @@2: or cs:Status, SKbit ret; --------------------------------------------------------------------------- CmpDosVer: mov ah, 30h int 21h cmp al, 3 jb @@1 cmp al, 3 jna @@2 mov cs:cvtOfs, 1 ret @@2: mov cs:cvtOfs, 0 ret @@1: Print DosVerErr mov ax, 4cffh int 21hDosVerErr db 'Sorry, DOS version too lower !',0dh,0ah,'$'HotKeyValid: cmp cs:HotKey, 0 jnz @@_1 cmp cs:AuxHotKey, 0 jnz @@_1 Print HotKeyErr mov ax, 4cfeh int 21h @@_1: retHotKeyErr db 'Sorry, please setup hotkey again. ',0dh,0ah,'$'eof: ends end Start; ------------- The End ! ---------------------------------------------------

各位朋友們,你們還記得自己寫的第一行代碼是什么嗎?

-END-

猜你喜歡

百度副總裁被抓!

48歲的C語言,你知道它背后的歷史嗎?

都是做嵌入式憑什么高薪offer歸別人

?最 后??

?

若覺得文章不錯,轉發分享,也是我們繼續更新的動力。

5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機、等等

在公眾號內回復「更多資源」,即可免費獲取,期待你的關注~

長按識別圖中二維碼關注

總結

以上是生活随笔為你收集整理的雷军 1994 年写的代码,经典老古董。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久久久久久久久影视 | 久久在线| 日韩精品一区二区在线观看 | 国产精品麻豆免费版 | 五月天激情综合 | 国产高清视频 | 天天爽夜夜爽人人爽曰av | 人人澡人人爽欧一区 | 在线看黄色的网站 | 久久精品xxx | 国产在线精品播放 | 久久久国产精品电影 | 九九视频免费在线观看 | 久久精品波多野结衣 | 国产免费大片 | 97综合网 | 黄污污网站| 精品久久国产精品 | 日韩黄色在线观看 | japanesexxx乱女另类| av免费在线观| 91传媒免费观看 | 97在线播放视频 | 波多野结衣在线播放视频 | 欧美91精品久久久久国产性生爱 | 日本中文字幕在线免费观看 | 久久久久成人精品免费播放动漫 | 91日韩精品一区 | 久久五月天综合 | 99资源网 | 99精品热视频只有精品10 | 狠狠狠狠狠狠狠 | 国产一级精品视频 | 国产黑丝一区二区 | 久久精品视频网 | 亚洲经典精品 | 伊人久久精品久久亚洲一区 | 日韩最新在线 | 精品视频久久 | 一区二区三区在线看 | 日韩国产精品久久久久久亚洲 | 97热视频 | 狠狠色噜噜狠狠狠狠2022 | 久色 网 | 最近中文字幕视频网 | 久久第四色 | 免费视频一二三区 | 国产中文字幕第一页 | 欧美日韩首页 | 热久在线 | 久久久精品电影 | 91在线小视频 | 五月天综合婷婷 | 久久久久久美女 | 国产麻豆精品在线观看 | 亚洲国产福利视频 | 久久刺激视频 | 色综合天天综合网国产成人网 | 国产精品观看视频 | 亚洲精品免费观看视频 | av官网| 亚色视频在线观看 | 丝袜美腿在线视频 | 亚洲精品国偷拍自产在线观看蜜桃 | www.久久99| 国产精品久久久久久久久久久免费看 | 91黄色小网站 | 九色在线视频 | 精品久久久久一区二区国产 | 久热超碰 | 欧美天堂视频在线 | 美女网站视频久久 | 99久久精品免费看 | 狠狠狠色丁香综合久久天下网 | 欧美在线你懂的 | 狠狠色噜噜狠狠狠狠 | 日韩精品欧美专区 | 深爱激情五月婷婷 | 国产精品一区二区免费 | 国产无遮挡猛进猛出免费软件 | 99精品电影| 日韩免费专区 | av网站在线观看播放 | 国内免费久久久久久久久久久 | 在线免费高清一区二区三区 | 手机成人av在线 | 91片网 | 日韩伦理一区二区三区av在线 | 色婷婷视频在线 | 久久精品国产第一区二区三区 | 麻豆av一区二区三区在线观看 | 免费看片在线观看 | 国产美女免费看 | 最新日本中文字幕 | 久久噜噜少妇网站 | 婷婷激情综合 | 久久综合影视 | 久久综合加勒比 | 国产精品毛片网 | 成人三级网站在线观看 | 国产三级精品三级在线观看 | 99热这里只有精品在线观看 | 在线精品一区二区 | 欧美激情精品久久久久久免费印度 | 久久99欧美 | 久久电影国产免费久久电影 | 五月婷婷中文 | 久久久精品午夜 | 最近免费中文字幕 | 中文在线www| 色狠狠久久av五月综合 | 亚洲精品综合一区二区 | 天天操天天操天天操天天操天天操天天操 | 国产精品久久久久久久免费观看 | 久久久免费观看完整版 | 国产精品久久久久久久久久久久冷 | 亚洲国产精品电影 | 在线免费观看黄网站 | 中文字幕色婷婷在线视频 | 成人动图 | 日韩免费成人av | 亚洲黄色精品 | 日日摸日日添日日躁av | 久久99久久99精品免观看软件 | 久久视 | 国产成人精品久久久久蜜臀 | 中文字幕视频观看 | 成人一区二区三区中文字幕 | 国产伦精品一区二区三区在线 | 91新人在线观看 | 99久久精品久久久久久动态片 | 91精品一区在线观看 | 色婷婷国产精品一区在线观看 | 开心色激情网 | 亚洲黄色小说网址 | 国产资源在线免费观看 | 激情综合五月 | 97人人超| 天天操天天干天天综合网 | 91在线看免费 | 成人91在线| 91精品久久久久久综合五月天 | 久久视| 欧美日韩国产精品一区 | 亚洲国产成人高清精品 | 日日干天天操 | 天天摸天天干天天操天天射 | 久草99| 最新av观看| 看片一区二区三区 | 国产中文字幕在线观看 | 久久国内精品99久久6app | 久久夜色精品国产欧美乱 | 一级黄视频 | 国产在线播放一区二区 | 久草免费在线视频观看 | 毛片网站观看 | www..com黄色片 | 久久国产精品免费一区二区三区 | 久久毛片高清国产 | 日韩精品中文字幕有码 | 免费看一级黄色 | 国产91国语对白在线 | 91污视频在线 | 成片免费观看视频大全 | 超碰人人在线观看 | 婷婷丁香色综合狠狠色 | 国产精品久久久久影院 | 免费特级黄毛片 | 三级免费黄色 | av线上看 | 狠狠色噜噜狠狠狠狠 | 日韩欧美极品 | 成人午夜黄色 | 久久国产一区 | 日韩一级理论片 | 少妇bbw搡bbbb搡bbb | 免费看黄色小说的网站 | 久久久久成人精品免费播放动漫 | 国产综合精品一区二区三区 | 日本中文字幕视频 | 在线观看免费高清视频大全追剧 | 国产一级片毛片 | 97精品在线视频 | 精品国产123 | 国产99久久久精品 | 91av手机在线观看 | 日日麻批40分钟视频免费观看 | 日韩精品中文字幕一区二区 | 国产二级视频 | 欧美日韩国产页 | 中文av字幕在线观看 | av免费看电影 | 91福利视频在线 | 亚洲成人精品在线 | 精品免费观看 | 日韩免费成人av | 日韩一二区在线观看 | www.黄色片网站 | 国产在线观看不卡 | 久久高清av | 97超碰网| 国内精品久久久久久久久久清纯 | 六月色丁| www.五月婷| 欧美日本啪啪无遮挡网站 | 欧美有色| 在线三级播放 | 婷婷丁香七月 | 久久这里有精品 | 国产一级黄色免费看 | 国产精品久久久久久久久久免费 | 99r在线视频 | 麻豆系列在线观看 | 在线国产高清 | 日韩电影在线一区二区 | 一本一本久久a久久 | 免费进去里的视频 | 国产福利91精品张津瑜 | 国产资源免费在线观看 | 五月婷婷中文网 | 色吊丝在线永久观看最新版本 | 欧美少妇影院 | 久久深夜福利免费观看 | a在线观看免费视频 | 色在线最新 | 日韩在线视频看看 | 99国产精品免费网站 | 欧美日韩在线视频免费 | 九九久久影院 | 久草在线视频网 | 一区二区三区久久 | 美女黄久久 | 波多野结衣视频一区 | 日韩av电影网站在线观看 | 99久久精品久久久久久动态片 | aaawww| 亚洲国产欧美在线看片xxoo | 欧美日韩免费一区 | 夜夜操天天摸 | 国产视频综合在线 | 成人动漫一区二区 | 六月色| 正在播放五月婷婷狠狠干 | 99精品视频网站 | 欧美精品国产综合久久 | 在线观看不卡视频 | 西西4444www大胆无视频 | 日本黄区免费视频观看 | 国产精品久久av | 久久99国产精品久久99 | 亚洲91精品 | 亚洲精品午夜久久久久久久久久久 | 欧美性生活免费 | 黄色a在线 | 91夜夜夜| 国产精品久久久久久久久岛 | 亚洲成人999 | 少妇bbw撒尿 | 91人人爽久久涩噜噜噜 | 五月色婷 | 91最新在线 | 国产黄色精品在线 | 91福利小视频 | 免费av在线网站 | 黄色成人av网址 | 色婷婷88av视频一二三区 | 欧美俄罗斯性视频 | 激情五月婷婷综合网 | 亚洲免费激情 | 久久精品视频在线观看 | 日韩免费在线播放 | 日b视频国产| 国产精品久久久久永久免费看 | 成人影片免费 | 韩国av一区二区三区在线观看 | 91在线视频免费91 | 亚洲国产精品一区二区久久,亚洲午夜 | 99麻豆视频 | 久久黄色小说视频 | 免费看一级 | 五月天色综合 | 色资源中文字幕 | 久久久久亚洲精品中文字幕 | 国产高清黄 | 视频在线观看一区 | 手机看片1042 | 天天弄天天干 | 国产精品精品久久久久久 | 国产精品免费av | 麻豆视频在线看 | 五月婷婷六月丁香在线观看 | 97看片吧 | 93久久精品日日躁夜夜躁欧美 | 久久久精品二区 | 一级黄色大片在线观看 | 婷婷五月色综合 | 波多野结衣在线播放一区 | 成人黄色毛片视频 | 国产伦精品一区二区三区高清 | 在线观看va | 久久久久国产一区二区三区四区 | 久久久av免费 | 国产夫妻自拍av | 日日躁夜夜躁xxxxaaaa | 天天做夜夜做 | 激情文学综合丁香 | 激情综合网五月婷婷 | 久草在线观看视频免费 | 97视频在线免费 | 波多野结衣在线视频免费观看 | 欧美日韩精品在线播放 | 日韩高清在线不卡 | 夜夜夜夜操 | 国产精品久久久 | 激情综合交 | 最近高清中文字幕在线国语5 | 免费高清影视 | 91综合色| 91麻豆精品国产91 | 日本黄色片一区二区 | 国产探花在线看 | 久久不见久久见免费影院 | 日韩视频一区二区三区在线播放免费观看 | 久久影院中文字幕 | 亚洲视频网站在线观看 | 1024在线看片 | 黄色小网站在线 | 日批网站免费观看 | 免费在线成人av电影 | 99久久久久免费精品国产 | 精品视频99| 欧美视屏一区二区 | 免费黄色在线播放 | 日韩精品一卡 | 中文一区在线 | 欧美另类高潮 | 国内免费的中文字幕 | 久久久久久久久久网 | 少妇超碰在线 | 99视频这里有精品 | 99激情网| 日韩资源视频 | 国产精品99免视看9 国产精品毛片一区视频 | 在线观看av中文字幕 | 精品久久毛片 | www.69xx| 五月婷亚洲 | 国产精品ssss在线亚洲 | 2019av在线视频 | 97夜夜澡人人爽人人免费 | 中文字幕乱在线伦视频中文字幕乱码在线 | 精品国产一区二区三区久久久蜜月 | 在线播放一区 | 国产一级高清 | 亚洲精品美女久久17c | 人人dvd| 波多野结衣综合网 | 在线观看欧美成人 | 91亚洲欧美激情 | 97色综合| 麻豆视频大全 | 色五婷婷 | 69国产在线观看 | 97人人爽人人 | 亚洲欧洲精品久久 | 91成人小视频 | 亚洲精品自在在线观看 | 日韩亚洲国产精品 | 九九九九九精品 | 欧洲视频一区 | 国内精品久久久久影院男同志 | 日韩一区在线免费观看 | 天天超碰 | 国产自在线观看 | 久久伊人精品天天 | 亚洲女欲精品久久久久久久18 | 国产对白av | 中文字幕在线观看你懂的 | 国产色婷婷在线 | 久草在线视频新 | 久久久久久国产精品久久 | 国产乱码精品一区二区蜜臀 | 91精品啪在线观看国产线免费 | 免费看网站在线 | 国内成人精品视频 | 天天看天天操 | 久久免费视频5 | 91精品国产乱码久久 | 亚洲精品免费在线 | 在线免费观看视频 | 国产精品专区一 | 国产日产亚洲精华av | 日韩精品一区二区三区三炮视频 | 狠狠搞,com | 激情五月开心 | 国产视频在线看 | 福利视频网址 | 毛片无卡免费无播放器 | 九色精品免费永久在线 | 日韩欧美精品一区二区 | 在线观看久 | 日本久久综合网 | www久久com| 久久精品一区二 | 国产福利精品视频 | 欧美精品在线观看一区 | 欧美特一级片 | 在线观看视频一区二区三区 | 色噜噜噜噜 | 国产精品99精品 | 亚洲性xxxx| 激情婷婷综合网 | www91在线观看 | 色婷婷综合久久久中文字幕 | 精品婷婷| 久久不射电影院 | 午夜色性片 | 欧美日韩国产二区 | 日韩在线网址 | 日韩极品在线 | 超薄丝袜一二三区 | 在线观看a视频 | 东方av在线免费观看 | 欧美韩国日本在线 | 国内精品毛片 | 亚洲视频999 | 狠狠色狠狠色合久久伊人 | 高潮久久久久久久久 | 二区视频在线观看 | 国产精品麻豆视频 | 精品视频 | 中文av网站 | 超级碰碰免费视频 | 伊人五月天 | 婷婷色网址 | 亚洲高清资源 | 午夜精品久久久久久久爽 | 国产精品久久久久久久久久久免费看 | 在线观看中文字幕亚洲 | 亚洲天堂视频在线 | 色婷婷综合久久久中文字幕 | 久草在线官网 | 国产99久久精品一区二区永久免费 | 热久久免费视频精品 | 亚洲一区视频在线播放 | 国产精品成人一区二区三区吃奶 | 国产91精品一区二区麻豆亚洲 | 色综合久久综合中文综合网 | 婷婷国产视频 | 激情五月在线视频 | 精品爱爱 | 黄污网站在线 | 国产精品国内免费一区二区三区 | 日韩欧美xx | 区一区二在线 | 国产精品久久久久影院日本 | 又爽又黄又无遮挡网站动态图 | 黄色最新网址 | 国产一区二区三区四区大秀 | 丁香综合激情 | 天天射天天干天天插 | 在线观看中文字幕dvd播放 | 久久久免费高清视频 | 六月丁香婷婷在线 | 一区二区欧美在线观看 | 欧美一级在线 | 亚洲综合色丁香婷婷六月图片 | 91麻豆免费看 | 中文字幕在线视频免费播放 | 日韩黄色在线 | 国产亚洲精品综合一区91 | 国产黄色片在线 | 欧美另类交在线观看 | 99热99热| 91九色精品女同系列 | 最新中文字幕在线资源 | 一级黄色在线免费观看 | 国产成人一区三区 | 色妞色视频一区二区三区四区 | 亚洲国产中文字幕在线观看 | 国产中文字幕三区 | 九九亚洲视频 | 国产午夜一区二区 | 天天射天天干天天 | 婷婷色综合 | 久久精品专区 | 51久久夜色精品国产麻豆 | 久久精品成人热国产成 | 亚洲一片黄 | 精品国产乱码久久久久久三级人 | 女人18毛片90分钟 | 精品久久久久国产免费第一页 | 国产精品免费视频观看 | 国产区欧美 | 精品国产视频一区 | 国产精品久久久区三区天天噜 | 午夜精品久久久久久久99水蜜桃 | 三级小视频在线观看 | 九九精品在线观看 | 手机成人av在线 | 在线免费观看羞羞视频 | 免费av网址大全 | 国产美女网站视频 | 美女久久久久 | 国产精品综合久久久久 | 国产成人精品一区二区三区 | 日韩网页| 一区二区三区av在线 | 高清国产一区 | 视频一区亚洲 | 五月天狠狠操 | 在线看日韩av | 国产91粉嫩白浆在线观看 | 天堂激情网 | 激情欧美日韩一区二区 | 久久久久久久久毛片精品 | 激情五月亚洲 | 麻花豆传媒mv在线观看 | 91精品天码美女少妇 | 狠狠撸电影 | 国产大尺度视频 | 亚洲精品综合在线观看 | 91色吧| 亚洲精品视频免费在线观看 | 91麻豆精品国产午夜天堂 | 97香蕉久久超级碰碰高清版 | 色综合久久88色综合天天人守婷 | 国产精品视频久久久 | 九九久| 色天天 | 欧美精品少妇xxxxx喷水 | 成片视频免费观看 | 日日夜夜人人天天 | 99色| 欧美91av| 国产精品国产三级国产 | 国产视频美女 | 久久99久久久久 | 超碰av在线免费观看 | 99视频在线观看免费 | h动漫中文字幕 | 国产原厂视频在线观看 | 午夜三级在线 | 免费a v在线| 欧洲亚洲国产视频 | 免费高清无人区完整版 | 二区三区精品 | 黄色免费看片网站 | 亚洲精品国精品久久99热一 | 中文av网 | 免费观看午夜视频 | 天天操狠狠操网站 | 五月婷婷在线播放 | 国产精品一区二区三区四区在线观看 | 久久久久久国产一区二区三区 | 国产精品久久久久久久免费大片 | 久草精品在线观看 | 久久人人爽人人爽人人片av免费 | 国产亚洲精品久久久久久无几年桃 | 日韩乱理 | 国产亚洲在线视频 | 狠狠色丁香 | 国产高清av免费在线观看 | 色综合久久久久综合99 | 在线va视频 | 视频一区二区三区视频 | 免费网站在线观看成人 | 激情欧美一区二区三区免费看 | 精品一区精品二区 | 91在线视频免费 | 国产精彩在线视频 | 日本在线观看一区 | 亚洲黄色网络 | 亚洲黄色在线观看 | 青青五月天 | 国产亚洲aⅴaaaaaa毛片 | 亚洲精品久久激情国产片 | 91手机在线看片 | 日韩一区二区三区在线看 | 99视频在线| 国产裸体视频bbbbb | 日韩精品免费在线 | 在线影院 国内精品 | 国产 一区二区三区 在线 | 深夜国产福利 | 在线观看成人小视频 | 中文字幕精品视频 | 四虎影视成人永久免费观看亚洲欧美 | 免费亚洲片 | 欧美性生活小视频 | 人人要人人澡人人爽人人dvd | 成人国产综合 | 亚洲人在线7777777精品 | av不卡中文字幕 | 懂色av一区二区在线播放 | 亚洲激情网站免费观看 | 六月婷操 | 日韩丝袜视频 | 婷婷福利影院 | 成人av片在线观看 | 国产亲近乱来精品 | 97精品超碰一区二区三区 | 成人网在线免费视频 | 色网站在线免费观看 | 国产精品久久久久久久久久久不卡 | 伊人天堂av| 伊人久久五月天 | 99精品乱码国产在线观看 | 国产自制av | 视频一区二区精品 | 人人爽人人爽人人爽学生一级 | 伊人www22综合色 | 欧美日韩免费一区二区三区 | 五月婷影院 | 日韩免费专区 | 黄色小说在线观看视频 | 久久精品毛片 | 特级黄色片免费看 | 国产精品1024 | 国产69精品久久99不卡的观看体验 | 亚洲首页| 日韩爱爱片 | 黄网站免费看 | 天天干天天摸天天操 | 在线免费色视频 | 免费三级影片 | 欧美日韩首页 | 欧美一级片在线免费观看 | 国产精品24小时在线观看 | 久久1电影院 | 国产高清视频网 | 有码视频在线观看 | 18久久久久久 | 婷色在线 | 日本久久成人中文字幕电影 | 久久精品五月 | 欧美日韩国产二区 | 国产成人精品久久二区二区 | 国产91勾搭技师精品 | 黄网在线免费观看 | 亚洲国产成人久久综合 | 免费a级毛片在线看 | 久久免费在线 | 欧美一级片免费在线观看 | 青青五月天 | 亚洲国产精品电影 | 国产99免费 | 九九热只有精品 | 西西444www大胆高清图片 | 国产综合片 | 在线视频久| 日本九九视频 | 免费黄在线观看 | 欧美福利网址 | 国产精品亚洲成人 | 亚洲精品99久久久久久 | 麻豆久久久久久久 | 黄色特级片 | 天天爱天天操天天射 | 91麻豆看国产在线紧急地址 | 国产在线精品观看 | 人人澡人人添人人爽一区二区 | 在线免费观看黄 | 欧美亚洲成人免费 | 国产精品观看 | 97精品国产91久久久久久久 | 婷婷色网址 | 福利一区在线 | 久久艹在线观看 | 99精品久久只有精品 | 操久久网 | 亚洲电影成人 | 日韩精品在线一区 | 亚洲资源在线 | 网站免费黄色 | 999超碰| 韩国一区二区三区在线观看 | 国产精品久久一区二区三区不卡 | 日日夜夜中文字幕 | 久久久久免费 | 免费无遮挡动漫网站 | 欧美国产高清 | 在线播放你懂 | 国产成人资源 | 日日干激情五月 | 中文字幕第一页在线vr | 天堂av在线网站 | 91精品国产自产在线观看永久 | 人人澡人人干 | 五月婷香蕉久色在线看 | www.大网伊人 | 国产黄色在线观看 | 国产精品青草综合久久久久99 | 玖玖玖影院| 91av在线免费播放 | 黄色网免费 | 国产视频黄 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 欧美一区免费观看 | 深爱婷婷久久综合 | 亚洲国产日韩在线 | 欧美精品久 | 狠狠躁夜夜躁人人爽超碰97香蕉 | av一级二级| 亚洲精品字幕 | 欧美成人tv | 一区二区理论片 | 婷婷丁香综合 | 奇米影视四色8888 | 狠狠色丁香婷综合久久 | 黄色一级在线观看 | 国产精品美女毛片真酒店 | 国产精品美女久久久久久网站 | 日本特黄一级片 | 婷婷伊人网| 韩国视频一区二区三区 | 狠狠色狠狠色综合系列 | 毛片www | 国产一区二区三区高清播放 | 在线观看av大片 | 黄色av影视 | 国产一区在线视频 | 欧美在线久久 | 国产不卡免费av | 欧美黑人性猛交 | 色综合久久久久久久久五月 | 国产精品欧美日韩 | 深爱激情五月综合 | 日韩精品一区二区三区在线视频 | 日本精品久久 | 亚洲涩涩网站 | 日韩一区正在播放 | 国产最新视频在线 | 成人免费网视频 | 91人人澡人人爽 | 色综合久久久久久久 | 国产精品福利在线观看 | 韩国精品视频在线观看 | 中午字幕在线 | 美女网站色 | 久久欧美在线电影 | 久久综合五月天婷婷伊人 | 久久久久久久久毛片精品 | 五月婷婷激情六月 | 天天射网站| 国产视频网站在线观看 | 人人看97| 日韩一区二区三区高清免费看看 | 在线欧美日韩 | 99久久久国产精品 | 在线观看免费观看在线91 | 黄网av在线 | 88av色 | 草在线视频 | 精品在线不卡 | 黄色免费国产 | 九九九视频在线 | 亚洲电影黄色 | 色婷婷久久久综合中文字幕 | 99久久久久国产精品免费 | 色99中文字幕 | 免费观看全黄做爰大片国产 | 五月开心六月伊人色婷婷 | 久久久久久中文字幕 | 色美女在线 | 在线观看91精品视频 | 亚洲va欧美va人人爽春色影视 | av成人动漫| 国产免费区 | 国际精品久久 | 亚洲精品五月天 | 三上悠亚一区二区在线观看 | 成人在线电影观看 | 免费午夜网站 | 成年人看片网站 | 色网站在线看 | 亚洲精品中文字幕在线 | 午夜色大片在线观看 | 在线免费视频 你懂得 | 中文字幕亚洲欧美 | 日本xxxx裸体xxxx17 | 五月天丁香 | 香蕉久草在线 | 久久av在线播放 | 欧美日韩在线观看一区二区 | 精品免费久久久久久 | 四虎影视成人永久免费观看亚洲欧美 | 蜜桃视频精品 | 国产精品久久久免费 | 天天操天天弄 | 成人天堂网 | 国产精品初高中精品久久 | 欧美综合在线视频 | 国内揄拍国内精品 | 久久久久北条麻妃免费看 | 日韩r级在线 | 丁香5月婷婷 | 亚洲在线高清 | 亚洲一区二区精品视频 | 色激情在线 | www久久 | 日韩专区视频 | 久久久一本精品99久久精品 | 午夜av剧场 | 久久tv视频 | 国产一区福利在线 | 在线天堂8√| 亚洲欧美日韩精品久久久 | 99视频99| 免费看的黄色的网站 | 一级黄色大片在线观看 | 97韩国电影 | 成人性生活大片 | 国产午夜免费视频 | 天天草天天操 | 国产精品久久久久一区二区 | 免费观看一区二区三区视频 | 亚洲视频456 | 欧美伦理一区二区 | 久久婷婷开心 | 国产 日韩 在线 亚洲 字幕 中文 | 天堂久久电影网 | 国产精品免费小视频 | 婷婷视频在线播放 | 免费在线观看日韩欧美 | 欧美日韩在线免费视频 | 中文字幕成人在线观看 | 久久久久免费精品国产 | wwwww.国产| 日韩精品免费专区 | 日韩视频1 | 亚洲狠狠丁香婷婷综合久久久 | 在线观看免费一区 | 久久久久国产精品视频 | 国产丝袜在线 | 欧美一级片 | 亚洲精品国产片 | 国产麻豆电影在线观看 | 日韩三区在线观看 | 亚洲精品国产视频 | 亚洲欧美一区二区三区孕妇写真 | 国产精品嫩草69影院 | 色综合久久五月天 | 久久老司机精品视频 | 永久免费精品视频网站 | 久久久久久麻豆 | 久久久免费看片 | 午夜在线观看一区 | 国产理论片在线观看 | 国产福利91精品张津瑜 | 中文字幕丝袜一区二区 | 91精品国产综合久久福利不卡 | 欧美日韩有码 | 夜夜躁日日躁 | 久久亚洲免费视频 | 一级a性色生活片久久毛片波多野 | 久久免费99精品久久久久久 | 中文字幕永久在线 | 麻豆免费视频网站 | 久久午夜视频 | 91免费高清在线观看 | 中文字幕国内精品 | 亚洲女欲精品久久久久久久18 | 天天操天天射天天操 | 国产视频精品视频 | 麻豆传媒视频观看 | 精品国产精品国产偷麻豆 | 久久久精品国产免费观看一区二区 | 在线观看黄网 | 国内精品亚洲 | 久久人人艹 | 午夜精品久久久久久久久久 | 亚洲激情视频 | 国产尤物视频在线 | 国产精品成人自产拍在线观看 | 精品一区 在线 | 美女网站在线观看 | 欧美片一区二区三区 | 亚洲一区日韩 | 久久久精品综合 | 五月婷婷开心中文字幕 | 中文字幕av全部资源www中文字幕在线观看 | 午夜影院一级片 | 香蕉网址 | 精品电影一区二区 | 国内三级在线 | 久久国产一区二区三区 | 日韩在线观看精品 | 欧美激精品 | 亚洲精品tv久久久久久久久久 | 免费三级影片 | 中文字幕一区二区三区在线视频 | 狠狠狠狠狠狠狠干 | 国产区在线看 | 日韩中文在线视频 | 中文字幕传媒 | 久久精品欧美日韩精品 | 国产精品黑丝在线观看 | av软件在线观看 | 国产一区私人高清影院 | 国产手机在线观看视频 | 六月丁香色婷婷 | 五月天激情综合网 | 婷婷激情影院 | 久久久久久久久久久久久久av | av综合网址| 精品a在线 | 丁香六月中文字幕 | 亚洲精品在线视频网站 | 国产白浆在线观看 | 91网免费观看 | 天天干,天天操,天天射 | 91爱看片| 免费视频一级片 | 日本中文字幕在线 | 成人在线小视频 | 日韩中文字幕在线看 | 免费91麻豆精品国产自产在线观看 | 色综合天天做天天爱 | 亚洲精品无 | 国产精品18久久久久vr手机版特色 | 国产精品一区二区麻豆 | 亚洲综合精品视频 | 国产亚洲精品日韩在线tv黄 | 国产黄色a | 亚洲三级性片 | 麻豆影视在线播放 | 97精品国产97久久久久久久久久久久 | 免费日韩三级 | 亚洲欧美国产精品久久久久 | 九月婷婷色 | 久久成人国产精品免费软件 | 色资源中文字幕 | 在线观看mv的中文字幕网站 | 成人国产精品免费观看 | 精品久久久久久综合 | 91精品国产自产老师啪 | 在线观看一级视频 | 欧美激情视频一区二区三区免费 | 波多野结衣视频一区二区三区 | 美女视频网站久久 | 中日韩欧美精彩视频 | 久久久国产影院 | 国产亚洲成av片在线观看 | 黄色美女免费网站 | 日本三级香港三级人妇99 | 在线精品视频在线观看高清 | 国产不卡免费 | 久久久午夜精品福利内容 | 香蕉免费在线 | 国产精品久久久久久超碰 | 欧美精品三级在线观看 | 麻豆精品视频在线 | 午夜成人免费影院 | 亚洲日本欧美在线 | 国产麻豆视频免费观看 | 最新真实国产在线视频 | 日本公乱妇视频 | 高清日韩一区二区 | 日韩高清在线一区二区 | 99爱在线观看 | 欧美日本国产在线观看 | 久久伊人八月婷婷综合激情 | 99在线观看视频 | 国产视频精品在线 | 在线观看成人福利 | 狠狠操电影网 | 国产精品自产拍 | 国产精品成人免费精品自在线观看 | 亚洲精品99久久久久久 | 人人玩人人添人人 | 一二三久久久 | 天天天插| 天堂中文在线播放 | 国产女人40精品一区毛片视频 | 99re在线视频观看 | 日本不卡视频 | 日韩伦理片一区二区三区 | 黄色资源网站 | 亚洲激精日韩激精欧美精品 | 色在线国产 | 在线观看你懂的网址 | 欧洲色吧| 91成人精品视频 | 日本韩国精品在线 | 九九99| 视频在线99re| 久久久免费视频播放 | 99久久精品无免国产免费 | 毛片视频电影 | www久 | 久久久久国产精品免费 | 国产一级片网站 | 国产一级a毛片视频爆浆 | 月丁香婷婷 | av中文字幕免费在线观看 | 精品一区二区亚洲 |