|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.02.2012, 00:32 | #1 |
Пользователь
Регистрация: 11.02.2012
Сообщений: 10
|
Регистр EBP
Приветствую!
Расскажите, пожалуйста, что это за регистр "EBP", для чего предназначен, для чего используется, пример его использования? Никак не пойму.. |
12.02.2012, 00:40 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Если цитировать Бредли, то это базовый регистр, который указывает на начало некоего блока данных.
К примеру есть массив двумерный EBP удобно будет хранить указатель на его первый элемент ESI удобно будет хранить указатель (или если быть точным смещение) на элемент-строку и уже само индексное смещение укажет на элемент массива-ячейку Что-то типа Код:
I'm learning to live...
|
12.02.2012, 04:16 | #3 |
Пользователь
Регистрация: 11.02.2012
Сообщений: 10
|
|
12.02.2012, 10:18 | #4 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
По сути это обычный регистр, но с одним отличием: при использовании его как базового при косвенной адресации, обращение происходит к сегменту стека. Это свойство используется для организации кадров стека при вызове функций для организации доступа к параметрам функции и локальным переменным.
Вот тут нашел пример как компиляторы организуют кадр стека: http://wasm.ru/article.php?article=1009004 |
12.02.2012, 13:10 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
12.02.2012, 13:58 | #6 | ||
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
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. |
||
12.02.2012, 19:32 | #7 |
Пользователь
Регистрация: 11.02.2012
Сообщений: 10
|
masm-ами пользуйтесь сами.
Я писал и пишу без прямого использования EBP, и понятия не имею для чего он. Ну хоть головой об стену - не понимаю. Последний раз редактировалось rpy3uH; 12.02.2012 в 19:51. |
12.02.2012, 19:54 | #8 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
EBP - это регистр, просто обычный регистр (хотя не очень обычный, но не суть). если не понимаешь для чего он и как используется, не парься, знание придёт со временем
|
12.02.2012, 19:54 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
масм тут не причем, когда будете сказать по стеку и при этом нужно помнить начало вашего кадра, то поймете как обычно его применяют.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
12.02.2012, 20:15 | #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 |