Note: This API call is for DOS personality only. Use Family API for portability.

2018/09/07 07:04 · prokushev

Int 21H, AH=58H, AL=00H


2.11 and higher



Family API


AH = 58h
AL = 00h


   CF clear if successful
     AX = current strategy (see #01679)
CF set on error
    AX = error code (01h) (see #01680)


the Set subfunction accepts any value in BL for DOS 3.x and 4.x;
  2 or greater means last fit
the Get subfunction returns the last value set
setting an allocation strategy involving high memory does not
  automatically link in the UMB memory chain; this must be done
  explicitly with AX=5803h in order to actually allocate high memory
a program which changes the allocation strategy should restore it
  before terminating
Toshiba MS-DOS v2.11 supports subfunctions 00h and 01h, as does the
  TI Professional MS-DOS v2.13
DR DOS 3.41 reportedly reverses subfunctions 00h and 01h
  (Table 01679)
Values for DOS memory allocation strategy:
 00h low memory first fit
 01h low memory best fit
 02h low memory last fit
---DOS 5+ ---
 40h high memory first fit
 41h high memory best fit
 42h high memory last fit
 80h first fit, try high then low memory
 81h best fit, try high then low memory
 82h last fit, try high then low memory      

See also

 AH=48h,AH=49h,AH=4Ah,INT 2F/AX=4310h"XMS",INT 67/AH=3Fh


en/docs/dos/api/int21/58/00.txt · Last modified: 2021/08/01 08:08 by prokushev