{{page>en:templates:dosint}} ====== Int 21H, AH=58H, AL=01H ====== ===== Version ===== 2.11 and higher ===== Brief ===== SET MEMORY ALLOCATION STRATEGY ===== Family API ===== ===== Input ===== AH = 58h AL = 01h BL = new allocation strategy (see #01679) BH = 00h (DOS 5+) ===== Return ===== CF clear if successful CF set on error AX = error code (01h) (see #01680) ===== Notes ===== 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 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=[[en:docs:dos:api:int21:48|48h]],AH=[[en:docs:dos:api:int21:49|49h]],AH=[[en:docs:dos:api:int21:4a|4Ah]],INT 2F/AX=4310h"XMS",INT 67/AH=3Fh ===== Note ===== Text based on [[http://www.cs.cmu.edu/~ralf/files.html|Ralf Brown Interrupt List Release 61]] {{page>en:templates:int}} {{page>en:templates:fapi}}