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

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

?? runvuma.asm

?? AMI 主板的BIOS源碼。
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
	page	,132
	title .	VUMA Shared Frame Buffer Runtime Functions
;*****************************************************************;
;*****************************************************************;
;**                                                             **;
;**      (C)Copyright 1985-1995, American Megatrends, Inc.      **;
;**                                                             **;
;**                     All Rights Reserved.                    **;
;**                                                             **;
;**           6145-F Northbelt Pkwy, Norcross, GA 30071         **;
;**                                                             **;
;**                     Phone (770)-263-8181                    **;
;**                                                             **;
;*****************************************************************;
;*****************************************************************;
;---------------------------------------;

	public	VumaInt15EntryPoint

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

	extrn FrameBufGetAllBanks: near
	extrn FrameBufGetAsymMemInfo: near
	extrn FrameBufGetBankAddress: near
	extrn FrameBufGetBankMemSize: near
	extrn FrameBufGetBankMemSpeed: near
	extrn FrameBufGetBankMemType: near
	extrn FrameBufGetBankTimingInfo: near
	extrn FrameBufGetBankVoltage: near
	extrn FrameBufGetChipsetInfo: near
	extrn FrameBufGetCmosData: near
	extrn FrameBufGetCurAddress: near
	extrn FrameBufGetCurBanks: near
	extrn FrameBufGetCurSize: near
	extrn FrameBufGetFbBanks: near
	extrn FrameBufGetMemCtrlSpeed: near
	extrn FrameBufGetMinMaxSize: near
	extrn FrameBufGetVisibility: near
	extrn FrameBufMakeInvisible: near
	extrn FrameBufMakeVisible: near
	extrn FrameBufSetCmosData: near
	extrn FIND_FREQUENCY:near
	extrn DRAM_CONTROL_CYCLE:near

	include	setupequ.ext
;---------------------------------------;

VUMA_BIOS_MAJOR_VERSION	equ 01h
VUMA_BIOS_MINOR_VERSION	equ 00h

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

cgroup	group	_text
_text 	segment word public 'CODE'
	assume	cs:cgroup
.386

;---------------------------------------;
; VumaInt15EntryPoint                   ;
;---------------------------------------;--------------------------------------;
; This is the entry point for all VUMA Int 15 runtime functions.               ;
;                                                                              ;
; Input: AX = F401h                                                            ;
;        BL = Subfunction number (valid values are 00h - 08h)                  ;
;        Other registers are subfunction dependant                             ;
;                                                                              ;
; Output: AL = F4h if subfunction is supported, any other value means function ;
;              is not supported.                                               ;
;         AH = 00h if subfunction was successful, any other value means that   ;
;              an error occurred.                                              ;
;                                                                              ;
; Destroys: Nothing                                                            ;
;------------------------------------------------------------------------------;
VumaInt15EntryPoint	proc near
	push	bp

	movzx	bp, bl			;BP = VUMA function number
	shl	bp, 1
	add	bp, offset cgroup:VumaFuncTableStart
	cmp	bp, offset cgroup:VumaFuncTableEnd
	mov	ax, 00FFh		;Return value for not supported
	jae	VumaInt15Done		;Br if func number is too high

	call	word ptr cgroup:[bp]	;Returns CF set if error
	mov	al, 0F4h		;AL = F4 (function supported)
	jc	VumaInt15Done		;Br if function returned with error
	mov	ah, 00h			;AH = 0 (no error)

VumaInt15Done:
	pop	bp
	add	sp, 02h			;Bypass BIOS's Special Int 15 caller
	retf	2			;Return directly to Int 15 caller
VumaInt15EntryPoint	endp



;------------------------------;
; VUMA Run Time Function Table ;
;------------------------------;
VumaFuncTableStart:
		dw	VumaGetChipsetInfo		;VUMA function 00h
		dw	VumaGetMemoryInfo		;VUMA function 01h
		dw	VumaSetNextBootMemSize		;VUMA function 02h
		dw	VumaGetNextBootDeviceMemSize	;VUMA function 03h
		dw	VumaGetNextBootAllMemSize	;VUMA function 04h
		dw	VumaGetCurrentMemSize		;VUMA function 05h
		dw	VumaGetMemorySpeedType		;VUMA function 06h
		dw	VumaMemoryEnableDisable		;VUMA function 07h
		;dw	VumaAuxMemRequestFree		;VUMA function 08h (not supported)
		;dw	VumaAuxMemGetSize		;VUMA function 09h (not supported)
VumaFuncTableEnd:



;---------------------------------------;
; VumaGetChipsetInfo (00)               ;
;---------------------------------------;--------------------------------------;
; This function returns general information about the chipset's capabilities.  ;
;                                                                              ;
; Input: Nothing                                                               ;
;                                                                              ;
; Output: CF = Set if error, clear if successful                               ;
;         AH = Nonzero return code if function was not successful              ;
;              (value is "don't care" if function is successful)               ;
;         BL = Major VUMA BIOS revision (01h) (yes these two return values are ;
;         BH = Minor VUMA BIOS revision (00h)  defined backwards in the spec)  ;
;         CX = Bank numbers that are supported by chipset (may or may not      ;
;              contain memory)                                                 ;
;              Bit 0: Set if bank 0 is supported by chipset                    ;
;              Bit 1: Set if bank 1 is supported by chipset                    ;
;              ...                                                             ;
;              Bit 15: Set if bank 15 is supported by chipset                  ;
;         DL = Flags                                                           ;
;              Bit 0: Set if chipset supports non-cachable regions             ;
;              Bit 1: Set if chipset supports write-thru cache regions         ;
;              Bit 2: Set if chipset supports enable/disable cache at runtime  ;
;              Bit 3: Set if chipset supports enable/disable write-thru cache  ;
;                     at runtime                                               ;
;              Bit 4: Set if chipset supports snooping (this bit is relevant   ;
;                     only if synchronous DRAM is installed)                   ;
;              Bit 5-7: Reserved                                               ;
;         DH = Speed in nanoseconds of memory controller (00 = unknown)        ;
;         SI = Bitmap of banks that contain memory                             ;
;               Bit 0: Set if bank 0 contains memory                           ;
;               Bit 1: Set if bank 1 contains memory                           ;
;               ...                                                            ;
;               Bit 15: Set if bank 15 contains memory                         ;
;         DI = Memory banks that may be used for VUMA frame buffer and         ;
;              contain memory                                                  ;
;               Bit 0: Set if bank 0 will be used                              ;
;               Bit 1: Set if bank 1 will be used                              ;
;               ...                                                            ;
;               Bit 15: Set if bank 15 will be used                            ;
;                                                                              ;
; Destroys: AL, AH (if successful)                                             ;
;------------------------------------------------------------------------------;
VumaGetChipsetInfo	proc near

	call	FrameBufGetChipsetInfo	;Returns DL = flags, SI = non cache gran
	call	FrameBufGetMemCtrlSpeed	;Returns DH = speed of memory controller in ns

	mov	cx, 0Fh			;Start with highest possible bank
	xor	si, si			;Init result bitmap to zeros
GetCsInfoNextBank:
	call	FrameBufGetBankMemSize	;Returns AX = size of mem in bank CL in 64k
	or	ax, ax
	jz	@f			;Br if bank is empty
	bts	si, cx			;Set bit in result bitmap
@@:	loop	GetCsInfoNextBank

	call	FrameBufGetFbBanks	;Returns AX = frame buf banks bitmap
	mov	di, ax
	and	di, si			;Zero any banks that don't have memory

	call	FrameBufGetAllBanks	;Returns AX = all banks bitmap
	mov	cx, ax

	mov	bl, VUMA_BIOS_MAJOR_VERSION
	mov	bh, VUMA_BIOS_MINOR_VERSION

	clc
	ret
VumaGetChipsetInfo	endp


;---------------------------------------;
; VumaGetMemoryInfo (01)                ;
;---------------------------------------;--------------------------------------;
; This function reports information on the chipset's VUMA memory capabilities. ;
;                                                                              ;
; Input: Nothing                                                               ;
;                                                                              ;
; Output: CF = Set if error, clear if successful                               ;
;         AH = Nonzero return code if function was not successful              ;
;              (value is "don't care" if function is successful)               ;
;         BX = Minimum amount of memory that can be allocated to VUMA frame    ;
;              buffer in units of 64K                                          ;
;         CX = Maximum amount of memory that can be allocated to VUMA frame    ;
;              buffer in units of 64K                                          ;
;         SI = Chipset's non-cache region granularity in units of 64K          ;
;         DI = Granularity of memory that can be allocated to VUMA frame       ;
;              buffer in units of 64K                                          ;
;                                                                              ;
; Destroys: AL, AH (if successful)                                             ;
;------------------------------------------------------------------------------;
VumaGetMemoryInfo	proc near
	push	dx

	call	FrameBufGetChipsetInfo	;Returns DL=flags, SI=non cache gran
	call	FrameBufGetMinMaxSize	;Returns BX=min, CX=max, DI=gran

	pop	dx
	clc
	ret
VumaGetMemoryInfo	endp


;---------------------------------------;
; VumaSetNextBootMemSize (02)           ;
;---------------------------------------;--------------------------------------;
; This function sets the size of the VUMA frame buffer for one device for the  ;
; next boot.                                                                   ;
;                                                                              ;
; Input: CL = PCI Device/Function number of VUMA device                        ;
;                Bits 7-3: PCI device number                                   ;
;                Bits 2-0: Function number within the device                   ;
;        CH = PCI Bus number of VUMA device                                    ;
;        DX = Memory banks supported by VUMA device                            ;
;              Bit 0: Set if bank 0 is supported                               ;
;              Bit 1: Set if bank 1 is supported                               ;
;              ...                                                             ;
;              Bit 15: Set if bank 15 is supported                             ;
;        SI = VUMA frame buffer memory size requested in units of 64KB         ;
;                                                                              ;
; Output: CF = Set if error, clear if successful                               ;
;         AH = Nonzero return code if function was not successful              ;
;              (value is "don't care" if function is successful)               ;
;         DX = Actual size of VUMA frame buffer memory that will be used       ;
;              (The BIOS may round the requested amount up if needed)          ;
;                                                                              ;
; Destroys: AL, AH (if successful)                                             ;
;------------------------------------------------------------------------------;
VumaSetNextBootMemSize	proc near
	push	bx
	push	cx
	push	di
	push	si

	call	FrameBufGetMinMaxSize	;Returns BX=min, CX=max, DI=gran

	dec	di			;DI = chipset's mem gran - 1 (...0001111...)
	add	si, di			;Round up request
	not	di			;DI = 10000h - mem gran (...111000...)
	and	di, si			;DI = rounded up mem request

	call	FrameBufGetCmosData	;DX=Mem Size, CH=Flags
	mov	dx, di
	call	FrameBufSetCmosData	;Save DX=Mem Size, CH=Flags in CMOS

	pop	si
	pop	di
	pop	cx
	pop	bx
	clc
	ret
VumaSetNextBootMemSize	endp


;---------------------------------------;
; VumaGetNextBootDeviceMemSize (03)     ;
;---------------------------------------;--------------------------------------;
; This function returns the amount of memory that will be allocated to a given ;
; VUMA device on the next boot.                                                ;
;                                                                              ;
; Input: CL = PCI Device/Function number of VUMA device                        ;
;                Bits 7-3: PCI device number                                   ;
;                Bits 2-0: Function number within the device                   ;
;        CH = PCI Bus number of VUMA device                                    ;
;                                                                              ;
; Output: CF = Set if error, clear if successful                               ;
;         AH = Nonzero return code if function was not successful              ;
;              (value is "don't care" if function is successful)               ;
;         DX = Size of VUMA frame buffer memory that will be allocated on next ;
;              boot for the given VUMA device in units of 64KB                 ;
;                                                                              ;
; Destroys: AL, AH (if successful)                                             ;
;------------------------------------------------------------------------------;
VumaGetNextBootDeviceMemSize	proc near
	push	cx

	call	FrameBufGetCmosData	;DX=Mem Size, CH=Flags

	pop	cx
	clc
	ret
VumaGetNextBootDeviceMemSize	endp


;---------------------------------------;
; VumaGetNextBootAllMemSize (04)        ;
;---------------------------------------;--------------------------------------;
; This function returns the amount of memory that will be allocated to all     ;
; VUMA devices on the next boot.                                               ;
;                                                                              ;
; Input: Nothing                                                               ;
;                                                                              ;
; Output: CF = Set if error, clear if successful                               ;
;         AH = Nonzero return code if function was not successful              ;
;              (value is "don't care" if function is successful)               ;
;         DX = Size of VUMA frame buffer memory that will be allocated on next ;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产毛片精品视频| 日韩一区二区在线免费观看| 欧美国产日韩亚洲一区| 99久久国产综合精品麻豆| 亚洲精品国产视频| 日韩午夜av一区| 色综合久久天天| 亚洲精选免费视频| 国产清纯美女被跳蛋高潮一区二区久久w | 一区二区三区高清在线| 欧美激情一区二区三区不卡| 欧美一级欧美三级| 91女厕偷拍女厕偷拍高清| 久久国产福利国产秒拍| 日韩和欧美的一区| 亚洲精品中文在线观看| 国产欧美一区二区在线| 日韩午夜激情免费电影| 欧美一区二区视频免费观看| 91久久人澡人人添人人爽欧美| 成人a区在线观看| 成人综合激情网| 成人毛片在线观看| 日韩一级黄色大片| 日韩欧美国产综合一区 | 一区二区三区视频在线看| 国产精品久久久久影院老司| 国产调教视频一区| 久久精品日产第一区二区三区高清版| 精品美女被调教视频大全网站| 欧美久久久久久久久久| 欧美日韩精品一区二区天天拍小说| 99久久婷婷国产综合精品电影 | 亚洲精品菠萝久久久久久久| 日韩美女精品在线| 日韩国产在线一| 国产精品一区二区三区四区| 国产一区二区伦理片| 99久久精品久久久久久清纯| 欧美日韩国产精品自在自线| 日韩欧美成人一区| 国产精品久久久久久久午夜片| 中文字幕一区二区不卡| 天堂蜜桃一区二区三区| 懂色av一区二区三区免费看| 欧美综合欧美视频| 久久丝袜美腿综合| 午夜欧美在线一二页| 国产精品2024| 欧美日韩成人高清| 精品国产精品网麻豆系列| 日韩毛片一二三区| 国产精品18久久久久久久久久久久| 99视频热这里只有精品免费| 在线综合+亚洲+欧美中文字幕| 国产精品亲子伦对白| 另类欧美日韩国产在线| 91精品欧美一区二区三区综合在| 日本一区二区视频在线观看| 裸体在线国模精品偷拍| 欧美图区在线视频| 亚洲视频一区二区在线| 国产高清在线观看免费不卡| 精品国产免费人成电影在线观看四季 | 国产成人精品一区二| 8x8x8国产精品| 美女网站一区二区| 欧美一区二区三区婷婷月色| 日韩福利视频导航| 日韩精品专区在线影院重磅| 日韩经典中文字幕一区| 精品久久久久久无| 色综合天天狠狠| 午夜影视日本亚洲欧洲精品| 91麻豆精品91久久久久同性| 九色porny丨国产精品| 中文字幕一区二区三区在线播放 | 日本道在线观看一区二区| 亚洲视频在线一区| 69久久99精品久久久久婷婷| 麻豆国产91在线播放| 亚洲国产精品精华液2区45| 91老师片黄在线观看| 日韩av中文字幕一区二区三区| 久久亚洲综合色一区二区三区| 国产精品亚洲а∨天堂免在线| 亚洲精品欧美激情| 久久久精品国产免大香伊| 色综合久久66| 国产成人av福利| 免费成人av资源网| 欧美国产精品久久| 精品污污网站免费看| 国产成人av电影在线| 日本不卡的三区四区五区| 中文字幕在线播放不卡一区| 91精品国产91久久久久久一区二区| 风间由美性色一区二区三区| 亚洲综合一二区| 色综合久久久久久久| 国产精品一区二区在线播放| 久久99最新地址| 麻豆成人综合网| 久久国产生活片100| 亚洲123区在线观看| 亚洲一区二区四区蜜桃| 亚洲丝袜美腿综合| 亚洲精品亚洲人成人网| 亚洲精品午夜久久久| 一区二区视频在线看| 亚洲免费伊人电影| 亚洲免费在线看| 亚洲一区二区三区中文字幕在线| 国产精品电影院| 亚洲图片欧美激情| 亚洲精品乱码久久久久| 亚洲影视在线观看| 青青青伊人色综合久久| 亚洲va国产天堂va久久en| 日韩av电影免费观看高清完整版| 五月天激情综合| 国产九九视频一区二区三区| 成人精品视频一区| 欧美性色欧美a在线播放| 69久久夜色精品国产69蝌蚪网| 精品久久久久香蕉网| 亚洲丝袜另类动漫二区| 视频一区免费在线观看| 中文av一区二区| 亚洲激情自拍偷拍| 欧美日韩欧美一区二区| 久久女同互慰一区二区三区| 国产精品蜜臀av| 久久精品国产久精国产爱| jlzzjlzz国产精品久久| 欧美视频一区二区三区四区 | 亚洲观看高清完整版在线观看 | 国产a久久麻豆| 欧美zozo另类异族| 亚洲二区在线观看| www.在线欧美| 久久久久久久性| 精品系列免费在线观看| 欧美日韩一区中文字幕| 日本一区二区电影| 国产成都精品91一区二区三| 精品国精品国产尤物美女| 亚洲不卡一区二区三区| 欧美午夜不卡在线观看免费| 亚洲激情网站免费观看| 99久久国产综合色|国产精品| 欧美电影免费观看高清完整版在 | 99九九99九九九视频精品| 久久久亚洲综合| 日韩精品一区二区在线| 国产香蕉久久精品综合网| 成人高清视频免费观看| 日韩国产欧美在线观看| 亚洲主播在线观看| 精品久久久久久最新网址| 丁香一区二区三区| 一区二区三区国产| 欧美二区乱c少妇| 成人小视频免费在线观看| 亚洲欧洲色图综合| 欧美三级视频在线| 久久成人久久爱| 欧美va亚洲va香蕉在线| 国产一区二区三区在线观看精品| 欧美激情在线看| 欧美性猛片aaaaaaa做受| 国产一区二区三区在线观看免费| 国产精品对白交换视频| 欧美日韩免费在线视频| 成年人国产精品| av成人免费在线| 91老师片黄在线观看| 成人动漫视频在线| 成人永久aaa| 高清日韩电视剧大全免费| 国产在线不卡一区| 美腿丝袜一区二区三区| 亚洲亚洲精品在线观看| 中日韩免费视频中文字幕| 久久久99免费| 久久久亚洲精品石原莉奈| 欧美大胆一级视频| 911精品国产一区二区在线| 欧美日韩国产综合视频在线观看| 欧美亚洲综合色| 精品福利一二区| 国产精品高清亚洲| 亚洲日本在线天堂| 欧美三级一区二区| 韩国女主播成人在线观看| 成人听书哪个软件好| 欧美日韩在线三级| 国产精品久久三| 国产精品一区二区在线观看不卡 | 老司机精品视频一区二区三区|