Страница: 1 |
|
Вопрос: ПОДСКАЖИТЕ ПОЖАЛУЙСТА
|
Добавлено: 15.11.09 19:38
|
|
Автор вопроса: aleksei
|
{
004135E0 push ebp ;помещаем в стек регистр ebp ЗАЧЕМ???
004135E1 mov ebp,esp ;переслать содержимое esp в регистр ebp ПОЧЕМУ???
004135E3 sub esp,0F0h ;целочисленное вычитание (0F0h - esp)
004135E9 push ebx ;помещаем в стек регистр ebx
004135EA push esi ; помещаем в стек регистр esi
004135EB push edi ; помещаем в стек регистр edi
004135EC lea edi,[ebp-0F0h] ;получение эффективного адреса (смещения) источника (ebp-0F0h)
004135F2 mov ecx,3Ch ;переслать содержимое 3Ch в регистр ecx
004135F7 mov eax,0CCCCCCCCh ;переслать содержимое 0CCCCCCCCh в регистр eax
004135FC rep stos dword ptr es:[edi] ;указание условного и безусловного повторения
;следующей за данной командой цепочечной операции
Ответить
|
Номер ответа: 1 Автор ответа: VerhoLom
Вопросов: 20 Ответов: 285
|
Профиль | | #1
|
Добавлено: 16.11.09 14:14
|
04135E0 push ebp ;помещаем в стек регистр ebp ЗАЧЕМ???
004135E1 mov ebp,esp ;переслать содержимое esp в регистр ebp ПОЧЕМУ???
004135E3 sub esp,0F0h ;целочисленное вычитание (0F0h - esp)
Это стандартный пролог начала функции. Первые 2 строки нужны для того, чтобы сохранить состояние стека на входе в функцию. push ebp сохраняет в стеке значение базы стека, а mov ebp,esp сохраняет в ebp значение верхушки стека. Стек растет вниз (сверху). Эта операция нужна для того, чтобы мы могли выделить в стеке место под наши внутренние переменные (а именно там они хранятся), а потом вернуть все обратно, как было до вызова (это делает команда mov esp,ebp/pop ebp в самом конце).
sub esp,0F0h - выделение места в стеке под какие-то переменные. Тут из esp вычитается F0 байт. Так мы выделяем в стеке место...
push ebx ;помещаем в стек регистр ebx
004135EA push esi ; помещаем в стек регистр esi
004135EB push edi ; помещаем в стек регистр edi
Просто сохраняем регистры в стеке.
mov ecx,3Ch
Сколько раз крутить цикл...
mov eax,0CCCCCCCCh
что сохранять в память
rep stos dword ptr es:[edi]
собственно цикл...
Ответить
|
Страница: 1 |
Поиск по форуму