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

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

  Обновл. 16 Сен 2021  | 

 11732

 ǀ   6 

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

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

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

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

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

Allocated 16 kb of memory!

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

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

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

  1. Zerox:

    а будет продолжение по Nasm?

    1. Юрий:

      Скорее всего, нет.

  2. Dexel:

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

    1. Понас:

      Как часто выходят новые уроки? Это полный курс? (Сайт просто опупенный, вы даелаете офигенный ресурс ребята)

  3. Тимофей:

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

  4. manu:

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

Добавить комментарий для Zerox Отменить ответ

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