Assembler - язык неограниченных возможностей
0e1cc9b4

Область памяти UMB


Функция DOS 58h — Считать/изменить стратегию выделения памяти

Ввод: АН = 58h
AL = 00h — считать стратегию
AL = 01h — изменить стратегию
ВХ = новая стратегия

    биты 2 – 0:

    00 — первый подходящий блок

    01 — наиболее подходящий блок

    11 — последний подходящий блок

биты 4 – 3:

    00 — обычная память

    01 — UMB (DOS 5.0+)

    10 — UMB, затем обычная память (DOS 5.0+)

AL = 02h — считать состояние UMB
AL = 03h — установить состояние UMB
ВХ = новое состояние: 00 — не используются, 01 — используются

Вывод: CF = 0, АХ = текущая стратегия для AL = 0, состояние UMB для AL = 2
CF = 1, AX = 01h, если функция не поддерживается (если не запущен менеджер памяти (например, EMM386) или нет строки DOS = UMB в CONFIG.SYS

Если программа изменяла стратегию выделения памяти или состояние UMB, она обязательно должна их восстановить перед окончанием работы.



Содержание раздела