Создание операционной системы на ассемблере


Определение количества памяти через BIOS. - часть 2


Эту функцию нужно вызывать в цикле до тех пор, пока не будет прочитана вся карта памяти.

Формат структуры таков:

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 не работают в защищенном режиме, поэтому все эти операции необходимо производить еще до перехода в защищенный режим.





- Начало -  - Назад -  - Вперед -



Книжный магазин