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

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

?? dkio.asm

?? Dos6.0
?? ASM
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
	TITLE	DKIO - Disk I/O Drivers
	page	56,132
;***
; DKIO - Disk I/O Drivers
;
;	Copyright <C> 1986, Microsoft Corporation
;
;Purpose:
;	This module came from iodisk.asm.  Iodisk.asm has been split into
;	three files, -- diskio.asm, dkopen.asm and fileio.asm.	This file
;	contains all dispatching routines (drivers) for a disk or a device
;	I/O, except disk open.	Disk open is in dkopen.asm.  Fileio.asm
;	contains the file I/O interfaces, for example, LOCK, UNlOCK, etc.
;
;	The following is the disk dispatch table.  Each entry is the addr.
;	of the actual working routine.	The routine name is composed by the
;	prefix "DISK_" and the function name, e.g., DISK_EOF is the routine
;	name for EOF function.
;
;	B$D_DISK:
;		 ________
;		|	 |
;		| EOF	 |
;		|--------|
;		| LOC	 |
;		|--------|
;		| LOF	 |
;		|--------|
;		| CLOSE  | = $DISK_CLOSE in gwini.asm
;		|--------|
;		| WIDTH  |
;		|--------|
;		| RANDIO |
;		|--------|
;		| OPEN	 | = B$DISKOPEN in dkopen.asm
;		|--------|
;		| BAKC	 |
;		|--------|
;		| SINP	 |
;		|--------|
;		| SOUT	 |
;		|--------|
;		| GPOS	 |
;		|--------|
;		| GWID	 |
;		|--------|
;		| DWID   |		
;		|--------|
;		| BLKIN  |
;		|--------|
;		| BLKOUT |
;		|________|
;
;******************************************************************************
	INCLUDE switch.inc
	INCLUDE rmacros.inc	;Runtime Macro Defintions

;Code segmetns
	useSeg	DK_TEXT
	useSeg	ER_TEXT
	useSeg	NH_TEXT
	useSeg	RT_TEXT
;Data segments
	useSeg	_DATA
	useSeg	_BSS

	INCLUDE seg.inc
	INCLUDE baslibma.inc
	INCLUDE devdef.inc
	INCLUDE files.inc
	INCLUDE ascii.inc
	INCLUDE idmac.inc	
	INCLUDE rtps.inc	; constants shared with QBI

	SUBTTL	data definitions
	page
sBegin	_DATA
	externW b$CLOS_FDB	
	externW B$ENTRY_BUFCNT	
sEnd;_DATA

sBegin	_BSS

externD b$RECPTR		; pointer to random record

	externW b$PTRFIL	
sEnd;_BSS

	SUBTTL	code externals
	page
sBegin	DK_TEXT
	externNP	B$GETEXTERR ;defined in GWIO.ASM
	externNP	B$DISKOPEN
sEnd;DK_TEXT

sBegin	RT_TEXT
	externNP	B$TEST_CLOSE	; close file and deallocate FDB
	externNP	B$Mul32x16	; 32 by 16 bit multiply
sEnd;RT_TEXT

sBegin	NH_TEXT
	externNP	B$LHDALC_CPCT	
	externNP	B$LHFDBLOC	
sEnd;NH_TEXT

sBegin	ER_TEXT
	externNP	B$ERR_BFM
	externNP	B$ERR_BRN
	externNP	B$ERR_DFL
	externNP	B$ERR_FOV
	externNP	B$ERR_IFN
	externNP	B$ERR_IOE
	externNP	B$ERR_ACD
	externNP	B$ERR_FWP
	externNP	B$ERR_FC	
sEnd;ER_TEXT


	assumes CS,DK_TEXT
sBegin	DK_TEXT
	SUBTTL	disk dispatch table
	page

DSPMAC	MACRO	func
	DW	DISK_&func
	ENDM

labelNP <PUBLIC,B$D_DISK>
	DSPNAM

	SUBTTL	disk dispatch routines
	SUBTTL	backup one character
	page
;***
;B$DISK_BAKC -- bakcup one character
;B$IDISK_BAKC -- Far (QB3) interface to backup one character
;
;Purpose:
;	Backup one character for a disk file.  Only valid for input files.
;Entry:
;	(ES:)[SI]   = *FDB
;Exit:
;	file position is updated.
;Uses:
;	none
;Preserves: (optional)
;	all, except flags
;Exceptions:
;	none
;*******************************************************************************

labelNP  DISK_BAKC			

cProc	B$DISK_BAKC,<NEAR,PUBLIC>	

cBegin
	DEC	FileDB.FD_BUFCNT	; one less read/unwritten character
cEnd					;exit

cProc	B$IDISK_BAKC,<FAR,PUBLIC>,<SI> 

cBegin				
	FDB_PTR ES,SI,b$PTRFIL	;get FDB pointer
	DbAssertRel	SI,NE,0,DK_TEXT,<Invalid FDB ptr in B$IDISK_BAKC> 
	cCall	B$DISK_BAKC	;Back up a char
cEnd				
	SUBTTL	disk close
	page
;***
;DISK_CLOSE -- close disk file.  Moved here with [24].
;
;Purpose:
;	close disk file.
;*******************************************************************************
DISK_CLOSE:
	PUSH	BX		; save registers
	PUSH	CX
	PUSH	DX
	MOV	b$CLOS_FDB,SI	; mark that we are closing a file
				; in case write prot error
	MOV	BX,FileDB.FD_HANDLE ; argument is file descriptor
	TEST	FileDB.FD_FLAGS,FL_CHAR ; is this a character dev?
	JNZ	CLOSE1		; brif so -- do not do flushes
	TEST	FileDB.FD_MODE,MD_SQO OR MD_APP ; Seq. or append output ?
	JZ	CLOSE1		; no, nothing to do
	CALL	B$FLUSH	; flush buffer if it contains data,
				; and clear FD_BUFCNT
	CALL	B$FILESIZE	; seek to end of file before closing


CLOSE1:
	CALL	B$CLOSE	; close the file and
	MOV	b$CLOS_FDB,0	; clear closing file flag
	POP	DX		; restore registers
	POP	CX
	POP	BX
	JMP	B$LHDALC_CPCT	; deallocate FDB, compact local heap,
				; and return

	SUBTTL	file EOF
	page
;***
;DISK_EOF -- detect if EOF
;
;Purpose:
;	Return true (-1) if a end-of-file is encountered, otherwise returns
;	false (0).  This is only significant for a file opened for sequential
;	input or for a communications file.
;
;	A true (-1) for a communication file means the buffer is empty.
;Entry:
;	(ES:)[SI]   = *FDB
;Exit:
;	[AX]	= 0 or -1
;Uses:
;	none
;Preserves: (optional)
;	all, except flags
;Exceptions:
;	B$ERR_BFM -- bad file mode
;*******************************************************************************

cProc	DISK_EOF,<NEAR>

cBegin
	TEST	FileDB.FD_MODE,MD_SQO+MD_APP	; output or append?
	JNZ	ERCBFM		; brif so -- bad file mode
	MOV	AX,-1		;set to true (AX=-1)

	TEST	FileDB.FD_FLAGS,FL_NEOF ;bit set if not EOF
	JZ	DskEofExit	;Brif EOF

	TEST	FileDB.FD_MODE,MD_RND+MD_BIN ; random or binary?
	JNZ	Not_Eof		; Brif so -- just return flag value

	PUSH	AX		;save AX
	cCall	B$DISK_SINP	;]Get one char, on return [AL]=char
	POP	AX		;get back AX
	JC	DskEofExit	;Brif EOF
	cCall	DISK_BAKC	;backup over it (all register preserved)

Not_Eof:			
	INC	AX		;set to false
DskEofExit:			;result in AX
cEnd				;exit

ERCBFM: JMP	B$ERR_BFM

	SUBTTL	disk LOC
	page
;***
;DISK_LOC -- file LOC
;
;Purpose:
;	Returns current file position.
;
;	For a disk file, LOC returns the last record number been referred.
;	A record for a sequential file has 128 bytes.  For a character device,
;
;	NOTE:  This routine takes the advantage of 128-byte record length of
;		a sequential file.  Should this be changed, the part, Div128,
;		has to be changed to "call $div32".
;Entry:
;	(ES:)[SI]   = *FDB
;Exit:
;	[DX|AX] = current location in the file
;Uses:
;	Per Convention
;Exceptions:
;	B$ERR_BRN -- bad record number
;*******************************************************************************

cProc	DISK_LOC,<NEAR>

cBegin
	CALL	GetPosition		; get byte position for seq files
					; and record number for random.
	JNC	LOCExit			; brif char device or random/binary

; Commented the subtraction out.  With the ability to seek before the
; initial position, LOC could return a negative result.  Also commented
; out code in DISK_OPEN.
;	CMP	FileDB.FD_MODE,MD_APP	; is it append ?
;	JNE	NotApp			; Brif not -- don't add initial pos.
;	SUB	AX,FileDB.FD_LOGREC	; subtract lower and upper words of
;	SBB	DX,FileDB.FD_HIGHLR	; initial position
; NotApp:					
				; divide result by 128
	MOV	CX,7			;div 128 = shr 7
	XOR	BX,BX			;BX is for detect whether there is
					; the remainder.  CLEARS CARRY
RCRLoop:				;divide loop
	RCR	DX,1			;rotate upper word one bit
	RCR	AX,1			;rotate lower word one bit
	RCR	BX,1			;BX is for detect whether there is
					; the remainder
					;NOTE: carry is reset
	LOOP	RCRLoop 		;loop until done

	; The below code needed for compatability reasons. What a waste!
	CMP	FileDB.FD_MODE,MD_SQI	;is input ? (input is pre-read)
	JNZ	LOCExit 		;Brif not

	OR	BX,BX			;has partial block ?
	JZ	TestZero		;Brif not

	ADD	AX,1			;include partial block
	ADC	DX,0
	JMP	SHORT LOCExit		;exit to caller
TestZero:				;test if LOC is 0
	OR	BX,DX			;give one if result is zero
	OR	BX,AX
	JNZ	LOCExit 		;Brif already nonzero
	INC	AX			;set LOC result to 1

LOCExit:
cEnd					;exit to caller

	SUBTTL	disk seek supporting routines
	page

;*** 
; GetPosition -- get current byte-position/record number in file.
;
;Purpose:
;	Return current byte position for sequential files, or current
;	record number for random/binary files.
;
;Entry:
;	(ES:)[SI]   = *FDB
;Exit:
;	[DX|AX] = current location in the file
;	Carry set if Sequential file and not FL_CHAR
;	Carry clear otherwise
;Uses:
;	Per Convention
;
;Preserves:
;
;Exceptions:
;	B$ERR_BRN -- bad record number
;
;******************************************************************************
cProc	GetPosition,<NEAR>
cBegin

	TEST	FileDB.FD_MODE,MD_RND+MD_BIN ; random or binary?
	JNZ	RndPosition		; Brif so

	MOV	AX,1			; assume LOC = 1
	XOR	DX,DX
	TEST	FileDB.FD_FLAGS,FL_CHAR ; is character device ?
	JNZ	NotSeqFile		; Brif yes -- Exit with LOC = 1

	CALL	GetFilePos 		; [DX|AX] = position

	TEST	FileDB.FD_MODE,MD_SQI	; mode = input?
	JZ	OutputMode		; brif not -- just add count
	SUB	AX,FileDB.FD_INBUFCNT	; subtract # chars placed in
	SBB	DX,0			; buffer by last disk read

OutputMode:				
	ADD	AX,FileDB.FD_BUFCNT	; add # read/unwritten chars in
	ADC	DX,0			; buffer to get current position
	STC				; set carry for test in DISK_LOC
	JNS	GetPosExit		; exit
	JMP	B$ERR_BRN		; brif overflow -- bad record number

RndPosition:
	MOV	AX,FileDB.FD_LOGREC	; get lower word
	MOV	DX,FileDB.FD_HIGHLR	; get upper word
	TEST	FileDB.FD_FLAGS,FL_CHAR ; is character device ?
	JZ	NotSeqFile		; Brif not -- clear carry and exit
	XCHG	AX,CX			; CX = FD_LOGREC
	MOV	AX,FileDB.FD_VRECL	; record length
	CALL	B$MUL32			; [DX|CX]=[DX|CX]*[AX]
	XCHG	AX,CX			; [DX|AX]=result
NotSeqFile:
	CLC				; clear carry for test in DISK_LOC

GetPosExit:				;exit with flags set
cEnd


	SUBTTL	disk SEEK
	page
;*** 
; B$FSEK -- get current byte offset into file.  Added with revision [19].
;
;Purpose:
;	Return the current record number (1-relative).  Sequential files
;	and BINARY files are considered to have a record length of 1.
;Entry:
;	None
;Exit:
;	[DX|AX] = 1-relative current record number or byte ofset for the
;		  next operation.
;		0 for non-disk devices.
;Uses:
;	Per convention
;Preserves:
;
;Exceptions:
;
;******************************************************************************
cProc	B$FSEK,<FAR,PUBLIC>,<SI>
parmW	FileNum		; file number
cBegin
	MOV	BX,FileNum	; BX = file number
	XOR	AX,AX		; assume zero value
	XOR	DX,DX
	CALL	SeekCommon	;(ES:)[SI] = FDB, do error checking
	JNZ	FSeekExit	; brif not disk -- exit with value = 0.
	CALL	GetPosition	; [DX|AX] = current record number
				; or byte offset for sequential files
	ADD	AX,1		; make 1-relative
	ADC	DX,0
	JS	ERCBRN2		; brif overflow -- bad record number
FSeekExit:
cEnd

;*** 
; B$SSEK -- Seek to a record in file.  Added with revision [19].
;
;Purpose:
;
;Entry:
;	None
;Exit:
;	FL_NEOF bit of FD_FLAGS set appropriately
;Uses:
;	Per convention
;Preserves:
;
;Exceptions:
;	B$ERR_BRN -- Bad record number
;
;******************************************************************************
cProc	B$SSEK,<FAR,PUBLIC>,<SI>
parmW	FileNum		; file number
parmD	RecNum		; record number
cBegin
	MOV	BX,FileNum	; BX = file number
	CALL	SeekCommon	;(ES:)[SI] = FDB, do error checking
	JNZ	SSeekExit	; brif not disk -- exit without doing anything
	TEST	FileDB.FD_FLAGS,FL_CHAR ; char device?
	JNZ	SSeekExit	; brif so -- exit without doing anything
	TEST	FileDB.FD_MODE,MD_SQO+MD_APP ; output or append?
	JZ	NoFlush		; brif not -- don't flush buffer
	CALL	B$FLUSH	; flush buffer if it contains data

NoFlush:			
	TEST	FileDB.FD_MODE,MD_SQI ; input?
	JZ	DoSeek		; brif not -- don't touch count
	MOV	WORD PTR FileDB.FD_INBUFCNT,0 ; clear input buffer count
DoSeek:				
	MOV	CX,off_RecNum	; low word of record number/byte offset
	MOV	DX,seg_RecNum	; high word of record number/byte offset
	MOV	AL,RELFLG	; tell Locate record number is specified
	CALL	Locate		; translate record # to 0-relative byte offset
				; in [DX|CX]
	CALL	B$SeekFromStart ; seek from start of file, and check for error
	OR	FileDB.FD_FLAGS,FL_NEOF ; assume no EOF after seek
SSeekExit:
cEnd


ERCBRN2: JMP	B$ERR_BRN	; bad record number


;*** 
; SeekCommon -- Common routine used by B$SSEK and B$FSEK to save code.
;
;Purpose:
;	Added with [19]
;
;Entry:
;	BX = file number
;Exit:
;	(ES:)[SI]   = *FDB
;	ZF if disk file -- NZ if non-disk device
;Uses:
;	None
;Preserves:
;	All
;Exceptions:
;	B$ERR_IFN -- bad file number
;
;******************************************************************************
cProc	SeekCommon,<NEAR>
cBegin
	CALL	B$LHFDBLOC	; SI = *FDB
	JZ	ERCIFN		; brif FDB not found -- bad file number
	FDB_PTR ES,SI,SI	;get FDB ptr from handle in SI
	CMP	FileDB.FD_DEVICE,0 ; non-disk device?
cEnd

ERCIFN:	JMP	B$ERR_IFN	




	page

;***
;B$SeekFromStart -- seek from start of file to specified byte position
;
;Purpose:
;	Set file position by seeking from the begining of the file with the
;	offset given in [DX|CX]
;Entry:
;	(ES:)[SI]   = *FDB
;	[DX|CX] = offset
;Exit:
;	file position is set.
;	[DX|AX] = file position
;Uses:
;	Per convention
;Preserves:
;	BX
;Exceptions:
;	B$ERR_BRN -- bad record number
;*******************************************************************************
cProc	B$SeekFromStart,<PUBLIC,NEAR>
cBegin
	XOR	AX,AX			;seek from the begining of the file
	JMP	SHORT DosSeek		;do seek, and check for error
cEnd	nogen				;exit via DosSeek

	page
;***
;B$FILESIZE -- get file size
;
;Purpose:
;	Get file size by seeking from the end of the file with offset 0.
;Entry:
;	(ES:)[SI]   = *FDB
;Exit:
;	file position is set to EOF.
;	[DX|AX] = file size
;Uses:
;	Per convention
;Preserves:
;	BX
;Exceptions:
;	B$ERR_BRN -- bad record number
;*******************************************************************************

cProc	B$FILESIZE,<PUBLIC,NEAR>

cBegin
	MOV	AX,2		;seek to end + (zero) offset
	JMP	SHORT SeekZeroOffset 
cEnd	nogen			;exit via SeekZeroOffset

	page
;***
;GetFilePos -- get file position
;
;Purpose:
;	Get file position by seeking from the current position with offset 0.
;Entry:
;	(ES:)[SI]   = *FDB
;Exit:
;	[DX|AX] = current file position
;Uses:
;	Per convention

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男人的j进女人的j一区| 色婷婷av一区二区三区gif| 日韩成人一级大片| 亚洲图片有声小说| 一区二区三区中文在线观看| 国产精品久久久久久久久搜平片 | 99re8在线精品视频免费播放| 国产精品一区二区不卡| 国产精品 欧美精品| 国产毛片一区二区| 国产白丝网站精品污在线入口| 国产精品影音先锋| 高清不卡一区二区| av网站一区二区三区| 91欧美一区二区| 欧美无人高清视频在线观看| 欧美中文字幕亚洲一区二区va在线| 日本道色综合久久| 欧美日韩国产成人在线91| 欧美久久久久久久久久 | 夜夜嗨av一区二区三区四季av| 亚洲精品视频一区| 亚洲va韩国va欧美va精品 | 欧美日韩国产美| 91精品国产综合久久婷婷香蕉 | 欧美激情一区二区三区四区| 国产精品久久久久一区二区三区共| 国产精品国产自产拍高清av| 亚洲精品一卡二卡| 午夜av电影一区| 国内成+人亚洲+欧美+综合在线| 日韩一区二区精品在线观看| 日韩欧美一级二级三级| 国产欧美视频在线观看| 亚洲视频综合在线| 日韩精品电影一区亚洲| 国产一区二区三区最好精华液| 成a人片亚洲日本久久| 日本高清不卡视频| 欧美一级高清大全免费观看| 国产婷婷色一区二区三区四区 | 日本不卡的三区四区五区| 奇米888四色在线精品| 国产98色在线|日韩| 日本国产一区二区| 精品精品欲导航| 亚洲欧洲99久久| 日本午夜精品视频在线观看 | 欧美男男青年gay1069videost | 久久精品国产99久久6| 成人黄色大片在线观看| 在线不卡a资源高清| 国产精品素人一区二区| 视频一区视频二区在线观看| 成人在线综合网| 欧美日韩精品三区| 欧美国产97人人爽人人喊| 亚洲韩国精品一区| 高清久久久久久| 欧美一区二区视频观看视频| 亚洲欧洲成人精品av97| 久久99精品国产91久久来源| 在线免费一区三区| 最新中文字幕一区二区三区| 强制捆绑调教一区二区| 91色视频在线| 国产三级三级三级精品8ⅰ区| 亚洲va国产天堂va久久en| 波多野结衣欧美| 亚洲精品一区二区三区精华液| 亚洲第一会所有码转帖| 成人av在线影院| 久久网这里都是精品| 五月婷婷激情综合网| 91同城在线观看| 国产情人综合久久777777| 日本午夜精品视频在线观看| 日本丰满少妇一区二区三区| 国产精品麻豆视频| 国产一区欧美日韩| 91精品国产综合久久久久久漫画| 亚洲精品国产高清久久伦理二区| 国产高清久久久| 精品日产卡一卡二卡麻豆| 性感美女久久精品| 在线免费亚洲电影| 亚洲人成网站色在线观看| 国产不卡免费视频| 久久久欧美精品sm网站| 老司机一区二区| 日韩一区二区精品葵司在线| 天天av天天翘天天综合网 | 粉嫩嫩av羞羞动漫久久久| 欧美大黄免费观看| 蜜乳av一区二区| 欧美一区二区三区免费视频| 亚洲一区二区三区自拍| 91精品福利视频| 一区二区三区在线不卡| 91毛片在线观看| 亚洲精品国产成人久久av盗摄 | 综合欧美亚洲日本| 成人精品免费看| 国产精品免费免费| 成人激情开心网| 《视频一区视频二区| 99视频一区二区| 亚洲免费在线视频| 在线视频一区二区免费| 亚洲精品高清在线| 欧美在线视频全部完| 亚洲成人精品影院| 欧美精品丝袜久久久中文字幕| 天天亚洲美女在线视频| 制服丝袜亚洲网站| 国内精品视频一区二区三区八戒| 精品久久久久久亚洲综合网| 国产精选一区二区三区| 中文字幕二三区不卡| 色综合久久久久综合99| 亚洲国产日韩a在线播放性色| 欧美日韩国产一二三| 日本不卡视频一二三区| 精品国产91久久久久久久妲己| 国产成人精品综合在线观看 | 久久九九久久九九| 成人av电影在线| 亚洲在线视频免费观看| 欧美日韩视频不卡| 久久aⅴ国产欧美74aaa| 国产欧美日韩视频在线观看| 一本一道波多野结衣一区二区| 亚洲二区在线观看| 精品剧情在线观看| 成人国产精品视频| 一区二区三区成人| 日韩美女视频在线| 粉嫩嫩av羞羞动漫久久久| 亚洲精品国产成人久久av盗摄| 欧美一级黄色大片| 成人永久aaa| 亚洲成人1区2区| 久久久久久久久久美女| 97aⅴ精品视频一二三区| 日日夜夜一区二区| 国产亚洲欧洲997久久综合| 91日韩在线专区| 蜜臀久久99精品久久久画质超高清 | 国产精品免费视频观看| 欧美日韩精品综合在线| 国产一区视频导航| 亚洲国产欧美在线人成| 2021国产精品久久精品| 色88888久久久久久影院按摩| 麻豆成人91精品二区三区| 国产精品福利一区二区三区| 欧美一区二区三区性视频| 成人激情免费网站| 久久精品国产亚洲aⅴ| 懂色av一区二区三区蜜臀| 亚洲国产日韩精品| 国产精品青草久久| 欧美一区二区日韩一区二区| av成人动漫在线观看| 国模大尺度一区二区三区| 亚洲影视在线观看| 欧美激情一区二区三区四区| 欧美一区二区三级| 欧美在线999| 成人av电影在线播放| 久久99精品国产麻豆婷婷洗澡| 一区二区三区丝袜| 欧美国产日韩精品免费观看| 欧美一级生活片| 欧洲日韩一区二区三区| 成人性生交大片免费看在线播放 | 午夜精品一区二区三区三上悠亚| 欧美激情在线一区二区三区| 日韩一级精品视频在线观看| 色吊一区二区三区| 成人免费视频一区| 国产麻豆精品在线观看| 日本中文字幕一区二区有限公司| 亚洲日本va午夜在线影院| 国产欧美一区二区三区在线老狼 | 国产精品丝袜91| 精品国产人成亚洲区| 91精品国产麻豆国产自产在线| 在线精品视频免费播放| av一区二区不卡| 国产99一区视频免费| 国产在线一区观看| 精品一区二区三区在线播放| 日韩国产在线一| 亚洲第一福利一区| 亚洲精选视频在线| 一区二区三区四区亚洲| 综合欧美亚洲日本| 国产精品理伦片| 国产日韩欧美精品综合|