Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
;/* himem1.asm ; * ; * Microsoft Confidential ; * Copyright (C) Microsoft Corporation 1988-1991 ; * All Rights Reserved. ; * ; * Modification History ; * ; * Sudeepb 14-May-1991 Ported for NT XMS support ; */
page 95,160 title himem1 - A20 Handler stuff
.xlist include himem.inc include xmssvc.inc .list
public A20Handler extrn TopOfTextSeg:word extrn fA20Check:byte extrn A20State:byte
assume cs:_text,ds:nothing
;*--------------------------------------------------------------------------* ;* * ;* A20 Handler Section: * ;* * ;* The Init code copies the proper A20 Handler in place. * ;* * ;* NOTE: the A20 handler may be called from the Int 15h hook which does * ;* not set ds = _text. DO NOT ASSUME DS == _TEXT! * ;* * ;*--------------------------------------------------------------------------*
A20Handler:
;*----------------------------------------------------------------------* ;* * ;* TheA20Handler - Hardware Independent A20 handler for NT himem * ;* * ;* Enable/Disable the A20 line * ;* * ;* ARGS: AX = 0 for Disable, 1 for Enable, 2 for On/Off query * ;* RETS: AX = 1 for success, 0 otherwise * ;* if input AX=2 then Exit AX=0 means off and 1 means on * ;* REGS: AX and flags effected * ;* * ;*----------------------------------------------------------------------* TheA20Handler proc near cmp ax, 2 jne @F mov al, cs:A20State cbw ret @@: XMSSVC XMS_A20 ret TheA20Handler endp
End_A20Handler:
; Sudeepb NOTE: DONOT ADD ANY THING after End_A20Handler and before InstallA20.
;*----------------------------------------------------------------------* ;* * ;* InstallA20 - * ;* * ;* Install the A20 Handler * ;* * ;* ARGS: None * ;* RETS: None * ;* REGS: * ;* * ;*----------------------------------------------------------------------*
public InstallA20
InstallA20 proc near
mov fA20Check,1 ; A20 ON/OFF query supported mov [TopOfTextSeg],offset End_A20Handler clc ret InstallA20 endp
_text ends end
|