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

📄 e0post.asm

📁 award bios 源代码,喜欢汇编程序及想研究主板BIOS程序的人可以参考哦.我是费了老大的劲才找到的哦.
💻 ASM
📖 第 1 页 / 共 5 页
字号:

ifdef	VGA_SHARE_MEMORY
		extrn	Ct_Share_Memory_Size:near
endif	;VGA_SHARE_MEMORY

ifdef	SPECIAL_SHARE_MEMORY_SHOW					;R98B
		extrn	Ct_Share_Memory_Size:near			;R98B
endif	;SPECIAL_SHARE_MEMORY_SHOW					;R98B

ifdef	Special_for_Weitek				;R01
		extrn	Weitek_Share_Vga_GCLK:near	;R01
endif 	;Special_for_Weitek				;R01

;R44AIFDEF	USB_SUPPORT					;R44
;R44A		extrn	usb_kbd:near			;R44
;R44AENDIF	;USB_SUPPORT					;R44
ifdef	USB_SUPPORT					;R44C
;R96		extrn	Ct_SMI_Handler_Init:near	;R44C
;R63		extrn	Usb_Kbd:near			;R44C
		extrn	Usb_Init:near			;R63
		extrn	Report_USB_Keyboard:near	;R78
endif	;USB_SUPPORT					;R44C

ifdef	NEW_SUPERKBC_KERNEL				;R97
		extrn	Load_Key_Matrix:near		;R97
endif	;NEW_SUPERKBC_KERNEL				;R97

		extrn	SPURIOUS_INT_HDLR:near
ifndef	PCI_BUS							;R136
		extrn	Ct_Disable_C8_To_DF_Shadow:near
endif;	PCI_BUS							;R136
		extrn	Special_KBC_Init:near
		extrn	Init_Apic:near
		extrn	Show_Processor_Number:near

		EXTRN	ROM_AND_CMOS:NEAR
		EXTRN	ROM_OR_CMOS:NEAR
		EXTRN	A20_OFF:NEAR
		EXTRN	A20_ON:NEAR
		EXTRN	AX_To_HEX3:NEAR
		EXTRN	BATTERY_FAIL_MSG:NEAR
		EXTRN	BCD_TO_BINARY:NEAR
		EXTRN	BIOS_INFORM_STR:BYTE
		EXTRN	BTM_LINE_CLR:NEAR
		EXTRN	BUFFER_8042_FULL:NEAR
		EXTRN	Cache_Init:NEAR
		EXTRN	CKSM_ERROR_MSG:NEAR
		EXTRN	CODE_START:NEAR
		EXTRN	COLDBOOT:NEAR
		EXTRN	COPYRIGHT_MSG:BYTE
		EXTRN	CPU_CACHE:NEAR
		EXTRN	CPU_DISPLAY:NEAR
		EXTRN	CP_INSTALL:NEAR
		EXTRN	Ct_Auto_Check:NEAR
		EXTRN	CT_CACHE:NEAR
		EXTRN	CT_EARLY_SHADOW:NEAR
		EXTRN	Ct_Ext_Mem_Limit:NEAR
		EXTRN	Ct_Math_Detect:NEAR
		EXTRN	Ct_Option_Rom_Scan:NEAR
		EXTRN	Ct_Parity_Control:NEAR
		EXTRN	CT_REMAP:NEAR
		EXTRN	Ct_Show_Config:NEAR
		EXTRN	CURSOR_GET:NEAR
		EXTRN	CURSOR_ON:NEAR
		EXTRN	CURSOR_SET:NEAR
		EXTRN	CYRIX_INIT:NEAR
		EXTRN	DISP_DWORD_INT6:NEAR
		EXTRN	DISP_WORD_INT5:NEAR
		EXTRN	ENABLE_PARITY:NEAR
		EXTRN	EVAL_MSG:BYTE
		EXTRN	EVAL_MSG_CHKSUM:BYTE
		EXTRN	FIXED_DIAG_MSG:NEAR
		EXTRN	FLOPPY_MISMATCH_MSG:NEAR
		EXTRN	FLOPPY_RESET_MSG:NEAR
		EXTRN	FP_INSTALL:NEAR
		EXTRN	GET_CMOS:NEAR
		EXTRN	Get_CPU_Speed:NEAR
		EXTRN	HALT_ERR_MSG:NEAR
ifdef	Graphics_Post					;R185A
		EXTRN	FULL_HALT_MSG:NEAR		;R185A
endif;	Graphics_Post					;R185A
		EXTRN	HD_INSTALL:NEAR
		EXTRN	Init_Onboard_Io:NEAR
		EXTRN	INT_TBL:WORD
		EXTRN	IRET_VECT:NEAR
		EXTRN	SIGN_ON_CHKSUM:BYTE
		EXTRN	DISP_BYTE_HEX2:NEAR
		extrn	SPD_DEF:byte
		EXTRN	KBD_ERR_MSG:NEAR
		EXTRN	KB_OUT:NEAR
		EXTRN	KEY_LOCK_MSG:NEAR
		EXTRN	MEM_ERROR_MSG:NEAR
		EXTRN	MS_INSTAL:NEAR
		EXTRN	OK_MSG:NEAR
		EXTRN	OUT_8042:NEAR
		EXTRN	OUT_8042_FULL:NEAR
		EXTRN	OVERRIDE_ENABLE_STR:NEAR
;R177		EXTRN	Prg_Auto:NEAR
;R177		EXTRN	PRG_CHIPSET:NEAR
;R177		EXTRN	PRG_CHIPSET_DEFAULT:NEAR
		EXTRN	fProc_Prg_Auto:Far		;R177
		EXTRN	fProc_Prg_Chipset:Far		;R177
		EXTRN	fProc_Prg_Chipset_Default:Far	;R177
		EXTRN	REDO:NEAR
;R65		EXTRN	REPORT_ERR_WSPKR:NEAR
		EXTRN	RST_VECT:NEAR
		EXTRN	R_MOD_CK:NEAR
;R40		EXTRN	SECTOR_VERIFY_MSG:NEAR
		EXTRN	SEC_HRDWR_INTS:WORD
		EXTRN	SETSPEED:NEAR
		EXTRN	SETTINGS:BYTE
		EXTRN	Setup:NEAR
		EXTRN	SET_CMOS:NEAR
		EXTRN	SIGN_ON_MSG:BYTE
		EXTRN	SIGN_ON_MSG:BYTE
		EXTRN	SIZE_SYS_INITS:ABS
		EXTRN	SKIP_MEM_MSG:NEAR
		EXTRN	SND_SPKR:NEAR
		EXTRN	SYSTEM4_BYTE:BYTE
		EXTRN	SYSTEM5_BYTE:BYTE
		EXTRN	SYSTEM_BYTE:BYTE
		EXTRN	SYS_INITS:WORD
		EXTRN	TEST_EXT_MSG:NEAR
		EXTRN	TEST_MEM_MSG:NEAR
		EXTRN	TO_ENTER_SETUP:NEAR
;R40		EXTRN	UNABLE_INIT_MSG:NEAR
;R40		EXTRN	UNABLE_RECALIBRATE_MSG:NEAR
;R40		EXTRN	UNABLE_RESET_MSG:NEAR
;R40 start
		extrn	HDD_Drive0_Err_Str:near
		extrn	HDD_Drive1_Err_Str:near
		extrn	HDD_Drive2_Err_Str:near
		extrn	HDD_Drive3_Err_Str:near
;R40 end
		extrn	Disp_Access_mode:near
		EXTRN	USER_BEGIN:NEAR
		EXTRN	VCRLF:NEAR
		EXTRN	VID_SWITCH_MSG:NEAR
		EXTRN	VNORMAL:NEAR
		EXTRN	VREVERSE:NEAR
		EXTRN	WAIT_REFRESH:NEAR
		EXTRN	WORD_CHECKSUM:BYTE

		extrn	Unlock_Cyrix:near
		extrn	Lock_Cyrix:near

		extrn	Display_String:near
		extrn	Display_Char:near
		extrn	Chk_Intel_S_CPU:near
		extrn	Read_Cmos_To_Stack:near
ifndef	NO_FAST_A20					;R75
		extrn	GateA20_Item:near
endif;	NO_FAST_A20					;R75
ifndef	Support_1_FDD					;R140
		extrn	SwapFloppy_Item:near
endif	;Support_1_FDD					;R140
		extrn	Set_High_Speed:near
		extrn	Load_Auto_Cfg_D4:near
		extrn	Ct_Disable_E000_Vga:near
		extrn	Ct_Disable_Onboard_Vga:near
		extrn	Ct_Enable_Onboard_Vga:near
		extrn	Ct_Enable_E000_Vga:near
		extrn	CPU_Type_Clk:near
		EXTRN	IBMCPU_Cacheable_Size:Near
		extrn	QuickPost_Item:near
		extrn	CLR_SKIP_MEM_MSG:near
		extrn	Read_Memory:Near
		extrn	Later_cache_Sizing:near
		extrn	A20_Byte:byte
		extrn	Virus_Item:near
ifdef	Support_HDD_Write_Protect			;R147
		extrn	Hdd_Wt_Protect_Item:near	;R147
endif	;Support_HDD_Write_Protect			;R147
		extrn	Enter_Setup_Check:near
		extrn	HaltOn_Item:near
		extrn	Verify_Password:near
		extrn	Save_All_Cmos:near
;R75		extrn	Parity_Item:near
;R23		extrn	BootSpeed_Item:near
		extrn	CT_FINAL_INIT:near
		extrn	DayLight_Item:near
		extrn	NumLock_Item:near
;R23		extrn	TypeRate_Item:near
;R23		extrn	TypeDelay_Item:near
		extrn	Get_Item_Setup_D4:near
		extrn	Get_Item_Bios_D4:near
		extrn	GetItem_Value:near
		extrn	Restore_Cyrix_Reg:near
		extrn	Out_8042_Pin:near
		extrn	VGA_Buffer:near
		EXTRN	DRIVE_A_ITEM:Near
		EXTRN	HDDC_ITEM:Near
ifndef	Support_1_FDD					;R140
		EXTRN	DRIVE_B_ITEM:Near
endif	;Support_1_FDD					;R140
		extrn	Get_HDD_CMOS_Info:near
		EXTRN	Read_Item_Value:Near
		EXTRN	Video_Item:Near
		EXTRN	Show_SIX_DIGIT:Near
		Extrn	Get_Cache_Size:Near
		EXTRN	Transfer_Hdd_Parms:Near
		extrn	Wr_Cpu:near
		extrn	Restore_Speed:near
;R23		extrn	TypeSpeed_Item:near
		extrn	IntCache_Item:near
		extrn	ExtCache_Item:near

		extrn	E000_Shadow_R:near
		extrn	E000_Shadow_W:near
;R150		extrn	F000_Shadow_R:near
;R150		extrn	F000_Shadow_W:near
		extrn	C000_Shadow_R:near
;R08		extrn	C000_Shadow_W:near
		extrn	C000_Shadow_RW:near		;R08
		extrn	C800_Shadow:near
		extrn	CC00_Shadow:near
		extrn	D000_Shadow:near
		extrn	D000_Shadow:near
		extrn	D400_Shadow:near
		extrn	D800_Shadow:near
		extrn	DC00_Shadow:near
		extrn	Ct_Shadow_Alone_Check:near
		extrn	Ct_Shadow_Allow:near
		extrn	C000_Item:near
		extrn	C800_Item:near
		extrn	CC00_Item:near
		extrn	D000_Item:near
		extrn	D400_Item:near
		extrn	D800_Item:near
		extrn	DC00_Item:near
		extrn	Shadow_Dr:near
;R72		extrn	Move_Codes:near
		extrn	E000_Move_Codes:near		;R72
		extrn	Clear_Parity:near
		extrn	Do_F000_Shadow:Near

		EXTRN	HDDD_ITEM:Near
		EXTRN	Get_VarString_Offset:Near
		EXTRN	AX_To_DEC3:Near
		EXTRN	AX_To_DEC2:Near
		extrn	Mono_Style:near

		extrn	Tran_HDD_User_Type:Near
		extrn	Init_Onboard_Super_IO:near
		extrn	Init_Onboard_AUDIO:near
		extrn	Init_Onboard_Sensor:near	;R144
		extrn	Auto_Cfg_SuperIO:near		;R54
		extrn	Preint_19:near
		extrn	Cmos_Check_Sum:near

		extrn	F000_SET_CMOS:near
		extrn	F000_BUFFER_8042_FULL:near
		extrn	F000_OUT_8042_FULL:near
		extrn	CHECK_PS2_MOUSE_SUPPORT:near
		extrn	F000_GET_CMOS:near
		extrn	F000_GETITEM_VALUE:near
		extrn	F000_CPU_CACHE:near
		extrn	F000_OUT_8042:near
		extrn	F000_CURSOR_SET:near
		extrn	DISP_STR_IN_BIOS:near
		extrn	DISP_STR_IN_POST:near
		extrn	F000_VCRLF:near
;R89		extrn	DISP_INTEL_S_CPU:near
		extrn	Disp_Extra_CPU_Info:Near	;R89
		extrn	SYSCFG_CPU_CLOCK1:near
		extrn	TRY_SHADOW:near
		extrn	F000_DISPLAY_CHAR:near
		extrn	ISA_POST_CODE:ABS
		extrn	ISA_POST_TESTS:near
		extrn	RAM_POST_TESTS:near
		extrn	COMMON_POST_CODE:ABS
		extrn	COMMON_POST_TESTS:near
		extrn	RAM_POST_TESTS:near
		extrn	HALTSYSTEM:near
		extrn	TRY_ACTUAL_CACHE:near
		extrn	F000_VNORMAL:near
		extrn	F000_VREVERSE:near
		extrn	WAIT_REFRESH1:near
		extrn	Try_Other_Shadow:near
ifdef	PCI_BUS						;R07
		extrn	CT_C8_TO_DF_RW:near		;R07
		extrn	CT_SHADOW_UNIT:near		;R07
		extrn	CT_DISABLE_SHADOW:near		;R07
		extrn	LMEM_RESOURCE:ABS		;R07
		extrn	LMEM_BEFORE_ROM:ABS		;R07
		extrn	VGA_BIOS_LENGTH:ABS		;R08A
endif	;PCI_BUS					;R07

		extrn	Get_Cyrix:near
		extrn	Set_Cyrix:near
		extrn	F000_func_end:Near
		extrn	F000_VECT:Near

		extrn	Check_Upd:Near			;R76
		extrn	Get_Rtc_Byte:near		;R76
		extrn	Set_Rtc_Byte:near		;R76
		extrn	Valid_Century:near		;R76

;R59 - START
ifdef	FLASH_SUPPORT					;R59B
;R95 ifdef	Flash_2M_support
ifdef	AUTO_DETECT_EEPROM_ID				;R95
		extrn	Ct_ROM_Write_Enable:near
		extrn	Ct_ROM_Write_Disable:near
		extrn	CT_Enable_ROM_Shadow:near
		extrn	CT_Disable_ROM_Shadow:near
;R95		extrn	FLASH_ROUTINE_START:near
;R95		extrn	FLASH_ROUTINE_LEN:word
;R95		extrn	_2M_FLASH_ENTRY_POINT:near
;R95		extrn	_2M_FLASH_WRITE_ENTRY_POINT:near
		extrn	Ct_Init:near			;R95
		extrn	FLASH_ENTRY_POINT:near		;R95
		extrn	FLASH_WRITE_ENTRY_POINT:near	;R95
		extrn	Ct_Get_Flash:near		;R95
		extrn	Ct_Set_Flash:near		;R95
		extrn	Erase_Delay:near		;R95
		extrn	Write_Delay:near		;R95
		extrn	EEPROM_Wait_10ms:near		;R95
;R95 endif;	Flash_2M_support
endif;	AUTO_DETECT_EEPROM_ID				;R95
endif;	FLASH_SUPPORT					;R59B
;R59 - END

		extrn	Enable_M1_FarHit:near		;R85
		extrn	MEASURE_CPU_SPEED:Near		;R85
		extrn	MOV_SHAD_SEG:ABS		;R85
		extrn	Set_Cpu_MtRR:Near		;R85
	IF	BIOS_SUPPORT_686			;R85
		extrn	P6_BiosUpdate:near		;R85
	ifdef	MP_SUPPORT				;R85
		extrn	Init_Mtrr:near			;R85
	endif	;MP_SUPPORT				;R85
	ENDIF	;BIOS_SUPPORT_686			;R85
	IF	BIOS_SUPPORT_KLAMATH			;R85
		extrn	ConfigurePProL2Cache:Near	;R85
	ENDIF	;BIOS_SUPPORT_KLAMATH			;R85

	IF	BIOS_SUPPORT_586				;R89
		extrn	Try_Show_PRating:Near			;R89
	ENDIF	;BIOS_SUPPORT_586				;R89

		extrn	Check_K6_CPU:Near			;R90
		extrn	Prg_K5_Write_Allocate:Near		;R92

;R108 - start
ifdef	CMOS_BACKUP_SUPPORT
		extrn	Flash_Write:near
		extrn	Flash_Read:near
		extrn	Check_CMOS_Sum:near
endif	;CMOS_BACKUP_SUPPORT
;R108 - end

.LIST

;Macro for far calling from E-segment and the called routine is in F-segment
F000_call	MACRO	func_addr
		LOCAL	Ret_addr
		push	0e000h
		push	offset cs:Ret_addr
		push	offset F000_func_end
if ((.TYPE func_addr) and 10h)			;func_addr is register?
		push	func_addr		;Yes,direct push
else
		push	offset func_addr
endif
		FAR_JMP <OFFSET F000_VECT>,0F000H
Ret_addr:
		ENDM

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

G_RAM		SEGMENT USE16 AT 0

		ORG	04H*4
		INCLUDE SEG_0.INC

		ORG	400H
		INCLUDE G_RAM.INC

G_RAM		ENDS

⌨️ 快捷键说明

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