Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Page     1-1


				page	58,132
				;******************************************************************************
					title	EMMDISP - EMM dispatcher
				;******************************************************************************
				;
				;   (C) Copyright MICROSOFT Corp. 1986
				;
				;   Title:	CEMM.EXE - COMPAQ Expanded Memory Manager 386 Driver
				;		EMMLIB.LIB - Expanded Memory Manager Functions Library
				;
				;   Module:	EMM Dispatcher
				;
				;   Version:	0.04
				;
				;   Date:	May 17, 1986
				;
				;******************************************************************************
				;
				;   Change log:
				;
				;     DATE    REVISION                  DESCRIPTION
				;   --------  --------  -------------------------------------------------------
				;   5/17/86	0	initial code
				;   6/14/86		modified registers on stack for exit and removed call
				;			to _emm_init (SBP).
				;   6/28/86    0.02	Name change from CEMM386 to CEMM (SBP).
				;   7/06/86    0.04	Changed data assumes to DGROUP (SBP).
				;   5/25/88             Changed function range check to cover LIM 4.0 (PC)
				;******************************************************************************
				;
				;   Functional Description:
				;	This module serves to trap Int 67h, place
				;	arguments on the stack and call the associated
				;	function 
				;
				;
				;******************************************************************************
				.lfcond					; list false conditionals
				.386p
				
				;******************************************************************************
				;	P U B L I C S
				;******************************************************************************
					public	int67_Entry
					public	dispatch_vector
				
				;******************************************************************************
				;	I N C L U D E S
				;******************************************************************************
					include	vdmseg.inc
			     C	
			     C	
			     C	;******************************************************************************
			     C	;
Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Page     1-2


			     C	;   (C) Copyright MICROSOFT Corp. 1986
			     C	;
			     C	;   Title:    MEMM - MICROSOFT Expanded Memory Manager 386
			     C	;
			     C	;   Module:   VDMSEG.INC - Segment Ordering and attributes for VDM
			     C	;
			     C	;   Version:  0.04
			     C	;
			     C	;   Date:     May 12, 1986
			     C	;
			     C	;   Author:
			     C	;
			     C	;******************************************************************************
			     C	;
			     C	;   Change log:
			     C	;
			     C	;     DATE    REVISION			DESCRIPTION
			     C	;   --------  --------	-------------------------------------------------------
			     C	;	      Original
			     C	;   05/12/86  A 	Cleanup and segment reorganization
			     C	;   06/03/86  C 	changed order and added STACK and STACK0,STACK0_SIZE
			     C	;   06/06/86  C 	changed CODE to _TEXT and DATA to _DATA
			     C	;   06/28/86  0.02	Name change from MEMM386 to MEMM
			     C	;   07/05/86  0.04	Re-organized to allow code seg move
			     C	;   06/03/88		add use16 to all segments
			     C	;
			     C	;******************************************************************************
			     C	ifndef INC_LIST
			     C	.list	; end of VDMSEG.INC
			     C	
					include vdmsel.inc
			     C	
			     C	
			     C	;******************************************************************************
			     C	;
			     C	;   (C) Copyright MICROSOFT Corp. 1986
			     C	;
			     C	;   Title:    MEMM - MICROSOFT Expanded Memory Manager 386
			     C	;
			     C	;   Module:   VDMSEL.INC - Selector Definitions for MEMM
			     C	;
			     C	;   Version:  0.05
			     C	;
			     C	;   Date:     May 12, 1986
			     C	;
			     C	;   Author:
			     C	;
			     C	;******************************************************************************
			     C	;
			     C	;   Change log:
			     C	;
			     C	;     DATE    REVISION			DESCRIPTION
			     C	;   --------  --------	-------------------------------------------------------
			     C	;	      Original
Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Page     1-3


			     C	;   05/12/86  A 	Cleanup and segment reorganization
			     C	;   06/07/86  C 	merged with module from Rick
			     C	;   06/28/86  0.02	Name change from MEMM386 to MEMM
			     C	;   07/10/86  0.05	Changed CODE_GSEL to RCODEA_GSEL
			     C	;   07/20/88		Remove debugger selectors
			     C	;
			     C	;******************************************************************************
			     C	ifndef INC_LIST
			     C	.list	; end of VDMSEL.INC
			     C	
					include	emmdef.inc
			     C	;******************************************************************************
			     C	;
			     C	;   (C) Copyright MICROSOFT Corp. 1986
			     C	;
			     C	;   Title:    CEMM.EXE - COMPAQ Expanded Memory Manager 386 Driver
			     C	;		EMMLIB.LIB - Expanded Memory Manager Library
			     C	;
			     C	;   Module:   EMMDEF.INC - defines for EMM code.
			     C	;
			     C	;   Version:  0.04
			     C	;
			     C	;   Date:     June 21, 1986
			     C	;
			     C	;******************************************************************************
			     C	;
			     C	;   Change log:
			     C	;
			     C	;     DATE    REVISION			DESCRIPTION
			     C	;   --------  --------	-------------------------------------------------------
			     C	;   06/21/86  Original
			     C	;   06/25/86  0.02	Changed HANDLE_CNT to 255 to match LIM spec (SBP).
			     C	;   06/28/86  0.02	Name change from CEMM386 to CEMM (SBP).
			     C	;   07/06/86  0.04	Changed save area struct (SBP).
			     C	;   05/25/88            Changed to meet LIM 4.0 Spec (PC)
			     C	;******************************************************************************
			     C	ifndef	INC_LIST
			     C	.list		; end of EMMDEF.INC
			     C	
			     C	
			     C	
			     C	
				;
				;******************************************************************************
				;	D E F I N E S
				;******************************************************************************
				;
 = 0000				FALSE		equ	0
 = FFFFFFFF			TRUE		equ	not FALSE
 = 000D				CR		equ	0dh
 = 000A				LF		equ	0ah
				
				mkvect	MACRO	name
					extrn	_&name:near
Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Page     1-4


					dw	offset _TEXT:_&name
				endm
				
				;******************************************************************************
				;	E X T E R N A L S 
				;******************************************************************************
				
 0000				_DATA	SEGMENT
				extrn	_EMMstatus:word
				extrn	Active_Status:byte
				extrn	Auto_Mode:byte
				extrn	_regp:word
 0000				_DATA	ENDS
				
				
				;******************************************************************************
				;	local data
				;******************************************************************************
				;
				; remove duplicated variables (defined in emmdata.asm)
				;
				;_DATA	SEGMENT
				;
				;_regp	label	word
				;	dw	0
				;	dw	0
				;
				;_DATA	ENDS
				
 0000				_TEXT	SEGMENT
				assume	cs:_text,ds:DGROUP,ss:DGROUP,es:DGROUP
				;
 0000  50 78 42				db	'PxB'
				;
				
 0003				dispatch_vector	label word
					mkvect	GetStatus
 0003  0000 E                1		dw	offset _TEXT:_GetStatus 
					mkvect	GetPageFrameAddress
 0005  0000 E                1		dw	offset _TEXT:_GetPageFrameAddress 
					mkvect	GetUnallocatedPageCount
 0007  0000 E                1		dw	offset _TEXT:_GetUnallocatedPageCount 
					mkvect	AllocatePages
 0009  0000 E                1		dw	offset _TEXT:_AllocatePages 
					mkvect	MapHandlePage
 000B  0000 E                1		dw	offset _TEXT:_MapHandlePage 
					mkvect	DeallocatePages
 000D  0000 E                1		dw	offset _TEXT:_DeallocatePages 
					mkvect	GetEMMVersion
 000F  0000 E                1		dw	offset _TEXT:_GetEMMVersion 
					mkvect	SavePageMap
 0011  0000 E                1		dw	offset _TEXT:_SavePageMap 
					mkvect	RestorePageMap
 0013  0000 E                1		dw	offset _TEXT:_RestorePageMap 
Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Page     1-5


					mkvect	GetPageMappingRegisterIOArray
 0015  0000 E                1		dw	offset _TEXT:_GetPageMappingRegisterIOArray 
					mkvect	GetLogicalToPhysicalPageTrans
 0017  0000 E                1		dw	offset _TEXT:_GetLogicalToPhysicalPageTrans 
					mkvect	GetEMMHandleCount
 0019  0000 E                1		dw	offset _TEXT:_GetEMMHandleCount 
					mkvect	GetEMMHandlePages
 001B  0000 E                1		dw	offset _TEXT:_GetEMMHandlePages 
					mkvect	GetAllEMMHandlePages
 001D  0000 E                1		dw	offset _TEXT:_GetAllEMMHandlePages 
					mkvect	GetSetPageMap
 001F  0000 E                1		dw	offset _TEXT:_GetSetPageMap 
					mkvect	GetSetPartial			; AH = 4Fh
 0021  0000 E                1		dw	offset _TEXT:_GetSetPartial 
										; 4.0 Functions...
					mkvect	MapHandleArray			; AH = 50h
 0023  0000 E                1		dw	offset _TEXT:_MapHandleArray 
					mkvect	ReallocatePages
 0025  0000 E                1		dw	offset _TEXT:_ReallocatePages 
					mkvect	GetSetHandleAttribute
 0027  0000 E                1		dw	offset _TEXT:_GetSetHandleAttribute 
					mkvect	GetSetHandleName
 0029  0000 E                1		dw	offset _TEXT:_GetSetHandleName 
					mkvect	GetHandleDirectory
 002B  0000 E                1		dw	offset _TEXT:_GetHandleDirectory 
					mkvect	AlterMapAndJump
 002D  0000 E                1		dw	offset _TEXT:_AlterMapAndJump 
					mkvect	AlterMapAndCall
 002F  0000 E                1		dw	offset _TEXT:_AlterMapAndCall 
					mkvect	MoveExchangeMemory
 0031  0000 E                1		dw	offset _TEXT:_MoveExchangeMemory 
					mkvect	GetMappablePAddrArray
 0033  0000 E                1		dw	offset _TEXT:_GetMappablePAddrArray 
					mkvect	GetInformation
 0035  0000 E                1		dw	offset _TEXT:_GetInformation 
					mkvect	AllocateRawPages
 0037  0000 E                1		dw	offset _TEXT:_AllocateRawPages 
					mkvect	AlternateMapRegisterSet
 0039  0000 E                1		dw	offset _TEXT:_AlternateMapRegisterSet 
					mkvect	PrepareForWarmBoot
 003B  0000 E                1		dw	offset _TEXT:_PrepareForWarmBoot 
					mkvect	OSDisable
 003D  0000 E                1		dw	offset _TEXT:_OSDisable 
				
				;*************************************
				;	int67_Entry(PFlag,DS,ES) - entry point for int 67 (EMM functions)
				;
				;	unsigned	PFlag;	/* non-zero = protected mode, else */
				;			   	/*    virtual or real mode */
				;	unsigned	DS;	/* DS segment value on entry to int67 */
				;	unsigned	ES;	/* ES segment value on entry to int67 */
				;
				;	ENTRY:
				;	    REAL or VIRTUAL mode
Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Page     1-6


				;		DS = DGROUP segment
				;	    PROTECTED mode
				;		DS = VDMD_GSEL
				;
				; At the point of the indirect call,
				; The stack looks as follows:
				;
				;
				;	+-------+
				;	|  FS	|		+2CH	<--- entry FS segment
				;	+-------+
				;	|  GS	|		+2AH	<--- entry GS segment
				;	+-------+
				;	|  ES	|		+28H	<--- entry ES segment
				;	+-------+
				;	|  DS	|		+26h	<--- entry DS segment
				;	+-------+
				;	| PFlag	|		+24h	<--- protected mode flag
				;	+-------+
				;	|  CS   |		+22h	<--- from FAR call to int67_handler
				;	+-------+
				;	|  ret	|		+20h	<--- CS:ret
				;	+-------+
				;	| EAX	|		+1C	<-+- from PUSH ALL
				;	+-------+			  |
				;	| ECX	|		+18	  V
				;	+-------+
				;	| EDX	|		+14
				;	+-------+
				;	| EBX	|		+10
				;	+-------+
				;	| ESP	|		+C
				;	+-------+
				;	| EBP	|		+8
				;	+-------+
				;	| ESI	|		+4
				;	+-------+
				;	| EDI	|		<--- regp
				;	+-------+
				;
				;*************************************
 003F				int67_Entry	proc	far
 003F  66| 60				pushad			; save all regs
 0041  8B EC				mov	bp,sp		;  SS:[BP] points to stack frame
				;
 0043  89 26 0000 E			mov	[_regp],sp	; regp points to regs on stack
 0047  8C 16 0002 E			mov	[_regp+2],ss	; regp now has a far ptr to regs
				
					;
					; validate function code
					;
 004B  80 EC 40				sub	ah,40h		; check if entry code too small
 004E  0F 82 0085 R			jb	i67_inv_exit	; if so, error exit
 0052  80 FC 1D				cmp	ah,(5Dh-40h)	; check if entry code too big
Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Page     1-7


 0055  0F 87 0085 R			ja	i67_inv_exit	; if so, error exit
					
					;
					; check for VDM off
					;
 0059  80 3E 0000 E 00			cmp	[Auto_Mode],0		;Q: Auto mode on ?
 005E  0F 85 006B R			jne	i67_jump		;  Y: go ahead
 0062  80 3E 0000 E 00			cmp	[Active_Status],0	;  N:Q: are we ON ?
 0067  0F 84 007F R			je	i67_off_err		;      N: exit with error code
				
					;
					; call through the jump table
					;
 006B				i67_jump:
 006B  86 E0				xchg	ah,al		; AL = function code
 006D  8B F0				mov	si,ax
 006F  86 E0				xchg	ah,al		; AH = function code again
 0071  81 E6 00FF			and	si,00FFh	; SI = function #
 0075  D1 E6				shl	si,1		; SI = table offset
 0077  2E: FF 94 0003 R			call	CS:dispatch_vector[si] ; call function
				
 007C				ok_exit:
 007C  66| 61				popad			; restore all regs
 007E  CB				ret			; bye!
				
 007F				i67_off_err:				; set h/w error
 007F  C6 46 1D 81			mov	byte ptr [bp.rAX+1],EMM_HW_MALFUNCTION
 0083  EB F7				jmp	ok_exit
				
 0085				i67_inv_exit:				; set invalid function code error
 0085  C6 46 1D 84			mov	byte ptr [bp.rAX+1],INVALID_FUNCTION
 0089  EB F1				jmp	ok_exit
				
 008B				int67_entry	endp
				
 008B				_TEXT	ENDS
				END

Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Symbols-1


Macros:

		N a m e			Lines

DWORD_ALIGN  . . . . . . . . . .  	   4
HANDLE2HANDLEPTR . . . . . . . .  	   2
MKVECT . . . . . . . . . . . . .  	   2
VALIDATE_HANDLE  . . . . . . . .  	   8

Structures and Records:

                N a m e                 Width   # fields
                                        Shift   Width   Mask    Initial

FRS_STRUC  . . . . . . . . . . .  	0052	0002
  FRS_WINDOW . . . . . . . . . .  	0000
  FRS_ALLOC  . . . . . . . . . .  	0050
GPPM_STRUC . . . . . . . . . . .  	0004	0002
  GPPM_COUNT . . . . . . . . . .  	0000
  GPPM_SEGS  . . . . . . . . . .  	0002
HANDLETABLE_STRUC  . . . . . . .  	0004	0002
  HT_INDEX . . . . . . . . . . .  	0000
  HT_COUNT . . . . . . . . . . .  	0002
LOG_PHYS_MAP_STRUCT  . . . . . .  	0004	0002
  LOG_PAGE_NUMBER  . . . . . . .  	0000
  PHYS_PAGE_NUMBER_SEG . . . . .  	0002
MAC_STRUCT . . . . . . . . . . .  	0016	0006
  MAC_TARGET_ADDRESS . . . . . .  	0000
  MAC_NEW_PAGE_MAP_LEN . . . . .  	0004
  MAC_NEW_MAP_ADDRESS  . . . . .  	0005
  MAC_OLD_PAGE_MAP_LEN . . . . .  	0009
  MAC_OLD_MAP_ADDRESS  . . . . .  	000A
  MAC_RESERVED . . . . . . . . .  	000E
MAJ_STRUCT . . . . . . . . . . .  	0009	0003
  MAJ_TARGET_ADDRESS . . . . . .  	0000
  MAJ_LOG_PHYS_MAP_LEN . . . . .  	0004
  MAJ_MAP_ADDRESS  . . . . . . .  	0005
MAPPABLE_PAGE  . . . . . . . . .  	0004	0002
  MAPPABLE_SEG . . . . . . . . .  	0000
  MAPPABLE_PG  . . . . . . . . .  	0002
MEM_MEMORY_DESCRIPTOR_STRUCT . .  	0007	0004
  MEM_MEMORY_TYPE  . . . . . . .  	0000
  MEM_HANDLE . . . . . . . . . .  	0001
  MEM_INITIAL_OFFSET . . . . . .  	0003
  MEM_INITIAL_SEG_PAGE . . . . .  	0005
MEM_STRUCT . . . . . . . . . . .  	0012	0003
  MEM_REGION_LENGTH  . . . . . .  	0000
  MEM_SOURCE . . . . . . . . . .  	0004
  MEM_DEST . . . . . . . . . . .  	000B
MHA_ARRAY0 . . . . . . . . . . .  	0004	0002
  MHA0_LOG_PG  . . . . . . . . .  	0000
  MHA0_PHYS_PG . . . . . . . . .  	0002
MHA_ARRAY1 . . . . . . . . . . .  	0004	0002
  MHA1_LOG_PG  . . . . . . . . .  	0000
Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Symbols-2


  MHA1_SEG . . . . . . . . . . .  	0002
R67_FRAME  . . . . . . . . . . .  	002E	000F
  RDI  . . . . . . . . . . . . .  	0000
  RSI  . . . . . . . . . . . . .  	0004
  RBP  . . . . . . . . . . . . .  	0008
  RSP  . . . . . . . . . . . . .  	000C
  RBX  . . . . . . . . . . . . .  	0010
  RDX  . . . . . . . . . . . . .  	0014
  RCX  . . . . . . . . . . . . .  	0018
  RAX  . . . . . . . . . . . . .  	001C
  RETADDR  . . . . . . . . . . .  	0020
  RCS  . . . . . . . . . . . . .  	0022
  PFLAG  . . . . . . . . . . . .  	0024
  RDS  . . . . . . . . . . . . .  	0026
  RES  . . . . . . . . . . . . .  	0028
  RGS  . . . . . . . . . . . . .  	002A
  RFS  . . . . . . . . . . . . .  	002C
SAVEMAP_STRUC  . . . . . . . . .  	000A	0002
  S_HANDLE . . . . . . . . . . .  	0000
  S_MAP  . . . . . . . . . . . .  	0002

Segments and Groups:

                N a m e         	Size	Length	 Align	Combine Class

DGROUP . . . . . . . . . . . . .  	GROUP
  _DATA  . . . . . . . . . . . .  	16 Bit	0000	WORD	PUBLIC	'DATA'
  CONST  . . . . . . . . . . . .  	16 Bit	0000	WORD	PUBLIC	'CONST'
  _BSS . . . . . . . . . . . . .  	16 Bit	0000	WORD	PUBLIC	'BSS'
GDT  . . . . . . . . . . . . . .  	16 Bit	0000	PARA	COMMON	
IDT  . . . . . . . . . . . . . .  	16 Bit	0000	PARA	COMMON	
LAST . . . . . . . . . . . . . .  	16 Bit	0000	PARA	PUBLIC	'LAST'
LDT  . . . . . . . . . . . . . .  	16 Bit	0000	PARA	COMMON	
PAGESEG  . . . . . . . . . . . .  	16 Bit	0000	PARA	PUBLIC	'PAGES'
R_CODE . . . . . . . . . . . . .  	16 Bit	0000	PARA	PUBLIC	'R_CODE'
STACK  . . . . . . . . . . . . .  	16 Bit	0000	PARA	STACK	'STACK'
TSS  . . . . . . . . . . . . . .  	16 Bit	0000	PARA	COMMON	
VDATA  . . . . . . . . . . . . .  	16 Bit	0000	WORD	PUBLIC	'VDATA'
_TEXT  . . . . . . . . . . . . .  	16 Bit	008B	BYTE	PUBLIC	'CODE'

Symbols:            

                N a m e         	Type	 Value	 Attr

ABOVE_CONV_END_PG  . . . . . . .  	NUMBER	0037	
ABOVE_CONV_END_SEG . . . . . . .  	NUMBER	DC00	
ABOVE_CONV_STRT_PG . . . . . . .  	NUMBER	0030	
ABOVE_CONV_STRT_SEG  . . . . . .  	NUMBER	C000	
ACCESS_DENIED  . . . . . . . . .  	NUMBER	00A4	
Active_Status  . . . . . . . . .  	V BYTE	0000	_DATA	External
Auto_Mode  . . . . . . . . . . .  	V BYTE	0000	_DATA	External

BACKWARD_COPY_FLAG . . . . . . .  	NUMBER	0020	
Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Symbols-3



COLOUR_GSEL  . . . . . . . . . .  	NUMBER	0068	
CONVENTIONAL_EMM_OVERLAP . . . .  	NUMBER	0094	
CONV_STRT_PG . . . . . . . . . .  	NUMBER	0010	
CONV_STRT_SEG  . . . . . . . . .  	NUMBER	4000	
CR . . . . . . . . . . . . . . .  	NUMBER	000D	

DEB1_GSEL  . . . . . . . . . . .  	NUMBER	0088	
DEB2_GSEL  . . . . . . . . . . .  	NUMBER	0090	
DEB3_GSEL  . . . . . . . . . . .  	NUMBER	0098	
DEB4_GSEL  . . . . . . . . . . .  	NUMBER	00A0	
DEB5_GSEL  . . . . . . . . . . .  	NUMBER	00A8	
DEBX_GSEL  . . . . . . . . . . .  	NUMBER	00B0	
dispatch_vector  . . . . . . . .  	L WORD	0003	_TEXT	Global
DUPLICATE_HANDLE_NAME  . . . . .  	NUMBER	00A1	

EGA1_GSEL  . . . . . . . . . . .  	NUMBER	0070	
EGA2_GSEL  . . . . . . . . . . .  	NUMBER	0078	
EMM1_GSEL  . . . . . . . . . . .  	NUMBER	0100	
EMM2_GSEL  . . . . . . . . . . .  	NUMBER	0108	
EMM32_PHYS_PAGES . . . . . . . .  	NUMBER	0004	
EMM_HW_MALFUNCTION . . . . . . .  	NUMBER	0081	
EMM_PAGE_CNT . . . . . . . . . .  	NUMBER	0800	
EMM_SW_MALFUNCTION . . . . . . .  	NUMBER	0080	

FALSE  . . . . . . . . . . . . .  	NUMBER	0000	
FRSETS_UNSUPPORTED . . . . . . .  	NUMBER	0099	
FRSET_INVALID_DMA  . . . . . . .  	NUMBER	009F	
FRSET_NON_ZERO . . . . . . . . .  	NUMBER	009C	
FRSET_NO_DMA . . . . . . . . . .  	NUMBER	009E	
FRSET_UNDEFINED  . . . . . . . .  	NUMBER	009D	
FRS_COUNT  . . . . . . . . . . .  	NUMBER	0010	

GDTD_GSEL  . . . . . . . . . . .  	NUMBER	0008	
GSPM_GET . . . . . . . . . . . .  	NUMBER	0000	
GSPM_GETSET  . . . . . . . . . .  	NUMBER	0002	
GSPM_SET . . . . . . . . . . . .  	NUMBER	0001	
GSPM_SIZE  . . . . . . . . . . .  	NUMBER	0003	

HANDLE_CNT . . . . . . . . . . .  	NUMBER	00FF	
HANDLE_NAME_NOT_FOUND  . . . . .  	NUMBER	00A0	

I386 . . . . . . . . . . . . . .  	TEXT  		
I67_INV_EXIT . . . . . . . . . .  	L NEAR	0085	_TEXT
I67_JUMP . . . . . . . . . . . .  	L NEAR	006B	_TEXT
I67_OFF_ERR  . . . . . . . . . .  	L NEAR	007F	_TEXT
IDTD_GSEL  . . . . . . . . . . .  	NUMBER	0010	
INSUFFICIENT_EMM_PAGES . . . . .  	NUMBER	0093	
int67_Entry  . . . . . . . . . .  	F PROC	003F	_TEXT	Global	Length = 004C
INVALID_FRSET  . . . . . . . . .  	NUMBER	009A	
INVALID_FUNCTION . . . . . . . .  	NUMBER	0084	
INVALID_HANDLE . . . . . . . . .  	NUMBER	0083	
INVALID_MEMORY_TYPE  . . . . . .  	NUMBER	0098	
INVALID_OFFSET . . . . . . . . .  	NUMBER	0095	
Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Symbols-4


INVALID_REGION_LENGTH  . . . . .  	NUMBER	0096	
INVALID_SUBFUNCTION  . . . . . .  	NUMBER	008F	
INVALID_WRAPAROUND . . . . . . .  	NUMBER	00A2	

K_GETC286  . . . . . . . . . . .  	NUMBER	00C0	
K_PUTC286  . . . . . . . . . . .  	NUMBER	00B8	

LDTD_GSEL  . . . . . . . . . . .  	NUMBER	0020	
LDT_GSEL . . . . . . . . . . . .  	NUMBER	0018	
LF . . . . . . . . . . . . . . .  	NUMBER	000A	
LOADALL_GSEL . . . . . . . . . .  	NUMBER	0080	
LOG_PAGE_RANGE . . . . . . . . .  	NUMBER	008A	

MAP_PREV_SAVED . . . . . . . . .  	NUMBER	008D	
MAX_ABOVE_CONV_PAGES . . . . . .  	NUMBER	0008	
MAX_PHYS_PAGES . . . . . . . . .  	NUMBER	0028	
MBSRC_GSEL . . . . . . . . . . .  	NUMBER	00E0	
MBTAR_GSEL . . . . . . . . . . .  	NUMBER	00E8	
MONO_GSEL  . . . . . . . . . . .  	NUMBER	0060	

NOHIMEM  . . . . . . . . . . . .  	TEXT  		
NOT_ENOUGH_EXT_MEM . . . . . . .  	NUMBER	0087	
NOT_ENOUGH_FREE_MEM  . . . . . .  	NUMBER	0088	
NO_MAP_SAVED . . . . . . . . . .  	NUMBER	008E	
NO_MORE_FRSETS . . . . . . . . .  	NUMBER	009B	
NO_MORE_HANDLES  . . . . . . . .  	NUMBER	0085	
NULL_HANDLE  . . . . . . . . . .  	NUMBER	0FFF	
NULL_PAGE  . . . . . . . . . . .  	NUMBER	FFFF	
NUM_CONV_PGS . . . . . . . . . .  	NUMBER	0018	

OEM0_GSEL  . . . . . . . . . . .  	NUMBER	0110	
OEM1_GSEL  . . . . . . . . . . .  	NUMBER	0118	
OEM2_GSEL  . . . . . . . . . . .  	NUMBER	0120	
OEM3_GSEL  . . . . . . . . . . .  	NUMBER	0128	
OK . . . . . . . . . . . . . . .  	NUMBER	0000	
OK_EXIT  . . . . . . . . . . . .  	L NEAR	007C	_TEXT
OS_DISABLED  . . . . . . . . . .  	NUMBER	0002	
OS_ENABLED . . . . . . . . . . .  	NUMBER	0001	
OS_IDLE  . . . . . . . . . . . .  	NUMBER	0000	
OVERLAPPING_EXCHANGE . . . . . .  	NUMBER	0097	
OVERLAP_FLAG . . . . . . . . . .  	NUMBER	0040	

PAGET_GSEL . . . . . . . . . . .  	NUMBER	00F0	
PAGE_MAPPABLE  . . . . . . . . .  	NUMBER	00FF	
PAGE_NOT_MAPPABLE  . . . . . . .  	NUMBER	0000	
PAGE_SIZE  . . . . . . . . . . .  	NUMBER	1000	
PFLAG_PATCH_CS_IP  . . . . . . .  	NUMBER	0008	
PFLAG_VIRTUAL  . . . . . . . . .  	NUMBER	0020	
PFLAG_VM . . . . . . . . . . . .  	NUMBER	0002	
PHYS_PAGE_RANGE  . . . . . . . .  	NUMBER	008B	

RCODEA_GSEL  . . . . . . . . . .  	NUMBER	00C8	
RM_IDT_GSEL  . . . . . . . . . .  	NUMBER	0038	
ROMDATA_GSEL . . . . . . . . . .  	NUMBER	0040	
Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Symbols-5



SAVED_PAGE_DEALLOC . . . . . . .  	NUMBER	0086	
SAVE_AREA_FULL . . . . . . . . .  	NUMBER	008C	
SOURCE_CORRUPTED . . . . . . . .  	NUMBER	00A3	
SOURCE_GT_DEST_FLAG  . . . . . .  	NUMBER	0080	
STACK0_SIZE  . . . . . . . . . .  	NUMBER	0200	

TAB_GDT  . . . . . . . . . . . .  	NUMBER	0000	
TAB_LDT  . . . . . . . . . . . .  	NUMBER	0004	
TOT_PHYS_PAGES . . . . . . . . .  	NUMBER	0040	
TRUE . . . . . . . . . . . . . .  	NUMBER	FFFFFFFF 
TSSD_GSEL  . . . . . . . . . . .  	NUMBER	0030	
TSS_GSEL . . . . . . . . . . . .  	NUMBER	0028	

USER1_GSEL . . . . . . . . . . .  	NUMBER	0130	

VALID_OVERLAP  . . . . . . . . .  	NUMBER	0092	
VDMCA_GSEL . . . . . . . . . . .  	NUMBER	00F8	
VDMC_GSEL  . . . . . . . . . . .  	NUMBER	0048	
VDMD_GSEL  . . . . . . . . . . .  	NUMBER	0050	
VDMS_GSEL  . . . . . . . . . . .  	NUMBER	0058	
VM1_GSEL . . . . . . . . . . . .  	NUMBER	00D0	
VM2_GSEL . . . . . . . . . . . .  	NUMBER	00D8	

ZERO_PAGES . . . . . . . . . . .  	NUMBER	0089	

@CPU . . . . . . . . . . . . . .  	TEXT  3471		
@FILENAME  . . . . . . . . . . .  	TEXT  emmdisp		
@VERSION . . . . . . . . . . . .  	TEXT  510		
_AllocatePages . . . . . . . . .  	L NEAR	0000	_TEXT	External
_AllocateRawPages  . . . . . . .  	L NEAR	0000	_TEXT	External
_AlterMapAndCall . . . . . . . .  	L NEAR	0000	_TEXT	External
_AlterMapAndJump . . . . . . . .  	L NEAR	0000	_TEXT	External
_AlternateMapRegisterSet . . . .  	L NEAR	0000	_TEXT	External
_DeallocatePages . . . . . . . .  	L NEAR	0000	_TEXT	External
_EMMstatus . . . . . . . . . . .  	V WORD	0000	_DATA	External
_GetAllEMMHandlePages  . . . . .  	L NEAR	0000	_TEXT	External
_GetEMMHandleCount . . . . . . .  	L NEAR	0000	_TEXT	External
_GetEMMHandlePages . . . . . . .  	L NEAR	0000	_TEXT	External
_GetEMMVersion . . . . . . . . .  	L NEAR	0000	_TEXT	External
_GetHandleDirectory  . . . . . .  	L NEAR	0000	_TEXT	External
_GetInformation  . . . . . . . .  	L NEAR	0000	_TEXT	External
_GetLogicalToPhysicalPageTrans .  	L NEAR	0000	_TEXT	External
_GetMappablePAddrArray . . . . .  	L NEAR	0000	_TEXT	External
_GetPageFrameAddress . . . . . .  	L NEAR	0000	_TEXT	External
_GetPageMappingRegisterIOArray .  	L NEAR	0000	_TEXT	External
_GetSetHandleAttribute . . . . .  	L NEAR	0000	_TEXT	External
_GetSetHandleName  . . . . . . .  	L NEAR	0000	_TEXT	External
_GetSetPageMap . . . . . . . . .  	L NEAR	0000	_TEXT	External
_GetSetPartial . . . . . . . . .  	L NEAR	0000	_TEXT	External
_GetStatus . . . . . . . . . . .  	L NEAR	0000	_TEXT	External
_GetUnallocatedPageCount . . . .  	L NEAR	0000	_TEXT	External
_MapHandleArray  . . . . . . . .  	L NEAR	0000	_TEXT	External
_MapHandlePage . . . . . . . . .  	L NEAR	0000	_TEXT	External
Microsoft (R) Macro Assembler Version 5.10                  5/17/24 09:44:41
EMMDISP - EMM dispatcher                                    Symbols-6


_MoveExchangeMemory  . . . . . .  	L NEAR	0000	_TEXT	External
_OSDisable . . . . . . . . . . .  	L NEAR	0000	_TEXT	External
_PrepareForWarmBoot  . . . . . .  	L NEAR	0000	_TEXT	External
_ReallocatePages . . . . . . . .  	L NEAR	0000	_TEXT	External
_regp  . . . . . . . . . . . . .  	V WORD	0000	_DATA	External
_RestorePageMap  . . . . . . . .  	L NEAR	0000	_TEXT	External
_SavePageMap . . . . . . . . . .  	L NEAR	0000	_TEXT	External


    833 Source  Lines
    893 Total   Lines
    241 Symbols

  46188 + 164890 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
