Metropoli BBS
VIEWER: mk_far.asm MODE: TEXT (ASCII)
;*****************************************************************************
; Filename: MK_FAR.ASM
;   Author: Peter Andersson
;  Version: 0.0
;  Created: 1994.09.19
;  Updated: 1995.03.11
;*****************************************************************************
; Copyright Peter Andersson, 1994-1995.
; All rights reserved.
;*****************************************************************************
; Function: PVOID @MK_FAR(PVOID address)
;  Comment: Converts a segment:offset to a 32bit pointer. The pointer which
;           are returned _does not_ wrap around at 1MB which means that
;           0FFFFh:0010h: returns a pointer to 100000h!
;    Input: Eax - address to convert
;  Returns: 32bit pointer
;*****************************************************************************

        Include STDDEF.INC

        Codeseg

Proc    MK_FAR  ,1
                Mov     Edx,Eax
                Shr     Eax,12
                And     Edx,0FFFFh
                And     Eax,0FFFF0h
                Add     Eax,Edx
                Add     Eax,[_zero]
                Ret
Endp

        End

[ RETURN TO DIRECTORY ]