Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
en:docs:dos:api:int21:48 [2021/05/01 15:55] – created prokushev | en:docs:dos:api:int21:48 [2021/08/14 08:46] (current) – prokushev | ||
---|---|---|---|
Line 13: | Line 13: | ||
===== Family API ===== | ===== Family API ===== | ||
+ | [[en: | ||
===== Input ===== | ===== Input ===== | ||
- | AH = 48h | + | |
- | BX = number of paragraphs to allocate | + | BX = number of paragraphs to allocate |
===== Return ===== | ===== Return ===== | ||
- | CF clear if successful | + | |
- | | + | AX = segment of allocated block |
- | CF set on error | + | CF set on error |
- | | + | AX = error code (07h,08h) (see #01680 at AH=59h/ |
- | | + | BX = size of largest available block |
+ | |||
+ | ===== Macro ===== | ||
+ | |||
+ | <code asm> | ||
+ | INCLUDE DOS.INC | ||
+ | |||
+ | ALLOCATE_MEMORY bytes | ||
+ | </ | ||
===== Notes ===== | ===== Notes ===== | ||
- | | + | DOS 2.1-6.0 coalesces free blocks while scanning for a block to allocate |
- | | + | |
- | .COM programs are initially allocated the largest available memory | + | .COM programs are initially allocated the largest available memory block, and should free some memory with AH=49h before attempting any allocations |
- | | + | |
- | | + | under the FlashTek X-32 DOS extender, EBX contains a protected-mode near pointer to the allocated block on a successful return |
- | under the FlashTek X-32 DOS extender, EBX contains a protected-mode | + | |
- | | + | |
| | ||
===== See also ===== | ===== See also ===== | ||
- | AH=49h,AH=4Ah,AH=58h, | + | **[[en: |
===== Note ===== | ===== Note ===== |