Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Условные переходы в асм-вставках


Страницы:   1 2

A.L.E.X.A.N.D.E.R ©   (2007-12-08 16:21:00) 

Столкнулся со следующей проблемой :
При написании асм-вставки необходимо выполнить условный переход (в моем случае JZ) на адрес , лежащий за пределами моего инжект-кода , т.е. в процессе , в к-й будет производиться ижект .
С JMP'ом всё прекрасно получилось , а с условынми переходами - не знаю как .
Помогите пожалуйста , заранее огромное спасибо )


Сергей М.   (2007-12-10 13:57:00) [21]


> DiamondShark ©   (10.12.07 13:40) [6]


Ты, видимо, опять пьян.


> на момент компиляции положение точки перехода неизвестно


Оно нафих не нужно во время компиляции для решения упомянутой автором задачи.

Ути-пути.


DiamondShark   (2007-12-10 13:40:00) [22]


> В чем исходная задача-то?

Чего-нибудь крякнуть, вестимо.


> Сергей М. ©   (10.12.07 08:18) [5]
> Точно так же, разницы абсолютно никакой.

Ути-пути.


> A.L.E.X.A.N.D.E.R ©   (08.12.07 16:21)  


> При написании асм-вставки необходимо выполнить условный
> переход (в моем случае JZ) на адрес , лежащий за пределами
> моего инжект-кода , т.е. в процессе , в к-й будет производиться
> ижект .
> С JMP'ом всё прекрасно получилось , а с условынми переходами
> - не знаю как .

Никак. Условные переходы только относительные по 8-, 16- или 32-битному смещению.
А так как на момент компиляции положение точки перехода неизвестно, то и вычислить смещение не представляется возможным.

Используй JMP, а условные переходы для обхода JMP.


Сергей М.   (2007-12-10 08:18:00) [23]


> JMP'ом всё прекрасно получилось , а с условынми переходами
> - не знаю как


Точно так же, разницы абсолютно никакой.


Юрий Зотов   (2007-12-08 18:01:00) [24]

> A.L.E.X.A.N.D.E.R ©   (08.12.07 16:43) [3]

Не, в такой консерватории что-то неладно. В смысле - структуризация кода какая-то очень подозрительная. В чем исходная задача-то?


A.L.E.X.A.N.D.E.R   (2007-12-08 16:43:00) [25]


> То есть как - джамп за пределы текущей процедуры/метода?
>  А кто же стек восстанавливать будет?

текущая `процедура` используется только , как место в котором хранится код , на неё саму идет JMP )


Dib@zol   (2007-12-08 16:34:00) [26]

Юзай CALL. Или проставляй как JMP, а при ветвлении, если условие не выполнено, перепрыгивай етот JMP.


Юрий Зотов   (2007-12-08 16:31:00) [27]

То есть как - джамп за пределы текущей процедуры/метода? А кто же стек восстанавливать будет?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо