Эту функцию нужно вызывать в цикле до тех пор, пока не будет прочитана вся карта памяти.
Формат структуры таков:
struct { long long base; long long length; long type; };
Поле type может содержать следующие значения:
1 - Доступно для использования операционной системой;
2 - Зарезервировано (например, ROM);
3 - ACPI reclaim memory (Доступно для операционной системы после прочтения таблицы ACPI;
4 - ACPI NVS memory (Операционной системе требуется сохранять эту память между NVS сессиями).
Проверить как работает эта функция у меня не получилось, мой BIOS ее не поддерживает. :( Но в заключение скажу следующее. Все функции в случае ошибки (если функция не поддерживается) возвращают установленный флаг cf. В случае отсутствия новых функций необходимо обращаться к более старым.
Функции BIOS не работают в защищенном режиме, поэтому все эти операции необходимо производить еще до перехода в защищенный режим.