⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pnpaudio.asm

📁 award bios 源代码,喜欢汇编程序及想研究主板BIOS程序的人可以参考哦.我是费了老大的劲才找到的哦.
💻 ASM
字号:
;	[]===========================================================[]
;
;	NOTICE: THIS PROGRAM BELONGS TO AWARD SOFTWARE INTERNATIONAL(R)
;	        INC. IT IS CONSIDERED A TRADE SECRET AND IS NOT TO BE
;	        DIVULGED OR USED BY PARTIES WHO HAVE NOT RECEIVED
;	        WRITTEN AUTHORIZATION FROM THE OWNER.
;
; 	[]===========================================================[]
;

;----------------------------------------------------------------------------
;Rev	Date	 Name	Description
;----------------------------------------------------------------------------
;R03  11/17/97  MIL	Rename all audio file as audio.aio
;R02  04/19/97  MIL	Added Gx86.AIO support.
;R01  04/03/97  RAX	Remove YMF701 support

		PAGE	60,132
		TITLE	PNPAUDIO  -- Plug and Play Audio Device Node

; **** NOTES ****
; **** Device node index table structure ****
; byte 0	total number of the device nodes in this table
; byte 1-3	device 0 index structure
;	Byte	attribute flag of device node
;		bit7 = 1	disable (don't report)
;		bit6		reserved
;		bit5		reserved
;		bit4		reserved
;		bit3 = 1	special post procedure support
;		bit2 = 1	special get device node support
;		bit1 = 1	static set device node support
;		bit0 = 1	dynamically set device node support
;	word	offset address point to description block
; byte 4-6	device 1 index structure
; ......
;
; **** Special process table structure (one device) ****
; byte		node number in the above index table
; word		offset address of special get device node procedure
; word		offset address of special set device node procedure
; word		offset address of special post process procedure
;
; CHK_ATTR is for assembler to check corresponding procedure present in
;	NODE_PROC table, if its attribute flag of index table indicate
;	special procedure needed. Avoid coding mistake.

		NEED_SET_DYNM	EQU	00000001b
		NEED_SET_STAT	EQU	00000010b
		NEED_GET_NODE	EQU	00000100b
		NEED_POST_NODE	EQU	00001000b
.386P

.LIST

;[]========================================================================[]
;
;	Include file definition
;
;[]========================================================================[]

		INCLUDE BIOS.CFG
		INCLUDE COMMON.MAC
		INCLUDE PNP.EQU
;[]========================================================================[]
;
;	External label definition
;
;[]========================================================================[]

.LIST

;[]========================================================================[]
;
;	Low memory init (1st 64k)
;
;[]========================================================================[]

G_RAM		SEGMENT USE16 AT 0

		ORG	04H*4
		INCLUDE SEG_0.INC

		ORG	400H
		INCLUDE G_RAM.INC

		ORG	2000h		;R04
		INCLUDE PNPDATA.INC

		ORG	7C00H
BOOT		LABEL	FAR

G_RAM		ENDS

;[]========================================================================[]
;
;	ONBOARD DEVICE NODES DEFINITION
;
;[]========================================================================[]

ifdef	PNP_BIOS

	AUDIO_KERNEL	=	0
ifdef	ES1788F
	AUDIO_KERNEL	=	1
endif	;ES1788F

ifdef	CT2504
	AUDIO_KERNEL	=	1
endif	;CT2504

ifdef	ES1888F
	AUDIO_KERNEL	=	1
endif	;ES1888F

;R01 ifdef	YMF701
;R01 	AUDIO_KERNEL	=	1
;R01 endif	;YMF701

ifdef	ES1878
ifndef	ES1878_ISA_PNP
	AUDIO_KERNEL	=	1
endif	;ES1878_ISA_PNP
endif	;ES1878

ifdef	VSA_AUDIO						;R02
	AUDIO_KERNEL	=	1                               ;R02
endif	;VSA_AUDIO						;R02

	extrn	Get_Cmos1:near
	extrn	Set_Cmos1:near
	extrn	Rep_Movsb:near
	extrn	Chk_Set_Which_Cfg:near

endif	;PNP_BIOS

DGROUP		GROUP	FCODE
FCODE		SEGMENT USE16 PARA PUBLIC 'CODE'
		ASSUME	CS:DGROUP,DS:DGROUP

ifdef	PNP_BIOS

IFE	AUDIO_KERNEL

		EVEN
		Public	AUDIO_NODE_INDEX
AUDIO_NODE_INDEX	LABEL	BYTE

		DB	0

		Public	AUDIO_NODE_PROC
AUDIO_NODE_PROC	LABEL	BYTE
		DB	0FFh

		CHK_ATTR %NODE_NUM

ELSE	;AUDIO_KERNEL

		COMPILE_FOR_PNP_AUDIO	=   1
;R03	- starts
;R03	ifdef	ES1788F
;R03		include	ES1788.AIO
;R03	endif	;ES1788F
;R03
;R03	ifdef	CT2504
;R03		include	CT2504.AIO
;R03	endif	;CT2504
;R03
;R03	ifdef	ES1888F
;R03		include	ES1888.AIO
;R03	endif	;ES1888F
;R03
;R03;R01 	ifdef	YMF701
;R03;R01 		include	YMF701.AIO
;R03;R01 	endif	;YMF701
;R03
;R03	ifdef	ES1878
;R03	ifndef	ES1878_ISA_PNP
;R03		include	ES1878.AIO
;R03	endif	;ES1878_ISA_PNP
;R03	endif	;ES1878
;R03
;R03	ifdef	VSA_AUDIO					;R02
;R03		include	GX86.AIO                                ;R02
;R03	endif	;VSA_AUDIO					;R02
;R03	- ends

		include	AUDIO.AIO                               ;R03

ENDIF	;AUDIO_KERNEL
;R05 - ends

ENDIF	;PNP_BIOS

FCODE		ENDS
		END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -