The EMM386.EXE driver (reserved memory manager) provides DOS with the ability to utilize upper memory blocks (UMBs) to store programs and device drivers. UMBs reside in the 640KB to 1,024KB region of memory. The EMM386.EXE is also used to simulate expanded memory for DOS applications that utilize the 386 Enhanced mode. The EMM386.EXE is loaded with the CONFIG.SYS with the following syntax:
	DEVICE=[d:\path]EMM386.EXE [switches]
	DEVICE=C:\DOS\EMM386.EXE NOEMS I=B000-B7FF
EMM386.EXE Switches
SwitchPurpose
NnnnQuantity of expanded memory allocated for expanded memory emaulation, represented in kilobytes.
on|off|autoSet or change operational status of EMM386.EXE
/pnnnnSpecifies page frame addresses.
/pn=addressSpecifies address for segment n
a=altregsAssigns alternate register sets used for multitasking. The default is 7.
AltbootEnables an alternative process for warm boots initiated by CTRL+ALT+DEL; for use when warm boots malfunction.
b=addressSpecifies the starting address for EMS memory swapping; the default is hex address 4000h.
d=nnnRetains DMA buffering equal to nnn KB
Frame=addressSpecifies the 64KB page frame's starting address.
h=handlesNumber of file handles that EMM386.EXE can utilize.
i=rangeInclude this memory range as available memory addresses.
I=nnnDirects EMM386.EXE to leave available a specified quantity of extended memory after loading itself.
min=nnnnDescribes minimum amount of expanded memory provided by EMM386.EXE. The default EMS memory is 256KB.
MnSpecifies a page-frame address; will be a number from 1 to 14, representing a pre-defined base address.
NoemsPrevents LIM3.2 expanded memory.
NovcpiDisallows VCPI
NohiDirects EMM386.EXE to load itself into memory below 640KB.
HighscanRestrics upper memory scanning.
QuietSuppresses display of EMM386.EXE loading messages.
ram=rangeSpecifies segment addresses for UMBs; also enables UMBs and expanded memory.
Rom=rangeAllocates memory addresses for shadow RAM.
VerboseCalls for status messages by EMM386.EXE when it starts up.
win=rangeSpecifies an address range to be used by Windows rather than EMM386.EXE.
x=rangeExcludes this memory range from available memory addresses.