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

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

?? pcipost.asm

?? Award Bios 6.00的源碼,供相關從業人員提供參考
?? ASM
?? 第 1 頁 / 共 5 頁
字號:
		ALIGN	4
		Public	Pci_IO_Mem_Init
Pci_IO_Mem_Init Proc	Near

		call	fProc_Pci_IO_Mem_Init
		ret

Pci_IO_Mem_Init Endp

;--------------------------------------------------------------------
;if any shadow segment is not used
;  ---> call hook in PCICHIP.ASM to disable it
;
;if any shadow segment is originally not available for PCI ROM
;  ---> if setup setting is set to ENABLE
;		do nothing
;	else
;		call hook in PCICHIP.ASM to disable it
;--------------------------------------------------------------------
		ALIGN	4
		public	Disable_UnUsed_Shadow
Disable_UnUsed_Shadow	Proc	Near

		POST_FUNC_CALL EDisable_UnUsed_Shadow
		ret

Disable_UnUsed_Shadow	Endp

;---------------------------------------------------------------------------
;
;		copy ROM image from SI:0 --> DI:0
;
;Input	:	SI = source segment
;		DI = Destination segment
;		AL <> 0 : copy size depends on ROM size in SI:2
;		   == 1 : copy size = input CX (no. of 4K)
;
;---------------------------------------------------------------------------
		ALIGN	4
		Public	Copy_ROM
Copy_ROM	Proc	Near

		POST_FUNC_CALL ECopy_Rom
		ret

Copy_ROM	Endp

;R82 ;[]============================================================[]
;R82 ;Input	:	CL = Request Memory spaces with size = CL * 4K
;R82 ;		     e.g. CL = 1 --> request 4K bytes
;R82 ;
;R82 ;Output	:	AL = 1 --> NC : AVAIL_LMEM_ADDR[bp] = availbale address
;R82 ;			   CF : No address available
;R82 ;[]============================================================[]
;R82 		ALIGN	4
;R82 		ASSUME	DS:NOTHING
;R82 		Public	Get_Available_LMEM
;R82 Get_Available_LMEM	Proc	Near
;R82
;R82 		POST_FUNC_CALL EGet_Available_LMEM
;R82 		ret
;R82
;R82 Get_Available_LMEM	Endp

;[]============================================================[]
;Enter Protected Mode with DS point to 00000000h
;[]============================================================[]
		ALIGN	4
		Public	Enter_Protect_Mode
Enter_Protect_Mode	Proc	Near

                mov     ax, cs
                mov     ds, ax
                assume  ds:dgroup

                lgdt    fword ptr GDTR1

                mov     eax, cr0
                or      al, 1
                mov     cr0, eax

                mov     ax, DATA1_INDEX
                mov     ds, ax			; ds = 00000000h

		ret

Enter_Protect_Mode	Endp

;[]============================================================[]
;[]============================================================[]
		ALIGN	4
		Public	Leave_Protect_Mode
Leave_Protect_Mode	Proc	Near

                mov     eax, cr0
                and     al, NOT 1
                mov     cr0, eax
		ret

Leave_Protect_Mode	Endp

;[]============================================================[]
;Input	:	CH - Slot identification Number
;Output :	AX - VENDER ID
;Destroy:	AX
;[]============================================================[]
		Public	fProc_Get_Vendor_ID
fProc_Get_Vendor_ID	Proc	Far
		call	Get_Vendor_ID
		retf
fProc_Get_Vendor_ID	Endp
		ALIGN	4
		ASSUME	DS:NOTHING
		public	Get_Vendor_ID
Get_Vendor_ID	Proc	Near

		push	cx
		xor	cl, cl			;Vendor ID
		call	Get_CfgSpace_Word

		cmp	ax, -1			;valid vendor ID
		stc
		je	Yes_Invalid
		clc
Yes_Invalid:
		pop	cx
		ret

Get_Vendor_ID	Endp

;[]============================================================[]
;Input	:	CH - Slot identification Number
;Output :	AX - DEVICE ID
;Destroy:	AX
;[]============================================================[]
		Public	fProc_Get_Device_ID
fProc_Get_Device_ID	Proc	Far
		call	Get_Device_ID
		retf
fProc_Get_Device_ID	Endp
		ALIGN	4
		ASSUME	DS:NOTHING
		Public	Get_Device_ID
Get_Device_ID	Proc	Near

		push	cx
		mov	cl, 02			;Device ID
		call	Get_CfgSpace_Word
		pop	cx
		ret

Get_Device_ID	Endp

;[]==============================================================[]
;PciRom_After_Init:
;	Force shadow RAM readonly after option ROM initialization
;Saves: all
;Input : none
;Output: None
;[]==============================================================[]
		ALIGN	4
		public	PciRom_After_Init
PciRom_After_Init	proc	near

		POST_FUNC_CALL EPciRom_After_Init
		ret

PciRom_After_Init	endp

;[]==============================================================[]
;PciRom_Before_Init:
;	special treatment before option initialization
;Saves: all
;Input : none
;Output: None
;[]==============================================================[]
		ALIGN	4
		public	PciRom_Before_Init
PciRom_Before_Init	proc	near

		call	fProc_PciRom_Before_Init

		ret

PciRom_Before_Init	endp

ifdef	SUPPORT_PCISLOT_IDE
		Public	Open_8673
Open_8673	proc	near

		mov	dx, 108h
		mov	al, 04Ah
		out	dx, al
		NEWIODELAY
		mov	al, 06Ch
		out	dx, al
		NEWIODELAY

		mov	al, cl
		out	dx, al
		NEWIODELAY
		inc	dl
		in	al, dx
		NEWIODELAY

		ret

Open_8673	endp

		Public	Set_8673
Set_8673	proc	near

		xchg	al, cl
		mov	dx, 108h
		out	dx, al
		NEWIODELAY
		inc	dl
		xchg	al, cl
		out	dx, al
		NEWIODELAY
		mov	dx, 108h
		mov	al, 034h
		out	dx, al
		NEWIODELAY

		ret

Set_8673	endp
endif;	SUPPORT_PCISLOT_IDE

endif	;PCI_BUS

FCODE		ENDS

;--------------------------------------------------------------
;--------------------------------------------------------------
;----- The following codes will be located at E000 ! ----------
;----- The following codes will be located at E000 ! ----------
;----- The following codes will be located at E000 ! ----------
;----- The following codes will be located at E000 ! ----------
;--------------------------------------------------------------
;--------------------------------------------------------------
EGROUP		GROUP	ECODE
ECODE		SEGMENT USE16 PARA PUBLIC 'ECODE'
		ASSUME	CS:EGROUP, DS:G_RAM, ES:EGROUP

ifdef	PCI_BUS

;--------------------------------------------------------
;Input	:	SI = C800 - DF80
;		CL =  number of 4K to mark
;--------------------------------------------------------
		ALIGN	4
		ASSUME	DS:NOTHING
		Public	Mark_Addr_Not_Available
Mark_Addr_Not_Available	Proc	Near

		mov	eax, 1
		shl	eax, cl
		dec	eax

		mov	cx, si
		mov	cl, ch
		sub	cl, 0C8h
		shl	eax, cl
		or	LMEM_RESOURCE[bp], eax

		ret

Mark_Addr_Not_Available	Endp

;---------------------------------------
;Input : SI - segment to check
;Output: zero set  - ROM existed
;	 not zero  - ROM no existed
;---------------------------------------
		Public	Check_ROM_Exist
Check_ROM_Exist	proc	near
		mov	ds, si
		mov	ax, ds:[0]
		iodelay
		cmp	ax, 0AA55h			;ROM signature?
		ret
Check_ROM_Exist	endp

		Public	Rom_In_Terms_of_4K
Rom_In_Terms_of_4K	Label	Near

		mov	cl, ds:[2]			;ROM size in 512K
		test	cl, 07h				;size < 4K
		jz	@F				;no, continue!
		add	cl, 08h				;  to 4K
	@@:
		shr	cl, 3				;in terms of 4K
		ret

;-------------------------------------------
;-------------------------------------------
		ALIGN	4
		Public	Invalidate_Shadow_Seg
Invalidate_Shadow_Seg	Proc	Near
;R82 - starts
ifdef	SHADOW_UNIT_64K

		mov	eax, LMEM_RESOURCE[bp]
;R90		xor	al, al			;Free C8 - CF
		test	eax, 00FFFF00h		;D0-DF contain legacy stuff?
		jz	No_Legacy_At_D
		or	eax, 00FFFF00h		;invalidate the whole D Segment

	No_Legacy_At_D:

		mov	LMEM_RESOURCE[bp], eax
		ret

else	;SHADOW_UNIT_64K
;R82 - ends
		F000_CALL Ct_Shadow_Unit
		mov	edi, 00Fh
		cmp	cx, 4000h
		mov	cl, 4
		je	@F
		mov	edi, 0FFh
		mov	cl, 8
	@@:

	;------------------------------------
	_A_A:
		test	LMEM_RESOURCE[bp], edi
		jz	_B_B
		or	LMEM_RESOURCE[bp], edi
	_B_B:

		shl	edi, cl
		test	edi, 0FF000000h
		jz	_A_A
	;------------------------------------

		ret
endif	;SHADOW_UNIT_64K				;R82

Invalidate_Shadow_Seg	Endp

;---------------------------------------
;---------------------------------------
E000_A20_On	Proc	Near
		push	ds
		F000_CALL A20_On
		pop	ds
		ret
E000_A20_On	Endp

;---------------------------------------
;---------------------------------------
		public	E000_A20_Off
E000_A20_Off	Proc	Near
		push	ds
		F000_CALL A20_Off
		pop	ds
		ret
E000_A20_Off	Endp

;[]================================================================[]
;Function : Far call to write PCI double word value
;Input  : CX - device + function number	, CURRENT_BUS_NO[bp] = bus No.
;Output : none
;[]================================================================[]
		Public	F000_Set_CfgSpace_Dword
F000_Set_CfgSpace_Dword	proc	near
		call	fProc_Set_CfgSpace_Dword
		ret
F000_Set_CfgSpace_Dword	endp

;[]================================================================[]
;Function : Far call to write PCI word value
;Input  : CX - device + function number	, CURRENT_BUS_NO[bp] = bus No.
;Output : none
;[]================================================================[]
		Public	F000_Set_CfgSpace_word
F000_Set_CfgSpace_word	proc	near
		call	fProc_Set_CfgSpace_word
		ret
F000_Set_CfgSpace_word	endp

;[]================================================================[]
;Function : Far call to write PCI byte value
;Input  : CX - device + function number	, CURRENT_BUS_NO[bp] = bus No.
;Output : none
;[]================================================================[]
		Public	F000_Set_CfgSpace_Byte
F000_Set_CfgSpace_Byte	proc	near
		call	fProc_Set_CfgSpace_Byte
		ret
F000_Set_CfgSpace_Byte	endp

;[]================================================================[]
;Function : Far call to read PCI double word value
;Input  : CX - device + function number	, CURRENT_BUS_NO[bp] = bus No.
;Output : none
;[]================================================================[]
		Public	F000_Get_CfgSpace_Dword
F000_Get_CfgSpace_Dword	proc	near
		call	fProc_Get_CfgSpace_Dword
		ret
F000_Get_CfgSpace_Dword	endp

;[]================================================================[]
;Function : Far call to read PCI word value
;Input  : CX - device + function number	, CURRENT_BUS_NO[bp] = bus No.
;Output : none
;[]================================================================[]
		Public	F000_Get_CfgSpace_word
F000_Get_CfgSpace_word	proc	near
		call	fProc_Get_CfgSpace_word
		ret
F000_Get_CfgSpace_word	endp

;[]================================================================[]
;Function : Far call to read PCI Byte value
;Input  : CX - device + function number	, CURRENT_BUS_NO[bp] = bus No.
;Output : none
;[]================================================================[]
		Public	F000_Get_CfgSpace_Byte
F000_Get_CfgSpace_Byte	proc	near
		call	fProc_Get_CfgSpace_Byte
		ret
F000_Get_CfgSpace_Byte	endp

;[]============================================================[]
;Input	:	CH - Slot identification Number
;Output :	AX - VENDER ID
;Destroy:	AX
;[]============================================================[]
		ALIGN	4
		ASSUME	DS:NOTHING
		Public	F000_Get_Vendor_ID
F000_Get_Vendor_ID	Proc	Near

		call	fProc_Get_Vendor_ID
		ret

F000_Get_Vendor_ID	Endp

;[]==============================================================[]
;EPciRom_After_Init:
;	Force shadow RAM readonly after option ROM initialization
;Saves: all
;Input : none
;Output: None
;[]==============================================================[]
		ALIGN	4

EPciRom_After_Init	proc	near

		PUSH_ALL

IF	RELEASE_E000_FOR_PCI
	;Enable E0000-E7FFF shadow RAM read/write because we have
	;to release this area for PCI ROM

		F000_CALL E000_64k_Shadow_RW
ENDIF	;RELEASE_E000_FOR_PCI

;R21B - starts
;R68A		push	dword ptr LMEM_BEFORE_ROM[bp]

;R21C		mov	eax, LMEM_BEFORE_ROM[bp]
;R21C		mov	edx, LMEM_RESOURCE[bp]
;R21C		not	eax
;R21C		and	edx, eax
;R21C		mov	LMEM_BEFORE_ROM[bp], edx
;R21C - starts
		mov	eax, LMEM_BEFORE_ROM[bp]
		or	eax, LMEM_RESOURCE[bp]
		mov	LMEM_BEFORE_ROM[bp], eax
;R21C - ends
;R21B - ends

	;init NON-Compliance ROMs on all Buses

		call	Non_PCI_Compliance_ROM

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久黄色级2电影| 777亚洲妇女| 日韩午夜av一区| 国产精品嫩草99a| 美国毛片一区二区三区| 91成人国产精品| 国产情人综合久久777777| 蜜臀99久久精品久久久久久软件| 91视频91自| 中文字幕免费在线观看视频一区| 美女性感视频久久| 欧美日韩精品系列| 一区二区三区四区蜜桃| 成人午夜激情影院| 精品捆绑美女sm三区| 丝袜亚洲另类丝袜在线| 欧美主播一区二区三区| 国产精品欧美经典| 成人av在线一区二区三区| 国产日韩高清在线| 久久66热偷产精品| 日韩欧美中文字幕精品| 日本特黄久久久高潮| 欧美日韩成人高清| 日韩电影免费在线| 3atv在线一区二区三区| 五月激情综合色| 欧美日韩性生活| 亚洲1区2区3区视频| 在线观看网站黄不卡| 亚洲综合免费观看高清在线观看| 97久久久精品综合88久久| 亚洲欧美区自拍先锋| 一本一本大道香蕉久在线精品 | 91精品国产综合久久香蕉的特点| 亚洲精选视频免费看| 色妞www精品视频| 一区二区三区四区不卡在线| 在线国产电影不卡| 亚洲成人福利片| 日韩一区二区三区av| 精品一区二区日韩| 久久久www成人免费无遮挡大片| 国产精品一级片在线观看| 国产午夜亚洲精品理论片色戒| 成人爽a毛片一区二区免费| 亚洲国产精品t66y| 色综合天天综合色综合av| 亚洲码国产岛国毛片在线| 欧美午夜精品一区二区蜜桃| 天天色 色综合| 欧美成人三级在线| 成人黄色软件下载| 一区二区激情视频| 日韩视频国产视频| 国产91在线观看| 亚洲国产另类av| 精品美女在线观看| 色综合天天综合网天天狠天天| 日韩av一区二区在线影视| 国产亚洲精久久久久久| 欧美中文字幕久久 | 亚洲午夜私人影院| 精品少妇一区二区三区在线播放| 高清视频一区二区| 亚洲综合色婷婷| 国产午夜精品久久久久久免费视| 色呦呦日韩精品| 久久99久久久久| 亚洲精品日韩综合观看成人91| 91精品国产欧美一区二区18| av欧美精品.com| 日本欧美一区二区| 国产精品伦一区| 日韩午夜在线播放| 日本高清不卡一区| 国产黑丝在线一区二区三区| 亚洲国产成人91porn| 亚洲国产电影在线观看| 91精品国产一区二区三区蜜臀| jiyouzz国产精品久久| 蜜桃久久久久久| 亚洲一区二区三区四区五区中文 | 精品日韩在线观看| 色呦呦国产精品| 国产精品自拍三区| 日韩精品一级中文字幕精品视频免费观看 | 人人爽香蕉精品| 亚洲精品乱码久久久久久黑人| 国产视频911| 精品免费国产二区三区| 欧美男人的天堂一二区| a4yy欧美一区二区三区| 国产精品一区二区无线| 蜜臀久久久99精品久久久久久| 亚洲视频一区二区免费在线观看| 国产欧美精品在线观看| 精品精品国产高清一毛片一天堂| 欧美日韩一二三| 在线观看欧美黄色| 色综合久久天天| www.66久久| caoporn国产精品| 粉嫩aⅴ一区二区三区四区五区| 久久99最新地址| 蜜臀av亚洲一区中文字幕| 日韩不卡手机在线v区| 亚洲高清一区二区三区| 亚洲高清视频的网址| 亚洲国产一区在线观看| 亚洲在线视频免费观看| 亚洲综合在线视频| 亚洲国产精品久久不卡毛片| 亚洲国产aⅴ天堂久久| 亚洲福利电影网| 五月天激情小说综合| 视频一区在线播放| 日韩精品三区四区| 麻豆国产精品一区二区三区| 美女一区二区视频| 国产一区在线观看视频| 国产在线播放一区二区三区| 国产美女av一区二区三区| 国产成人免费在线观看| av爱爱亚洲一区| 欧美午夜片在线观看| 色综合中文字幕国产 | 国产成人丝袜美腿| 成人丝袜18视频在线观看| 色综合一区二区| 制服.丝袜.亚洲.另类.中文 | 国产一区二区91| 国产成人aaa| 色婷婷亚洲一区二区三区| 欧美系列一区二区| 欧美一区二区三区免费| 久久久亚洲高清| 国产精品电影一区二区| 亚洲bdsm女犯bdsm网站| 国产精品一二二区| 99久久国产综合精品女不卡| 欧美日韩一区不卡| 久久日韩精品一区二区五区| 18欧美乱大交hd1984| 亚洲123区在线观看| 国产麻豆欧美日韩一区| 91在线云播放| 欧美一级生活片| 国产精品美女久久福利网站| 亚洲已满18点击进入久久| 狠狠色综合日日| 一本久久a久久精品亚洲 | 欧美二区在线观看| 国产亚洲成aⅴ人片在线观看| 亚洲欧美偷拍三级| 老色鬼精品视频在线观看播放| 97se亚洲国产综合自在线| 欧美一卡2卡三卡4卡5免费| 欧美国产日韩精品免费观看| 亚洲1区2区3区4区| 国产91精品久久久久久久网曝门| 欧美中文字幕久久| 久久久不卡网国产精品二区 | 一区二区三区在线免费播放| 国产在线精品一区二区不卡了| 欧美在线free| 中文字幕av免费专区久久| 日本在线观看不卡视频| 色综合咪咪久久| 国产精品午夜在线| 麻豆精品国产传媒mv男同| 色婷婷国产精品| 亚洲永久免费视频| 精品免费日韩av| 粉嫩av一区二区三区在线播放 | 欧美不卡在线视频| 一区二区三区视频在线看| 国产又黄又大久久| 欧美一区二区女人| 亚洲国产精品嫩草影院| 99精品偷自拍| 久久精品视频免费| 久久精品久久99精品久久| 欧美日韩国产综合视频在线观看 | 国产精品夫妻自拍| 国产iv一区二区三区| 欧美成人a在线| 日韩国产在线一| 欧美制服丝袜第一页| 亚洲激情五月婷婷| 不卡免费追剧大全电视剧网站| 国产欧美日韩在线| 国产高清久久久| 国产精品素人一区二区| 成人免费看片app下载| 国产精品午夜久久| 不卡视频免费播放| 亚洲欧美激情在线| 色婷婷国产精品综合在线观看| 亚洲精品一卡二卡|