📄 gpm.asm
字号:
page 60,132
title. GPM.ASM
.tfcond
;*****************************************************************;
;*****************************************************************;
;** **;
;** (C)Copyright 1985-1996, American Megatrends Inc. **;
;** **;
;** All Rights Reserved. **;
;** **;
;** 6145-F, Northbelt Parkway, Norcross, **;
;** **;
;** Georgia - 30071, USA. Phone-(770)-246-8600. **;
;** **;
;*****************************************************************;
;*****************************************************************;
;-----------------------------------------------;
; THIS MODULE HAS THE CODE FOR ;
; GREEN PC POWER MANAGEMENT ;
;-----------------------------------------------;
cgroup group _text
_text segment word public 'CODE'
assume cs:cgroup
;-----------------------------------------------;
; FOLLOWING ROUTINES USED FROM OTHER MODULES ;
;-----------------------------------------------;
public gpc_version ;
public smi_code_begin ;
;-----------------------------------------------;
; INCLUDE FILES ;
;-----------------------------------------------;
include gpm.cfg ; green PC configuration file
include gpmcseg.dat ; code segment data file in equate form
include biosdata.dat ; main core bios data file
include gpmcpu.mac ; macro file for different CPUs
include gpmcpu.equ ; equate file for different CPUs
include gpm.equ ; equate file
include gpm.dat ; data file
include cssgpm.equ ; include file for chipset specific equates
include cssgpm.dat ; include file for chipset data area
include gpm.mac ; macro file
include makeflag.equ
;-----------------------------------------------;
; ORGBASE EQUATE ;
;-----------------------------------------------;
; Moved to GPM.EQU as this equate needs to be ;
; shared by USB code. GPM.EQU file is also ;
; included in USB code. 08/22/1996 ;
;-----------------------------------------------;
;;;orgbase equ 8000h ;
;-----------------------------------------------;
.386p
;-----------------------------------------------;
;*****************************************************************;
;*****************************************************************;
;** **;
;** (C)Copyright 1985-1996, American Megatrends Inc. **;
;** **;
;** All Rights Reserved. **;
;** **;
;** 6145-F, Northbelt Parkway, Norcross, **;
;** **;
;** Georgia - 30071, USA. Phone-(770)-246-8600. **;
;** **;
;*****************************************************************;
;*****************************************************************;
;---------------------------------------------------------------;
; ORG 8000H ;
;---------------------------------------------------------------;
smi_code_begin label byte
;---------------------------------------------------------------;
;*****************************************************************;
;*****************************************************************;
;** **;
;** (C)Copyright 1985-1996, American Megatrends Inc. **;
;** **;
;** All Rights Reserved. **;
;** **;
;** 6145-F, Northbelt Parkway, Norcross, **;
;** **;
;** Georgia - 30071, USA. Phone-(770)-246-8600. **;
;** **;
;*****************************************************************;
;*****************************************************************;
;---------------------------------------------------------------;
; SUPPORT FOR APM/GREEN PC CODE USED AS STAND ALONE MODULE ;
;---------------------------------------------------------------;
; INIT_SMRAM_FAR ;
;---------------------------------------------------------------;
; ORG 8000H ;
;---------------------------------------------------------------;
init_smram_far proc far
call init_smram ;
retf
init_smram_far endp
;---------------------------------------------------------------;
; GPC_VERSION OFFSET ;
;---------------------------------------------------------------;
; ORG 8004H ;
;---------------------------------------------------------------;
dw cgroup:gpc_version - cgroup:smi_code_begin ; keeps the address of 'GPC_VERSION' label
;---------------------------------------------------------------;
; APM_VERSION_OFFSET ;
;---------------------------------------------------------------;
; ORG 8006H ;
;---------------------------------------------------------------;
dw cgroup:apm_version - cgroup:smi_code_begin ; keeps the address of 'APM_VERSION' label
;---------------------------------------------------------------;
; INIT_SMRAM_EARLY_POST_FAR ;
;---------------------------------------------------------------;
; ORG 8008H ;
;---------------------------------------------------------------;
init_smram_early_post_far proc far
call init_smram_early_post ;
retf
init_smram_early_post_far endp
;---------------------------------------------------------------;
; USB_VERSION OFFSET ;
;---------------------------------------------------------------;
; ORG 800CH ;
;---------------------------------------------------------------;
extern usb_version(dummy_string):byte
dw cgroup:usb_version ; keeps the address of 'USB_VERSION' label
;---------------------------------------------------------------;
; FUTURE USAGE AREA ;
;---------------------------------------------------------------;
; ORG 800EH ;
;---------------------------------------------------------------;
db 8 dup (?) ; available area for future usage
;---------------------------------------------------------------;
;*****************************************************************;
;*****************************************************************;
;** **;
;** (C)Copyright 1985-1996, American Megatrends Inc. **;
;** **;
;** All Rights Reserved. **;
;** **;
;** 6145-F, Northbelt Parkway, Norcross, **;
;** **;
;** Georgia - 30071, USA. Phone-(770)-246-8600. **;
;** **;
;*****************************************************************;
;*****************************************************************;
;---------------------------------------------------------------;
; RUN TIME CORE BIOS SMI HANDLER CODE ;
; RUN TIME CORE BIOS SMI HANDLER CODE ;
; RUN TIME CORE BIOS SMI HANDLER CODE ;
; RUN TIME CORE BIOS SMI HANDLER CODE ;
;---------------------------------------------------------------;
; All the code from here labelled as 'SMI_CODE_BEGIN' to the end;
; of the file labelled as 'SMI_CODE_END' will be copied to the ;
; smram. This code will execute in smram during the handling of ;
; smi. Any of these routines can be used during smi post as they
; will be available. Please make sure that any code needed during
; smi handler should be added after the label 'SMI_CODE_BEGIN' ;
; and before the label 'SMI_CODE_END'. ;
;---------------------------------------------------------------;
; FIXED ENTRY POINT FOR IRQ BASED REAL MODE APM ;
;---------------------------------------------------------------;
; ORG 8016H ;
;---------------------------------------------------------------;
; Input : As defined by the APM function ;
; Output: As defined by the APM function ;
; Register destroyed : As defined by the APM function ;
;---------------------------------------------------------------;
irq_apm_real_mode_entry_ext proc near
; jmp short irq_apm_real_mode_entry ; IRQ based APM real mode entry (ORG 8016H)
; nop ;
IF IRQ_HANDLING_SUPPORT
jmp irq_apm_real_mode_entry ; IRQ based APM real mode entry
ELSE
db 3 dup (?) ;
ENDIF
; nop ;
irq_apm_real_mode_entry_ext endp
;---------------------------------------------------------------;
; FIXED ENTRY POINT FOR CPU DETECT ;
;---------------------------------------------------------------;
; INTEL_AMD_PLUS_DETECT ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -