Ассемблер. Управление памятью

  Светлана Деменева  | 

  Обновл. 30 Дек 2019  | 

 3433

 ǀ   3 

Системный вызов sys_brk() предоставляется ядром для выполнения выделения памяти без необходимости перемещать её позже. Эта системная функция позволяет установить наибольший доступный адрес в секции data.

Этот наибольший адрес памяти, который необходимо установить и является единственным параметром, принимаемым данным системным вызовом. Это значение сохраняется в регистре EBX.

В случае возникновения любой ошибки, системный вызов sys_brk() возвращает -1 или фактический код ошибки.

В следующем примере демонстрируется динамическое выделение 16 КБ памяти с помощью системного вызова sys_brk():

Результат выполнения программы выше:

Allocated 16 kb of memory!

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (9 оценок, среднее: 5,00 из 5)
Загрузка...

Комментариев: 3

  1. Аватар Dexel:

    Классно всё разжовано!
    Вот если бы аппаратные прерывания разжевали)
    IDTR, перехват прерываний, …

  2. Аватар Тимофей:

    Это самые лучшие уроки по Ассемблеру!
    Будет продолжение? Продолжите пожалуйста!

  3. Аватар manu:

    Курс великолепен. Огромное спасибо автору за проделанную работу.
    Просто о сложном.
    Где тут у вас донат ?

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *