![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.02.2012
Сообщений: 10
|
![]()
Приветствую!
Расскажите, пожалуйста, что это за регистр "EBP", для чего предназначен, для чего используется, пример его использования? Никак не пойму.. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Если цитировать Бредли, то это базовый регистр, который указывает на начало некоего блока данных.
К примеру есть массив двумерный EBP удобно будет хранить указатель на его первый элемент ESI удобно будет хранить указатель (или если быть точным смещение) на элемент-строку и уже само индексное смещение укажет на элемент массива-ячейку Что-то типа Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 11.02.2012
Сообщений: 10
|
![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]()
По сути это обычный регистр, но с одним отличием: при использовании его как базового при косвенной адресации, обращение происходит к сегменту стека. Это свойство используется для организации кадров стека при вызове функций для организации доступа к параметрам функции и локальным переменным.
Вот тут нашел пример как компиляторы организуют кадр стека: http://wasm.ru/article.php?article=1009004 |
![]() |
![]() |
![]() |
#5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#6 | ||
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]()
to ABCDEF1551
ebp - the stack-frame base pointer (указатель на стековый фрейм) Стековый фрейм - часть стека, выделяемая процедуре в момент её активации для хранения локальных переменных (определение из электронного словаря lingvo). Откройте следующий документ и запустите поиск по нему (введите: ebp) http://download.intel.com/design/pro...als/253665.pdf Найдёте там следующее: Цитата:
Скачайте MASM32 (он под номером 1, hutch) --> http://www.wasm.ru/toollist.php На первых страницах книги написано: Цитата:
Пишет Александр очень подробно, основательно и с математическим уклоном, что очень радует. К примеру, в книге есть метод Симпсона для нахождения интеграла. Конкретно о ebp написано в разделе "Память", в подразделе "Своеволие ассемблера". Но я вам советую прочитать весь раздел "Память". Вы всё сами увидите с помощью отладчика OllyDbg. |
||
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 11.02.2012
Сообщений: 10
|
![]()
masm-ами пользуйтесь сами.
Я писал и пишу без прямого использования EBP, и понятия не имею для чего он. Ну хоть головой об стену - не понимаю. Последний раз редактировалось rpy3uH; 12.02.2012 в 19:51. |
![]() |
![]() |
![]() |
#8 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
EBP - это регистр, просто обычный регистр (хотя не очень обычный, но не суть). если не понимаешь для чего он и как используется, не парься, знание придёт со временем
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
масм тут не причем, когда будете сказать по стеку и при этом нужно помнить начало вашего кадра, то поймете как обычно его применяют.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 11.02.2012
Сообщений: 10
|
![]()
Регистр который может использоваться как сегментный и обычный?
Последний раз редактировалось ABCDEF1551; 12.02.2012 в 20:20. Причина: Не плодить посты. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++/Абсолютный адрес регистра Ebp | coNsept | Общие вопросы C/C++ | 6 | 29.03.2011 12:56 |
Запись в регистр | Vitek-pm | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 10 | 17.02.2010 04:00 |
Регистр в таблицах БД | Alexij | БД в Delphi | 3 | 17.04.2008 13:38 |
Регистр символов | Никки | Общие вопросы Delphi | 1 | 22.12.2007 20:14 |
регистр | vitalik007 | Общие вопросы Delphi | 2 | 15.09.2007 02:41 |