CodeNet / Языки программирования / Ассемблер / Прерывания DOS и BIOS
CodeNet / Платформы / Другие платформы / DOS / Прерывания DOS и BIOS
CodeNet / Платформы / Другие платформы / DOS / Прерывания DOS и BIOS
DOS Fn 48H: распределить память (дать размер памяти)
Вход
- AH = 48H
- BX = запрошенное количество памяти в 16-байтовых параграфах
Выход
- AX = код ошибки если CF установлен
- BX = размер доступной памяти в параграфах (если памяти нехватает)
- AX = сегментный адрес распределенного блока (если нет ошибок)
Описание:
распределяет блок памяти длиной BX параграфов, возвращая сегментный адрес этого блока в AX (блок начинается с AX:0000). если распределение неудачно, взводится Carry-флаг, в AX возвращается код ошибки, а BX содержит максимальный размер доступной для распределения памяти (в параграфах).
Чтобы определить наибольший доступный кусок, общепринято устанавливать BX=0ffffH перед вызовом. распределение завершится с ошибкой, возвратив размер максимального блока памяти в BX.
Замечание:
когда процесс получает управление через функцию 4bH EXEC, вся доступная память уже распределена ему.