Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:interrupts:int_21:int_21_4a

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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.1back2root:ibm-pc-ms-dos:interrupts:int_21:int_21_4a [2023/01/16 17:54] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== INT 0x21 - 0x4a - DOS 2+ - Resize Memory Block ======
 +
 +This function :
 +
 +  * modifies memory block allocated by [[back2root:ibm-pc-ms-dos:interrupts:int_21:int_21_48|int 0x21 - 0x48]].
 +  * can be used by program to shrink or increase the size of allocated memory
 +
 +===== Request/Call: =====
 +
 +{{tablelayout?rowsHeaderSource=Auto&colwidth=""}}
 +^  reg  ^  value  ^  descr                        ^
 +|  AH    0x4a                                 |
 +|  BX           | New memory size in paragraph  |
 +|  ES           | segment (block) to resize     |
 +
 +===== Return: =====
 +
 +** CF is cleared if successful**
 +
 +**CF is Set if error**
 +
 +{{tablelayout?rowsHeaderSource=Auto&colwidth=""}}
 +^  reg  ^  descr                                                                                                                                                                     ^
 +|  AX   | Error Code (0x07, 0x08, 0x09) (See [[back2root:ibm-pc-ms-dos:interrupts:int_21:int_21_59|Int 0x21, 0x59]], [[back2root:ibm-pc-ms-dos:hardware:informations:dos_error_code|Dos Error Code]])  |
 +|  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
 +</WRAP>
 + 
 +[[start|Back]]