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

📄 e0post.asm

📁 award bios 源代码,喜欢汇编程序及想研究主板BIOS程序的人可以参考哦.我是费了老大的劲才找到的哦.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;			DRAM plugeed.
;R52	08/08/96 KVN	Added customer EPA LOGO support
;R17D	08/07/96 RCH	Fixed error coding of R17C , this cause 6x86 hang up
;			while L2 cache is turned on.
;R17C	08/05/96 KGN	Bypass 0.5M cacheable for shall memory
;R51	08/05/96 RCH	Some customers won't display real clock for 6x86 CPU
;R50	07/26/96 RCH	Some customers want to support 6x86 CPU with 50x1,60x1
;			and 66x1
;R49	07/24/96 RCH	Let routine "F000_Set_Cyrix" be public
;R44C	07/23/96 KEN	Modified for initializing USB keyboard earlier.
;R48	07/22/96 RCH	Display ODP & MMX for P6 CPUs
;R47	06/18/96 RCH	Skip memory clearing to enter setup as soon as
;			possible for large memory installed
;R46	06/18/96 RCH	Modify memory high limit to support DRAM up to 512Mb
;R44B	06/14/96 TNY	Fix coding error, otherwise KBD_STATUS error is always
;			not present when no PS2 mouse support.
;R45	06/10/96 KGN	Add defin Beep_Before_Boot for USI
;R44A	06/07/96 KEN	Remove codes of calling Usb_Kbd to E8POST.ASM that it
;			should be done after SMI_Handler being setup.
;R42A	06/03/96 RCH	Reduce clock checking value for 200Mhz to prevent
;			200Mhz detected as 180Mhz
;R44	05/28/96 KEN	Add USB_SUPPORT
;R43	05/21/96 RCH	Added PENTIUM 225Mhz(75x3) support
;R42	05/21/96 TNY	Add NEW_P6_200_TBL definition for QDI.
;R39A	05/11/96 RCH	Clear shutdown byte CMOS for PCI reset as soon as
;			possible.
;R41	05/11/96 RCH	Take all codes of R37 off due to resource assign
;			conflict. Old code was saved as E0POST.511
;R40	05/10/96 KVN	Display exact HDD fail drive
;R39	05/09/96 RCH	Restore warm flag from CMOS if PCI reset fucntion is
;			supported
;R34A	05/08/96 RCH	Also open 210,233 & 240Mhz for PENTIUM CPUs(CPU name
;			is Tillamook of INTEL)
;R37C	05/07/96 RCH	R37 cause all non-PnP BIOS can not program super I/O
;			correctly.
;R37B	05/06/96 RCH	Fixed WIN/95 can not find COM & LPT ports due to later
;			super I/O initialization
;R30A	05/06/96 RAY	Fix bug: Under some conditions, the BIOS will show
;			         "Conflict I/O: 000"
;R38	05/06/96 RAY	Bug: - Setup set to "Halt on : All but Keyboard"
;			     - Keyboard is lock
;			     ====> no error message but still wait for "F1"
;
;			Reason:	this is due to Keylock error is recorded
;				in FIXED_ERROR[BP], the old code checked
;				for FIXED_ERROR[BP], FLOPPY_ERROR[BP]
;				whether to stop for F1 if it is not set to
;				"Halt on : No errors",  "Halt on : All but
;				diskette" or "Halt on : All but disk/key"
;
;R37A	05/06/96 RAY	Fix R37 coding mistake
;R37	05/03/96 RAY	1. Initialize PnP device which request for COM/LPT
;			   addr before we init the onboard devices, i.e. card
;			   devices has higher priority that the onboard
;			   devices !
;
;			2. Also, the BIOS will report conflict.
;
;			Reason : Most PnP FAX/MODEM card request for COM addr
;
;R36	05/02/96 DNL	Added codes for Notebook Power Management
;R35	05/02/96 KVN	Fixed musted to clear [CDROM_Exist_Flag] value before
;			Auto_IDE_Detect function otherwise HDD will detect none
;R34	05/01/96 RCH	Added 210,233 & 240Mhz support for P6(Klamath) CPU
;R33A	04/30/96 RCH	Fixed error coding of R33 , this cause all ISA/VGA
;			cards hang at POST 0DH
;R33	04/30/96 RAY	Enable C000 shadow R/W before initializing VGA BIOS.
;			This is stated in PCI specification & is strongly
;			request by PCI SIG.
;R32	04/27/96 RAY	Check Update-In-Process bit when writing to RTC
;			This will prevent system from accidentally set the
;			system time to default year: 1996
;R31	04/23/96 DNL	Modify code to save space
;R30	04/19/96 RCH	Added routine to display conflict I/O for COM & LPT
;			ports and halt system for user to change CMOS setup
;			for super I/O. Note: it need a routine named
;			"Disable_SuperIO_ComLptPort" in .SIO file
;R29	04/17/96 RCH	Added a hook to do special program before VGA ROM
;			initial.
;R28	04/12/96 TNY	Add Higher_120MHz_Tbl definition.
;R26B	04/11/96 RCH	MP initial should be programmed earlier due to system
;			hang of reading Time Stamp Counter for PENTIUM multi-
;			processors support
;R26A	04/11/96 RCH	Fixed Some TRITON M/Bs detect 90Mhz as 83Mhz
;R27	04/09/96 KVN	Added P6 BIOS update feature
;R26	04/05/96 RCH	Change CPU clock detection alorigthm to get more
;			accurate CPU clock. Note: this new algorithm only
;			available for INTEL PENTIUM & P6 CPUs
;R25	04/05/96 RCH	Added a switch to skip 110Mhz clock support
;R24	04/02/96 DNL	Added C&T,Cirrus LCD controller support
;R23	04/02/96 RCH	Hide some standard items for special customer (ECS)
;			"floppy seek","boot up speed" & "typematic rate"
;R22	03/27/96 KVN	Fixed bug for execute awdflash.exe hang if support one
;			full 640X464 logo
;R21	03/27/96 RCH	The MP table should be modified to report PCI level
;			trigger IRQs to OS for new INTEL I/O APIC, otherwise
;			MP OS can not boot on PCI card.
;R17B	03/25/96 KGN	Reset Cyrix 6x86 Cacheable Address setting
;R20	03/25/96 RAY	Force display type to mono when no display card is plugged
;R15A	03/25/96 RAY	Save codes for R15
;R19	03/22/96 DNL	Added table for P54CT-125
;R18	03/21/96 DNL	Added Pentiem-100 CPU for 50MHzx2 mode
;R17A	03/20/96 JSN	Use old Cyrix 6x86 Cacheable function for ALI M152x,
;			some chipsets(support share) will hang when M1 pluged.
;R17	03/19/96 KGN	Change Cyrix 6x86 Cacheable Address setting
;R16	03/14/96 HTR	Special_Cyrix_Tbl_For_VSI59X
;R15	03/14/96 RCH	Some chipsets will wrap around memory address if
;			access address beyond chipset top address. so add
;			checking to avoid error memory sizing.
;R14	03/06/96 RCH	Support P6 BIOS update code with multiple stepping
;R13	03/04/96 AVN	Fixed Triton II Somtime CPU 180MHz Show 200MHz,
;			Add "Higher_200MHz_Tbl" define in bios.cfg
;R12	02/28/96 RAY	Add BIOS.CFG switch: No_Report_Cmos_Error
;R11	02/16/96 KVN	Fixed AWARD logo display wrong
;R05B	02/16/96 KVN	The ATi-MACH64 VGA card have updated ROM
;R04A	02/16/96 RCH	There two combinations for 150Mhz of 6x86, BIOS have
;			to check the clock mode and set right host clock
;			50Mhz for 3x mode and 66Mhz for 2x (75x2) mode,
;			because chipset only support up to 66Mhz, no 75Mhz
;R08A	02/15/96 TNY	Add RePrepare_LMEM_RESOURCE hook.
;R09A	02/15/96 KVN	Fixed bug for execute awdflash.exe hang
;R10	02/14/96 TNY	Public CompressVga_Seg for PCIPOST to used.
;R09	02/14/96 KVN	Added 640x480 logo display
;R05A	02/14/96 KVN	Fixed some SCSI card display string error
;R08	02/13/96 TNY	Support new VGA BIOS which's size is tenderable.
;R07	02/09/96 RAY	Support new VGA BIOS which's size is larger than 32k.
;R06	02/08/96 KVN	Initial POST_temp_byte value
;R05	02/07/96 KVN	Fixed ATi-MACH64 VGA card show POST screen error after
;			screen change scanline
;R04	02/07/96 RIC	Add Cyrix 6x86-P200+ (speed=75*2=150) CPU type.
;R03    02/06/96 RIC    Fix Lucky-Start CPU Speed 166 sometimes show 180.
;			Add "LUCKY_START_166_CPU_DETECT" define in bios.cfg
;R02	02/03/96 RIC	Modify P24C-83 CPU Speed Detect Value 80 to 81,
;			Because Pentiem-75 CPU Speed Show '83' in VLSI Lynx.
;R01	02/02/96 DRS	Add hook Weitek_Share_Vga_GCLK for special WEITEK onboard VGA
;R00	01/26/96 RCH	Clean all revisions and start from R00 , old file
;			is saved as e0post.125

.386P
;[]-----------------------------------[]
;
;   Award Software 386/486 BIOS
;	  Power-On Self-Test located in E0000-E7FFF area
;
;	Copyright (C) 1996
;	Award Software, Inc.
;	All Rights Reserved
;[]-----------------------------------[]

.XLIST

		INCLUDE BIOS.CFG

ifndef	No_Support_4_IDE		;support 4 HDDs as default
Support_4_IDE		EQU	1
endif	;No_Support_4_IDE
		INCLUDE BTROMSEG.EQU			;R59A
		INCLUDE COMMON.EQU
		INCLUDE POST.EQU
		INCLUDE ATORGS.EQU
		INCLUDE PORT61.EQU
		INCLUDE 8042.EQU
		INCLUDE 8259.EQU

		INCLUDE COMMON.MAC
		INCLUDE POST.MAC
		INCLUDE USERINT.MAC
;R59A		INCLUDE	PNP.EQU				;R59
ifdef RPB_ENABLED					;R143
		INCLUDE rpb_err.equ			;R143
endif ;RPB_ENABLED					;R143

		extrn	POST_decompress:near		;R152D
ifdef	HPM_Support					;R176
		extrn	Init_HPM:Near			;R176
		extrn	Post_init_hpm:Near		;R176
endif	;HPM_Support					;R176

ifdef	JUMPER_CMOS_CLEAR_SUPPORT	       		;R149
		extrn	Ct_Cmos_Jumper_Chk:near		;R149
endif;	JUMPER_CMOS_CLEAR_SUPPORT			;R149

;R168 - start
ifdef	LAN_BOOT_SUPPORT
		extrn	LanBoot_Item:near
endif;	LAN_BOOT_SUPPORT
;R168 - end

ifndef No_Post_Auto_IDE_Detect		;support auto-HDD detection as default
Post_Auto_IDE_Detect	equ	1
endif ;No_Post_Auto_IDE_Detect

		extrn	xcall_proc:near		;R145
		extrn	E000_Enter_Prot_mode:near	;R67
		extrn	E000_Back_Real_Mode:near	;R67

		extrn	BootSeq_Item:near	;R64

ifdef	NEW_SUPERIO_KERNEL			;R56
		extrn	Cut_Irq12:near		;R56
endif;	NEW_SUPERIO_KERNEL			;R56

		extrn	Temp_Int06:near		;R26
;R30 - start
ifdef	PNP_BIOS
ifdef	NEW_SUPERIO_KERNEL
ifdef	CT_IO_DECODE					;R30B
		extrn	Ct_Disable_IO_DECODE:near	;R30B
endif	;CT_IO_DECODE					;R30B
		extrn	Disable_SuperIO_ComLptPort:near
		extrn	Get_Node_IO:near
endif;	PNP_BIOS
endif;	NEW_SUPERIO_KERNEL
;R30 - end

ifdef	Support_4_IDE
		extrn	HDDE_ITEM:near
		extrn	HDDF_ITEM:near
endif	;Support_4_IDE

IF BUS_TYPE EQ EISA_BUS
		extrn	Eisa_Early_Init:near
		extrn	Init_Eisa_Slots:near
		extrn	Eisa_Error_Chk:near
endif;BUS_TYPE EQ EISA_BUS

ifdef	MP_SUPPORT
		extrn	If_MP_PLUGGED:near
endif;	MP_SUPPORT
ifdef	ACPI_SUPPORT					;R156A
		extrn	ACPITableAddress:near		;R156A
		extrn	ACPINVSAddress:near		;R156B
		extrn	RSD_PTR:near			;R182
		extrn	Ct_ACPI_Option:near		;R182
endif	;ACPI_SUPPORT					;R156A

ifdef	PS2_SETUPABLE
		extrn	PS2_select_item:near
		extrn	Clear_Ps2Mouse_Flag:near
endif	;PS2_SETUPABLE

		extrn	E_F000_Shadow_W:near	;R150
		extrn	E_F000_Shadow_R:near	;R150

QUERY_SYSTEM_ADDRESS_MAP	EQU	1	;enable INT 15H , 0E820H
ifdef	QUERY_SYSTEM_ADDRESS_MAP
		extrn	ExtData1Kb:near
		extrn	ExtMem128Mb:near
;R150		extrn	F000_Shadow_W:near
;R150		extrn	F000_Shadow_R:near
endif;	QUERY_SYSTEM_ADDRESS_MAP

;R185Mono_Card_support		=	1	;R181
;R185ifdef	EPA_LOGO_Use_Graphics			;R181
;R185FULL_SCREEN_LOGO	EQU	1		;R181
;R185CENTER_SHOW_LOGO	EQU	16		;R181
;R185No_Show_Graphic_POST_MSG	EQU	1	;R181
;R185AWARDLOGO_COLOR EQU	LIGHTBLUE		;R181
;R185endif;	EPA_LOGO_Use_Graphics			;R181

;R185ifndef	EPA_LOGO_Use_Graphics			;R181
;R185ifdef FULL_SCREEN_LOGO
ifdef	Graphics_Post					;R185
ifdef	Notebook_Power_Management			;R69
		extrn	Resume_POST_MSG:near		;R69
endif	;Notebook_Power_Management			;R69
ifndef	No_Show_Graphic_POST_MSG			;R114
		extrn	Graphic_POST_MSG:near
endif	;Notebook_Power_Management			;R69
		extrn	POST_INT9_Vect:near
		extrn	KBDINT_VECT:near
endif;	Graphics_Post					;R185
;R185Mono_Card_support		=	0	;R181
;R185endif ;FULL_SCREEN_LOGO
;R185endif;	EPA_LOGO_Use_Graphics			;R181

ifdef	PM_SUPPORT
		EXTRN	PM_Sign_On_Msg:NEAR
	IFDEF	NoteBook_Power_Management
		EXTRN	Check_0V_Resume:NEAR
		EXTRN	Show_PM_Config:NEAR
		EXTRN	Notebook_Resume:NEAR
;R173	ifndef	NO_LCD_DISPLAY				;R24
;R173		LCD_CRT_OPTION		EQU	1	;R24
;R173	endif	;NO_LCD_DISPLAY				;R24
	ENDIF	;NoteBook_Power_Management
;R173	ifdef	LCD_CRT_OPTION				;R24
;R173		ifdef	ONBOARD_PCI_VGA			;R163
;R173			extrn	PCI_VGA_INFO:near	;R163
;R173		endif	;ONBOARD_PCI_VGA		;R163
;R173		extrn	Set_SimulScan:NEAR		;R24
;R173	endif	;LCD_CRT_OPTION				;R24

		extrn	PM_Option_Check:near
		extrn	EARLY_PM_INIT:near
		extrn	Cfg_Video_Mode:near
ifndef NO_EPA_LOGO
		extrn	EPA_pattern:NEAR
endif ;NO_EPA_LOGO
;R181		extrn	Award_Mark_Font:Near
		extrn	Ct_PMRAM_Use_SYSRAM:near
		extrn	PM_INIT:near
		extrn	Ct_PM_Final_Init:Near
endif;	PM_SUPPORT

if	EPA_LOGO_Switch				;R181
		extrn	Award_Mark_Font:Near	;R181
endif	;EPA_LOGO_Switch			;R181

;R173 start
	ifdef	LCD_CRT_OPTION
		ifdef	ONBOARD_PCI_VGA
			extrn	PCI_VGA_INFO:near
		endif	;ONBOARD_PCI_VGA
		extrn	Set_SimulScan:NEAR
	endif	;LCD_CRT_OPTION
;R173 end
ifdef	AUTO_CFG_IO
		extrn	AUTO_CFG_IDE_PORT:near
endif;	AUTO_CFG_IO

ifdef	Turbo_Pin_Handler
		extrn	TB_SW_Input_Item:near
endif	;Turbo_Pin_Handler

ifdef	QUERY_SYSTEM_ADDRESS_MAP
		extrn	Setup_PS2:Near
endif;	QUERY_SYSTEM_ADDRESS_MAP

ifdef	No_Cyrix_Mark_For_M6M7
		extrn	Cyrix_Detect:near
endif	;No_Cyrix_Mark_For_M6M7

ifdef	PCI_BUS
		extrn	PCI_VGA_FOUND:abs			;R33A
		extrn	PciRom_Before_Init:near
		extrn	PciRom_After_Init:near
		extrn	Copy_ROM:Near
		extrn	Disable_UnUsed_Shadow:near	;R08A
		extrn	Before_PciVGARomInit:near	;R29
		extrn	Move_VGA_BIOS_To_C000:Near		;R106
		extrn	Release_Shadow_From_PCI_VGA:Near	;R106
endif;	PCI_BUS

ifdef	PNP_BIOS
		extrn	PNP_System_Resource:near
		extrn	PNP_Early_Init:near
		extrn	PNP_Video_Init:near
		extrn	PNP_BootDev_Init:near
		extrn	PNP_OptROM_Init:near
		extrn	PNP_Final_Init:near
		extrn	PNP_IPL_Init:near
		extrn	PNP_Disp_Logo:near
		extrn	PNP_SuperIO_Init:near
		extrn	Kill_Onboard_PnP_IO:near
		extrn	Superio_Early_Init:Near	;R159
endif	;PNP_BIOS

	Early_Init_PS2Mouse	=	0	;R169
ifdef	Password_ON_NOW_SUPPORT			;R164
ifdef	MOUSE_BUTTON_ON_SUPPORT			;R164
	Early_Init_PS2Mouse	=	1	;R169
;R169		extrn	Init_Ps2Mouse_Proc:near	;R164
endif;	MOUSE_BUTTON_ON_SUPPORT			;R164
endif;	Password_ON_NOW_SUPPORT			;R164
ifdef	Init_PS2Mouse_at_POST			;R169
	Early_Init_PS2Mouse	=	1	;R169
endif;	Init_PS2Mouse_at_POST			;R169
if	Early_Init_PS2Mouse			;R169
		extrn	Init_Ps2Mouse_Proc:near	;R169
endif;	Early_Init_PS2Mouse			;R169

ifdef	CLEAR_PASSWORD_SUPPORT
		extrn	Ck_Password_Switch:near
endif	;CLEAR_PASSWORD_SUPPORT

ifdef	NO_SYSTEM_CONFIG
		extrn	AX_To_DEC3:Near
		extrn	Show_SIX_DIGIT:near
endif	;NO_SYSTEM_CONFIG

ifdef	CD_ROM
		extrn	AUTO_CDROM_DETECT:near
endif	;CD_ROM

⌨️ 快捷键说明

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