Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2015, 06:22   #1
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию Вопрос по выравниванию стэка -> "andl $-16, %esp"

есть программа

Код:
_main:
        pushl   %ebp            # 0xbffff418
        movl    %esp, %ebp      # 0xbffff418

        subl    $8, %esp        # 0xbffff410
        andl    $-16, %esp      # 0xbffff3f0
Но если отнять от 0xbffff418 - 8 выходит 0xbffff412
то почему %esp равен 0xbffff410



Тоже самое и с 0xbffff3f0 - 16 = 0xBFFFF3FA

Но он
Код:
0xbffff3f0
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 04.09.2015, 06:28   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Что то я напутал наверное
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 04.09.2015, 09:10   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Но если отнять от 0xbffff418 - 8 выходит 0xbffff412
то почему %esp равен 0xbffff410
Ну как из 8 - 8 у вас получилось 2, а не 0?

Цитата:
Тоже самое и с 0xbffff3f0 - 16 = 0xBFFFF3FA
Где вы это нашли? Вы не знаете команду И?

Последний раз редактировалось p51x; 04.09.2015 в 09:14.
p51x вне форума Ответить с цитированием
Старый 04.09.2015, 12:37   #4
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Да это я перепутал. Сам заметил потом уже.
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 08.09.2015, 02:33   #5
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от pompiduskus Посмотреть сообщение
Но если отнять от 0xbffff418 - 8 выходит 0xbffff412
..там может валяться адрес возврата
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 08.09.2015, 23:48   #6
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Если "%ebp -> 0xbffff418" то адрес возврата разве не 0xbffff414

получается.

Код:

 4(%ebp) # return 0; ?
  (%ebp)  # Если это == 0xbffff418 то 4(%ebp) == 0xbffff414 ??
-4(%ebp)
Адрес %eax == return 0; Же не меняется если я передаю в функцию параметры ?
Или меняется ?

Как я понял схема всега вот такая ?

Код:

+---------------+
|  12(%ebp)     | ...
+---------------+
|   8(%ebp)     | == аргументы  передаваемые в функ.
+---------------+
|   4(%ebp)     | == return arddess 
+---------------+
|    (%ebp)     | <= %ebp
+---------------+
|  -4(%ebp)     | переменые локальные, если такие есть
+---------------+
|  -8(%ebp)     | ...
+---------------+
| -12(%ebp)     | ...
+---------------+
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04