Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
back2root:ibm-pc-ms-dos:interrupts:int_21:int_21_4a [2023/01/10 11:55] – supprimée - modification externe (Unknown date) 127.0.0.1 | back2root:ibm-pc-ms-dos:interrupts:int_21:int_21_4a [2024/08/13 11:17] (Version actuelle) – frater | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== INT 0x21 - 0x4a - Resize Memory Block (DOS 2+) ====== | ||
+ | |||
+ | This function : | ||
+ | |||
+ | * modifies memory block allocated by [[back2root: | ||
+ | * can be used by program to shrink or increase the size of allocated memory | ||
+ | |||
+ | ===== Request/ | ||
+ | |||
+ | {{tablelayout? | ||
+ | ^ reg ^ value ^ descr ^ | ||
+ | | AH | ||
+ | | BX | ||
+ | | ES | ||
+ | |||
+ | ===== Return: ===== | ||
+ | |||
+ | ** CF is cleared if successful** | ||
+ | |||
+ | **CF is Set if error** | ||
+ | |||
+ | {{tablelayout? | ||
+ | ^ reg ^ descr ^ | ||
+ | | AX | Error Code (0x07, 0x08, 0x09) (See [[back2root: | ||
+ | | BX | maximum paragraphs available for specified memory block | | ||
+ | |||
+ | ===== Notes & Comments ===== | ||
+ | |||
+ | <WRAP round box> | ||
+ | * PC-DOS 2.1 and DOS 3.x will allocate the largest available block if CF is set. BX will equal the size allocated. | ||
+ | * under DOS 2.1-5.0, 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-5.0 coalesces any free blocks immediately following the block to be resized | ||
+ | </ | ||
+ | |||
+ | [[start|Back]] | ||