| Switch | Purpose |
| Nnnn | Quantity of expanded memory allocated for expanded memory emaulation, represented in kilobytes. |
| on|off|auto | Set or change operational status of EMM386.EXE |
| /pnnnn | Specifies page frame addresses. |
| /pn=address | Specifies address for segment n |
| a=altregs | Assigns alternate register sets used for multitasking. The default is 7. |
| Altboot | Enables an alternative process for warm boots initiated by CTRL+ALT+DEL; for use when warm boots malfunction. |
| b=address | Specifies the starting address for EMS memory swapping; the default is hex address 4000h. |
| d=nnn | Retains DMA buffering equal to nnn KB |
| Frame=address | Specifies the 64KB page frame's starting address. |
| h=handles | Number of file handles that EMM386.EXE can utilize. |
| i=range | Include this memory range as available memory addresses. |
| I=nnn | Directs EMM386.EXE to leave available a specified quantity of extended memory after loading itself. |
| min=nnnn | Describes minimum amount of expanded memory provided by EMM386.EXE. The default EMS memory is 256KB. |
| Mn | Specifies a page-frame address; will be a number from 1 to 14, representing a pre-defined base address. |
| Noems | Prevents LIM3.2 expanded memory. |
| Novcpi | Disallows VCPI |
| Nohi | Directs EMM386.EXE to load itself into memory below 640KB. |
| Highscan | Restrics upper memory scanning. |
| Quiet | Suppresses display of EMM386.EXE loading messages. |
| ram=range | Specifies segment addresses for UMBs; also enables UMBs and expanded memory. |
| Rom=range | Allocates memory addresses for shadow RAM. |
| Verbose | Calls for status messages by EMM386.EXE when it starts up. |
| win=range | Specifies an address range to be used by Windows rather than EMM386.EXE. |
| x=range | Excludes this memory range from available memory addresses. |