Function 4Ah            Set Memory Block Size

Changes the size of a memory block previously allocated by function
48h, or changes the amount of memory originally allocated to a
program by DOS.

Entry AH = 4Ah
BX = New block size, in paragraphs
ES = Segment address of the memory block to resize

Return Nothing
or
AX = Error code, if CF is set
| 07h Memory control blocks destroyed
| 08h Insufficient memory (BX = largest block)
| 09h Invalid memory block address

──────────────────────────────────────────────────────────────────

To resize a memory block allocated by Allocate Memory, ES must
specify the segment address returned in AX by function 48h.

To resize the amount of memory originally allocated to a program
(when loaded by DOS), ES must specify the segment address of the
program segment prefix (PSP).

If this function is used to decrease the size of a memory block,
the memory above the new limit is no longer owned by the program
and should not be used. If this function is used to increase the
size of a memory block, the contents of the new memory are not
defined.


If this function returns an error value of 8 (insufficient memory)
the BX register contains the number of paragraphs in the largest
available memory block.

──────────────────────────────────────────────────────────────────

Note
Under DOS 2.1+, if there is insufficient memory to expand the
block as much as requested, the block will be made as large as
possible. DOS 2.1+ coalesces any free blocks immediately following
the block to be resized.