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

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

?? pcipost.asm

?? Award Bios 6.00的源碼,供相關從業人員提供參考
?? ASM
?? 第 1 頁 / 共 5 頁
字號:
		or	dh,40h
Not16KUnit:
endif	;SHADOW_UNIT_64K			;R82
;R80		and	bx,dx
		and	ebx, edx		;R80 mask bits for size check
ChkRomSize:	  				;
		add	ebx,ecx
		cmp	ebx,edi			;size over one shadow
		jb	short ChkRomSize	;unit ?

		sub	ebx,edi			;remainder size to declare
		jz	short PatchRomExit	;ROM size is aligned

		extrn	Build_MbRomDynamicNode:near
		call	Build_MbRomDynamicNode 	;build ROM node

PatchRomExit:

endif;	PNP_BIOS
		ret
PatchRomAlignMent	endp

ifdef	COMBINE_ISA_ROM
;-----------------------------------------------------------
;Function : Initial option ISA ROM added by switch /other
;
;Input    : none
;
;Output   : LMEM_RESOURCE[bp] modified by option ROM size
;-----------------------------------------------------------
Init_Other_ROMs	proc	near

		pushad

		mov	edi, 800h			; 1800:0

	Scan_Other_Combine_Isa_ROM:

		push	edi

		call	Find_Valid_ROM_Image 	 	;any of them valid?
		jc	No_OtherRom			;no valid !

	;if it is a PCI ROM, skip it

		mov	di, word ptr ds:[18h]
		cmp	dword ptr ds:[di], 'RICP'
		je	No_OtherRom

		mov	byte ptr LMEM_FOR_ROM_FLG[bp], 1;shadow RAM for ROM

		mov	cl, ds:[2]			;get ROM size
		xor	ch, ch
		shr	cx, 3				;by 4k unit
		adc	cx, 0
		push	cx				;save rom size

		push	dword ptr LMEM_RESOURCE[bp]
		call	EGet_Available_LMEM     	;ask for LOW MEM
		pop	dword ptr LMEM_RESOURCE[bp]
		pop	cx				;restore rom size
		jc	No_OtherRom			;no shadow available

		mov	edi, AVAIL_LMEM_ADDR[bp]	;EDI: available shadow RAM
		shr	edi, 4				;DI: destination SEG

		mov	al, 1				;copy according to CX
		call	ECopy_ROM			;copy ROM to shadow

		call 	Init_ROM			;invoke NCR810 ROM

	;Recalculate available low memory size due to ROM size changed

		mov	eax, AVAIL_LMEM_ADDR[bp]
		mov	TARGET_AVAIL_LMEM[bp], eax
		shr	eax, 4
		call	Recalibrate_LMEM_For_ROM

ifdef	PNP_BIOS
	;build memory used by Motherboard to prevent SCT test failure
		mov	edi, AVAIL_LMEM_ADDR[bp]	;EDI: available shadow RAM
		call	Build_OtherRomNode
endif;	PNP_BIOS

No_OtherRom:

		pop	edi
		add	di, 0080h
		cmp	di, 2000h
		jb	Scan_Other_Combine_Isa_ROM

		popad
		ret

Init_Other_ROMs	endp
endif;	COMBINE_ISA_ROM

;[]==============================================================[]
;Pci_CbRom_decompress:
;
;Description:
;
;
;Input : compress_bp_start = option ROM start index (depand on CBROM.EXE utility)
;	 compress_bp_end = option ROM end index (depand on CBROM.EXE utility)
;        decompress_add_start = device and vender ID store buffer start address
;Output: None
;
;  - 200000h (start)
;  |	VGA Drive Rom Vendor & Device ID and potect_mode address
;  |	Index.
;  - 20002fh (end)
;  - 200030h (start)
;  |	VGA Drive Rom Vendor & Device ID and potect_mode address
;  |	Index.
;  - 2000A0h (end)
;  - 200100h (start)
;  |
;  |
;  |	All VGA & PCI Device ROM decompress pool.
;  |
;  |
;  -
;[]==============================================================[]
		ALIGN	4
		Public	fProc_Pci_CbRom_decompress
fProc_Pci_CbRom_decompress	Proc	Far

		push	ds
		push	es
		mov	esi, 200100h			;temp store decompress code address start
		mov	ax, CBROM_BP_START[bp]
		mov	di, ax
		mov	edx, CBROM_BUF_START[bp]

Decomp_PCI_Loop:

		push	edx
		push	esi				;push temp store decompress code address start to stack
		push	di
		call	POST_decompress			;decompress cbrom pool
		pop	di
		pop	esi				;pop temp store decompress code address start from stack
		pop	edx
		jc	NO_PCI_TABLE

		push	ebx			;R84 store original ROM size
		mov	bx, Temp_EXP_Seg
		mov	es, bx
;R55	ifdef	Flash_2M_support
;R55		mov	ebx, 160000h			;extra option ROM temp address
;R55;717;		cmp	es:[di+Temp_EXP_Off+2], 8000h	;first segment
;R55		cmp	es:[di+Temp_EXP_Off+2],POST_Cmprsed_Temp_Seg	;717 first segment
;R55		je	@F				;Yes, skip
;R55		add	ebx, 10000h			;set to next sgment (170000h)
;R55	@@:
;R55		add	bx, es:[di+Temp_EXP_Off]	;set to physical address
;R55	else	;Flash_2M_support
;R55		xor	ebx, ebx
;R55		mov	bx, es:[di+Temp_EXP_Off+2]
;R55		shl	ebx, 4
;R55		mov	bx, es:[di+Temp_EXP_Off]
;R55	endif	;Flash_2M_support
		call	combined_isa_addr	;R55
		pop	ebx			;R84 restore original ROM size
		push	di
		push	es
		push	edx
		push	esi				;push temp store decompress code address start to stack

;-----------------------           -----------------------------

		push	ebx			;R84 store original ROM size
		cli
		call	E000_A20_On
		call	E000_Enter_Prot_mode		;enter protected mode
		mov	ax, ds
		mov	es, ax
		call	E000_Back_Real_Mode
;R84		mov	ecx, es:[ebx+0bh]
		pop	ecx			;R84 restore original ROM size
		add	ecx, 3
		and	ecx, not 3
;717;		mov	esi, 40000h
		mov	esi,(POST_Decompress_Seg shl 4)	;;;;;717;
		pop	edi				;pop temp store decompress code address start from stack

		pop	edx
;717		mov	ebx, 40000h
		mov	ebx,(POST_Decompress_Seg shl 4)	;;;;;717;
		mov	bx, ds:[esi+18h]		;point to PCIR offset
		mov	eax, ds:[ebx+4]			;get Vendor and Device ID from option ROM
		mov	es:[edx], eax			;store to temp buffer
		mov	es:[edx+4], edi			;store physical address to temp buffer
		add	edx, 8

		shr	ecx, 2
		cld
;717;		cmp	byte ptr PCI_CBROM_TEMP[bp], 0
;717;		jne	@F
		cmp	dword ptr ds:[70000h], 0AA55h
		je	@F
		pushad
		mov	edi, 70000h
 		db	67h
 		rep	movsd				;move original option ROM code to
		popad
	@@:
 		db	67h
 		rep	movsd				;move original option ROM code to
							;protect mode temp address from 200100h
		push	edi

		call	E000_A20_Off
;----------------------------------------------------
		pop	esi
		pop	es
		pop	di
NO_PCI_TABLE:
		add	di, 4
		mov	ax, CBROM_BP_END[bp]
		cmp	di, ax
		jb	Decomp_PCI_Loop

;717;		cmp	byte ptr PCI_CBROM_TEMP[bp], -1	;is't PCI flag for pci_cbrom_decompress subroutine
;717;		jne	Pci_CbRom_decompress_End
;717;
;717;	;-------------------------------
;717;
;717;		mov	ax, 800h
;717;
;717;	Compatible_Move:
;717;
;717;		push	ax
;717;
;717;		mov	ds, ax
;717;		cmp	ds:[0], 0AA55h			;800:0h have pci Decice rom ?
;717;		jne	No_ROM_Here
;717;
;717;		push	ds
;717;		push	esi
;717;		mov	bx, ds:[18h]
;717;		mov	eax, ds:[bx+4]
;717;
;717;		mov	cx, ds:[2]
;717;		shl	cx, 9
;717;		push	eax
;717;		push	cx
;717;		call	E000_Enter_Prot_Mode
;717;		call	E000_Back_Real_Mode
;717;		pop	cx
;717;		pop	eax
;717;		pop	edi
;717;		pop	si
;717;		movzx	esi, si
;717;		shl	esi, 4
;717;
;717;		mov	dword ptr ds:[edx], eax
;717;		mov	dword ptr ds:[edx+4], edi
;717;		add	edx, 8
;717;	@@:
;717;		mov	eax, ds:[esi]
;717;		mov     ds:[edi], eax
;717;		add	edi, 4
;717;		add	esi, 4
;717;		loop	@B
;717;
;717;		push	edi
;717;		pop	esi
;717;
;717;	No_ROM_Here:
;717;
;717;		pop	ax
;717;		cmp	ax, 1000h
;717;		mov	ax, 1000h
;717;		jne	Compatible_Move
;717;
;717;	Pci_CbRom_decompress_End:

		pop	es
		pop	ds
		ret

fProc_Pci_CbRom_decompress	endp

;[]-------------------------------------------------------------------[]
;Function : Build PCI/IRQ routing table for Microsoft specification
;Input    : none
;Output   : none
;[]-------------------------------------------------------------------[]
		public	Build_MsPciIrq
Build_MsPciIrq	proc	near

IF	MSIRQROUT_SUPPORT

		F000_CALL F000_Shadow_W

		mov	si, offset MsPciIrqTbl
		mov	ax, SEG MsPciIrqTbl
		mov	ds, ax

IF	USB_ONBOARD
		pushad
		mov	ax, 0B109h		;read word
		mov	bx, USB_ONBOARD		;bus, dev & func no
		xor	di, di			;reg 0 (Vendor ID)
		int	1Ah			;invoke PCI read
		cmp	cx, 0FFFFh		;USB controller exist?
		popad
		jne	@F			;yes!

		sub	word ptr ds:[si+6], 16	;change the table size
		mov	di, offset PciIrqTbl_Size
		sub	word ptr ds:[di], 16
	@@:
ENDIF	;USB_ONBOARD

		mov	cx, [si+6]		;No. of byte for checksum
		cld
		xor	ah, ah			;initial
NextMsPciByte:
		lodsb
		add	ah, al
		loop	NextMsPciByte

		not	ah			;invert byte to zero checksum
		inc	ah
		mov	si, (offset MsPciIrqTbl)+31;checksum location
		mov	[si], ah		;save checksum value

		F000_CALL F000_Shadow_R

ENDIF	;MSIRQROUT_SUPPORT

		ret

Build_MsPciIrq	endp

IF	RELEASE_E000_FOR_PCI
		Public	E000_USED_BY_PCI
E000_USED_BY_PCI	db	0
ENDIF	;RELEASE_E000_FOR_PCI

;R82 ifdef	CT_SHADOW_RW_HOOK_SUPPORT
;[]==============================================================[]
;Shadow_C8_To_DF_R:
;	Force all shadow to read only after all PCI ROM done
;Input:		none
;Output:	none
;[]==============================================================[]
		ALIGN	4
Shadow_C8_To_DF_R:
;R82 - starts
ifdef	SHADOW_UNIT_64K
	ifdef	USB_SUPPORT
		test	dword ptr LMEM_RESERVED[bp], 00FFFF00h	;reserved by others?
		jnz	@F
	endif	;USB_SUPPORT
		pushad
		mov	dx, 0D000h
		F000_CALL Ct_Shadow_R
		popad
	@@:
		ret

else	;SHADOW_UNIT_64K
;R82 - starts
		pushad
		F000_CALL Ct_Shadow_Unit		;shadow unit in CX
		mov	dx, 0C800h			;start segment
		mov	bx, cx				;size in byte
		shr	bx, 4				;convert to segment
		mov	eax, 0000000Fh			;mask value
		mov	cl, 4				;shift value
		cmp	bx, 400h			;size in 16KB?
		je	Shadow_C8_To_DF_R_Loop
		mov	eax, 000000FFh			;mask value
		mov	cl,  8				;shift value

Shadow_C8_To_DF_R_Loop:

		test	LMEM_RESERVED[bp], eax		;reserved by others?
		jnz	Shadow_C8_To_DF_R_Next

		pushad
		F000_CALL Ct_Shadow_R
		popad

Shadow_C8_To_DF_R_Next:

		shl	eax, cl
		add	dx, bx
		test	eax, 0FF000000h			;E000 arrived?
		jz	Shadow_C8_To_DF_R_Loop

		popad
		ret
endif	;SHADOW_UNIT_64K			;R82
;R82 endif	;USB_SUPPORT

;-------------------------------------------------------------------------
;-------------------------------------------------------------------------
		ALIGN	4
Shadow_C8_To_DF	Proc	Near
;R82 - starts
ifdef	SHADOW_UNIT_64K

		cmp	byte ptr LMEM_BEFORE_ROM[bp], 0FFh		;R90
		je	@F						;R90
		F000_call C000_Shadow_RW
	@@:								;R90

	ifdef	USB_SUPPORT
		test	dword ptr LMEM_RESERVED[bp], 00FFFF00h
		jnz	@F
	endif	;USB_SUPPORT

		mov	si, 0D000h
		mov	di, TEMP_MEM
		mov	al, 1
		mov	cx, 16
		pusha
		call	ECopy_ROM
		mov	dx, 0D000h
		F000_call Ct_Shadow_RW
		popa

		xchg	si, di
		call	ECopy_ROM
	@@:
		ret

else	;SHADOW_UNIT_64K
;R82 - ends
		mov	si, 0C800h
;717;		mov	di, TEMP_AREA
		mov	di, TEMP_Mem	;;;;;717;

		call	GG

ifndef	USB_SUPPORT
		F000_CALL Ct_C8_To_DF_RW
endif	;USB_SUPPORT

;717;		mov	si, TEMP_AREA
		mov	si, TEMP_Mem	;;;;;717;

		mov	di, 0C800h

ifdef	USB_SUPPORT

		F000_CALL Ct_Shadow_Unit		;shadow unit in CX
		mov	bx, cx				;size in byte
		shr	bx, 4				;convert to segment
		mov	al, 1				;flag for Copy_ROM
		mov	edx, 0000000Fh			;mask value
		mov	cx, 4				;size 4KB*4=16KB
		cmp	bx, 400h			;size in 16KB?
		je	Shadow_C8_To_DF_Loop
		mov	edx, 000000FFh			;mask value
		mov	cx,  8				;size 8KB*4=32KB

	Shadow_C8_To_DF_Loop:

		test	LMEM_RESERVED[bp], edx		;reserved by others?
		jnz	Shadow_C8_To_DF_Next

		pushad
		mov	dx, di				;DX=seg to R/W shadow
		F000_CALL Ct_Shadow_RW
		popad

		pushad
		call	ECopy_ROM
		popad

	Shadow_C8_To_DF_Next:

		add	si, bx				;next source segment
		add	di, bx				;next dest. segment
		s

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久影院电视剧免费观看| 日本不卡一区二区| 一二三四区精品视频| 九九在线精品视频| 欧美丝袜自拍制服另类| 精品国产sm最大网站免费看| 亚洲乱码国产乱码精品精98午夜| 国产一区二区影院| 欧美另类变人与禽xxxxx| 国产精品久久久久一区二区三区| 久久国产精品99久久久久久老狼| 日本韩国精品在线| 国产精品视频你懂的| 狠狠狠色丁香婷婷综合激情| 欧美一二三区在线观看| 亚洲精品免费电影| av亚洲产国偷v产偷v自拍| 欧美mv日韩mv国产网站app| 亚洲一区二区欧美日韩| 色综合色综合色综合色综合色综合| 国产亚洲污的网站| 蜜桃av一区二区在线观看| 欧美日韩国产免费一区二区| 亚洲欧美激情小说另类| 99久久er热在这里只有精品66| 久久久五月婷婷| 美女视频黄 久久| 日韩一卡二卡三卡| 蜜桃av一区二区三区电影| 欧美剧在线免费观看网站| 亚洲一区二区三区中文字幕| 欧美性videosxxxxx| 亚洲乱码国产乱码精品精的特点| 91丨九色丨黑人外教| 亚洲视频图片小说| 色噜噜狠狠一区二区三区果冻| 亚洲六月丁香色婷婷综合久久| 日本精品一区二区三区高清 | 从欧美一区二区三区| 精品成人佐山爱一区二区| 久久丁香综合五月国产三级网站| 日韩欧美久久久| 国产精品中文有码| 国产精品国产三级国产| 91久久精品网| 午夜免费久久看| 欧美一级在线免费| 国产一区二区三区免费在线观看| 国产丝袜欧美中文另类| 成人免费黄色大片| 一区二区三区在线视频免费观看| 欧美在线短视频| 日韩和欧美一区二区| 精品久久久久久久久久久久久久久 | 国产在线播放一区三区四| 久久久青草青青国产亚洲免观| 从欧美一区二区三区| 一区二区三区蜜桃网| 欧美一级午夜免费电影| 激情五月激情综合网| 国产精品理伦片| 欧美狂野另类xxxxoooo| 国产精品影音先锋| 一区二区在线免费| 欧美不卡一区二区| 91在线观看下载| 麻豆久久久久久| 亚洲视频在线观看一区| 4438成人网| 99re66热这里只有精品3直播| 偷拍亚洲欧洲综合| 国产三级一区二区| 欧美老年两性高潮| eeuss鲁片一区二区三区在线看| 午夜不卡av在线| 国产视频视频一区| 91精品国产综合久久精品图片| 国产成人精品亚洲午夜麻豆| 午夜精品福利一区二区蜜股av| 国产亚洲成av人在线观看导航| 欧美日韩综合色| www.欧美色图| 国产一区二区三区观看| 亚洲成人自拍一区| 亚洲欧洲成人精品av97| 精品国产乱码久久久久久老虎 | 亚洲777理论| 日本一区二区三区dvd视频在线| 69堂精品视频| 欧洲在线/亚洲| 99视频有精品| 国产成人亚洲综合a∨猫咪| 偷拍一区二区三区| 亚洲综合视频在线观看| 亚洲色图.com| 国产精品久久久久久久浪潮网站| 精品国产网站在线观看| 3d成人动漫网站| 欧美日韩国产一二三| 9l国产精品久久久久麻豆| 国产成人在线电影| 国内外精品视频| 蜜臀99久久精品久久久久久软件| 五月天视频一区| 亚洲综合色网站| 亚洲国产成人av好男人在线观看| 亚洲视频综合在线| 国产精品动漫网站| 欧美激情综合五月色丁香| 欧美mv日韩mv国产网站| 精品成人在线观看| 久久久亚洲高清| 国产欧美精品一区| 欧美国产日产图区| 国产精品三级久久久久三级| 久久久久国产免费免费| 久久久久成人黄色影片| 欧美国产欧美综合| 国产精品你懂的| 国产精品久久国产精麻豆99网站| 国产精品美女久久久久久2018| 国产嫩草影院久久久久| 国产精品久久久久一区二区三区共| 国产精品视频麻豆| 亚洲色图在线视频| 午夜av一区二区三区| 日韩高清在线不卡| 国产综合一区二区| 成人性生交大片免费看中文网站| 成人一区二区三区中文字幕| 99精品视频在线免费观看| 97se亚洲国产综合自在线| 色诱亚洲精品久久久久久| 欧美日韩国产免费一区二区 | 欧美日韩一区不卡| 制服视频三区第一页精品| 精品国产第一区二区三区观看体验| 亚洲精品一区二区精华| 国产精品久久久久影视| 亚洲第一主播视频| 国产一区二区中文字幕| 91免费视频网址| 日韩视频免费直播| 国产精品久久久久久久久搜平片| 亚洲亚洲人成综合网络| 麻豆一区二区三| 91亚洲精华国产精华精华液| 欧美久久久久久久久中文字幕| 精品欧美一区二区在线观看| 国产精品久久久久永久免费观看| 亚洲第一在线综合网站| 精品亚洲porn| 欧洲视频一区二区| 2021中文字幕一区亚洲| 一区二区三区四区亚洲| 精品在线亚洲视频| 91精品福利视频| 欧美精品一区二区不卡| 亚洲精品国产第一综合99久久| 久久成人18免费观看| 99国产精品久久久久| 日韩免费观看2025年上映的电影| 国产精品二区一区二区aⅴ污介绍| 日韩电影在线免费看| 成人h动漫精品| 精品国产污污免费网站入口| 午夜精品一区二区三区三上悠亚| 高清日韩电视剧大全免费| 欧美日韩成人综合在线一区二区| 国产精品无码永久免费888| 香蕉乱码成人久久天堂爱免费| 成人免费毛片a| 久久久不卡网国产精品二区| 石原莉奈在线亚洲二区| 91视视频在线直接观看在线看网页在线看| 日韩一区二区三区高清免费看看| 亚洲综合一区二区三区| 成人av电影免费在线播放| 精品国产髙清在线看国产毛片| 亚洲第一福利一区| 色综合天天综合给合国产| 国产色综合一区| 国产剧情一区二区三区| 欧美一级高清大全免费观看| 午夜精品福利一区二区三区蜜桃| 在线观看视频91| 亚洲日本在线观看| 99re免费视频精品全部| 国产精品三级av| 不卡一区二区三区四区| 国产人妖乱国产精品人妖| 国产美女视频一区| 精品国产免费久久| 国产综合色产在线精品| 欧美精品一区二区三区视频| 精品亚洲aⅴ乱码一区二区三区| 欧美不卡一区二区三区| 精品亚洲免费视频| 日本一区二区三区四区| 99综合影院在线|