Задать вопрос
mrjbom
@mrjbom

Как узнать адрес стека в x86 архитектуре?

Привет.
В своём ядре мне требуется найти диапазон в котором находится стек.
В секции .text я настраиваю esp так:
mov esp, stack_space
А в секции .bss резервирую место для стека
section .bss
resb 8192
stack_space:

Полный код можно найти здесь

Теперь, мне нужно найти адрес где начинается стек.
Я знаю что он растёт вниз, а значит если его адрес например 0x3000, а размер выделенный с помощью resb составляет 2КБ, то диапазон в котором располагается стек будет 0x1000 - 0x3000, верно?
Но как мне найти его адрес?
  • Вопрос задан
  • 429 просмотров
Подписаться 2 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
  • Stepik
    "Поколение Python": курс для начинающих
    1 неделя
    Далее
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
как мне найти его адрес?

Поставить метку в нужном месте. Загрузить адрес метки в регистр
section .bss
stack_bottom:
resb 8192
stack_top:
.text
mov eax, stack_bottom
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы