Programs with the EXE extension are only given the amount of memory they need. These files have a header that indicates the minimum and maximum amount of memory needed for the program to run. Ideally, MS-DOS gives the program the maximum amount of memory requested. If that isn’t possible, it tries to satisfy the minimum requirement. If the minimum is more than the amount of main memory space available, then the program cannot be run.