Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / GL20.doc
Скачиваний:
15
Добавлен:
20.05.2014
Размер:
212.99 Кб
Скачать

5: .Code

6: DelFromString PROC C USES esi edi, \

0040101C 55 push ebp

0040101D 8B EC mov ebp,esp

0040101F 83 C4 FC add esp,0FCh

00401022 56 Push esi

00401023 57 Push edi

В стек помещается старое значение EBP, после чегоEBPполучает свое значение из указателя стекаESP. Командаaddesp,0FChна самом деле вычитает изESPчисло 4. (Нетрудно убедиться, что расширение со знаком числаFCдаетFFFFFFFC, а это эквивалентно –4). Чтобы удостовериться в этом, можно вывести на экран окно с регистрами (View/Debugwindow/Registers). До выполнения командыESP= 0x0065fd30, а после выполненияESP= 0x0065fd2c. В окнеWatchв пустой ячейкеNameнабираем выражение 0x65FD30 – 0x65FD2Cи в полеValueполучаем ответ:

0x65fd30-0x65fd2c

0x00000004

Выделив эту строку, удаляем ее нажатием клавиши Del.

Наконец, в стек помещаются регистры ESI и EDI.

Соседние файлы в папке Лекции