|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 9, 2004 08:09:27 Могу ли я использовать локальные переменные без использования addr То есть не так: -=-=-=-=-=-=-=-=-=-=-=-=-=-=- WinMain PROC LOCAL bla_bla :DWORD invoke ApiWindowsMustDie,addr bla_bla -=-=-=-=-=-=-=-=-=-=-=-=-=-=- А вот так: -=-=-=-=-=-=-=-=-=-=-=-=-=-=- WinMain PROC LOCAL bla_bla :DWORD push offset bla_bla call ApiWindowsMustDie -=-=-=-=-=-=-=-=-=-=-=-=-=-=- Мож я че не допираю? Если нельзя, то может кто напишет какой-нить макрос? :-) Чтоб было можно. Нуууу Ооочень нужно... |
|
|
Дата: Июн 9, 2004 09:13:43 DITREX Посмотри в листинге, какой код генерирует addr bla_bla сравни его со своим push offset bla_bla, почувствуй разницу и подумай об адресах известных на шаге компиляции и известных во время выполнения программы. |
|
|
Дата: Июн 9, 2004 09:46:29 В листинге посмотреть, конечно, тоже стоит, но на всякий случай: WinMain PROC LOCAL bla_bla :DWORD lea eax,bla_bla ;можно и другой регистр push eax call ApiWindowsMustDie |
|
|
Дата: Июн 9, 2004 10:12:30 Можна ж и так - invoke ApiWindowsMustDie,bla_bla ? Тут получиться : FF75 08 PUSH DWORD PTR SS:[EBP+8] FF15 50204000 CALL DWORD PTR DS:[<&user32.ApiWindowsMustDie>] |
|
|
Дата: Июн 9, 2004 10:25:45 Не путайте человека - не invoke ApiWindowsMustDie,bla_bla, а invoke ApiWindowsMustDie, ADDR bla_bla |
|
|
Дата: Июн 9, 2004 10:27:25 _Juicy Ты сам-то листинг видел? Директива addr собственно твой код и генерирует. bogrus Разве твой вариант помещает в стек адрес локальной переменной. |
|
|
Дата: Июн 9, 2004 10:49:48 Не путайте человека Это смотря кто кого ещё путает :) Он же не спросил в чём разница offset и addr . Разве твой вариант помещает в стек адрес локальной переменной. Нет , её содержимое . Я просто привёл пример использования локальных переменных без ADDR :))) |
|
|
Дата: Июн 9, 2004 11:13:34 На всяк случай процитирую : "Опеpатоp addr используется для пеpедачи адpеса метки (и не только) функции. Он действителен только в контексте диpективы invoke. Вы не можете использовать его, чтобы пpисвоить адpес метки pегистpу или пеpеменной . addr не может быть использован с метками, котоpые опpеделены впеpеди, а offset может. Hапpимеp, если метка опpеделена где-то дальше в коде, чем стpока с invoke , addr не будет pаботать." |
|
|
Дата: Июн 10, 2004 10:44:15push esp call foo |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.081 |