Цитата(XSInet @ 12.1.2006, 13:53 ) | | rsm ответь пожалуйста ! |
Да тута я, здеся.
ESP - расширенный регистр указателя стека. С помощью этого регистра происходит обращение к данным, хранящимся в стеке. Пример использования:
EBP - расширенный регистр указателя стекового фрейма. Обычно используется при вызове функций для указания на аргументы функции и для ссылок на локальные переменные. Пример использования:
| Код | proc DialogProc ; HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam mov eax,[ebp+08] ; mov eax,hDlg mov eax,[ebp+0C] ; mov eax,uMsg mov eax,[ebp+10] ; mov eax,wParam mov eax,[ebp+14] ; mov eax,lParam ;... endp
|
EIP - регистр указателя команд. Содержит адрес команды, которая будет выполнена следом за текущей. Напрямую используется довольно редко. Один из вариантов использования - при работе с функцими DebugApi для управления отлаживаемой программой. Или вот еще пример самой маленькой программы (2 байта), намертво вешающей Win9х:
| Код | jmp eip ; бесконечный цикл
|
ESI - расширенный индексный регистр источника. Используется для быстрой пересылки данных из одной области памяти в другую. Пример использования:
| Код | array rb 4 ; ... mov esi,array mov al,byte [esi] mov ax,word [esi] mov [esi],eax
| |