В информатике карта памяти — это структура данных (которая обычно находится в самой памяти), которая указывает, как распределяется память . Термин «карта памяти» имеет разные значения в разных контекстах.
BIOS для персонального компьютера IBM и совместимых устройств предоставляет набор процедур, которые операционная система или приложения могут использовать для получения структуры памяти. Некоторые из доступных процедур:
Функция BIOS: INT 0x15, AX=0xE801: [1]
Этот вызов прерывания BIOS используется для получения размера памяти для конфигураций более 64 МБ. Он поддерживается версиями BIOS AMI , выпущенными 23 августа 1994 г. или позже. Вызывающая сторона устанавливает AX в 0xE801, а затем выполняет int 0x15. Если произошла какая-то ошибка, процедура возвращается с CF (флагом переноса), установленным в 1. Если ошибок нет, процедура возвращается с очищенным CF, а состояние регистров описывается следующим образом:
Функция BIOS: INT 0x15, AX=0xE820 — ПОЛУЧИТЬ КАРТУ СИСТЕМНОЙ ПАМЯТИ: [2]
Вход:
Структура буфера SMAP:
Как используется: Операционная система должна выделить в памяти буфер SMAP (20-байтовый буфер). Затем установите регистры, как указано в таблице «Вход». При первом вызове EBX должен быть установлен в 0. Следующим шагом является вызов INT 0x15. Если ошибок нет, вызов прерывания возвращается с очисткой CF и заполнением буфера данными, представляющими первую область карты памяти. EBX обновляется BIOS, поэтому, когда ОС снова вызывает процедуру, в буфер возвращается следующий регион. BIOS устанавливает EBX в ноль, если все сделано.