Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

передача управления   Найти похожие ветки 

 
Delphist2   (2010-05-04 04:06) [0]

Как сделать передачу управления из одной произвольной области программы в другую? goto не подходит, т. к. действует в пределах begin ... end.
В одной области я пишу:
push eip

А в другой:
pop edx
jmp edx

Это правильно?


 
Германн ©   (2010-05-04 04:16) [1]


> Это правильно?

Это бред.
Бред сивой кобылы в тёмную мартовскою (майскою) ночь.


 
Delphist2   (2010-05-04 05:28) [2]

Ну тогда так:
//одна область
var a:integer;
asm
mov a,eip
end;
...
//другая область
mov edx,a
jmp a

Или надо еще esp сохранять?


 
RWolf ©   (2010-05-04 15:44) [3]

В правильно спроектированной программе не возникает необходимости в таких передачах управления. Если возникает, нужно пересмотреть архитектуру программы.


 
Anatoly Podgoretsky ©   (2010-05-04 16:12) [4]

Нафига ты хакерскими методами решаешь данную задачу, зачем ты лезешь в Асм, который ты не понимаешь.


 
Сергей М. ©   (2010-05-04 16:42) [5]


> Delphist2   (04.05.10 04:06)  


procedure Foo;
begin
end;
..
Foo; // вот тебе та самая передача управления


 
Delphist2   (2010-05-05 04:06) [6]


> В правильно спроектированной программе не возникает необходимости
> в таких передачах управления.

Мне этот прием интересен сам по себе, без применения к какой-то конкретной программе.

>
> procedure Foo;
> begin
> end;
> ..
> Foo; // вот тебе та самая передача управления


Здесь будет возврат. Т. е. ф-я отработает, и управление вернется откуда ф-я была вызвана. А мне надо без возврата.

Как сохранить cs:eip не в стэк, а в глоб. переменные? Например, код
var a:integer;
asm
mov a,eip
end;
вызывает ошибку undeclared identifier: "eip"


 
Германн ©   (2010-05-05 04:16) [7]


> Delphist2   (05.05.10 04:06) [6]
>
>
> > В правильно спроектированной программе не возникает необходимости
> > в таких передачах управления.
>
> Мне этот прием интересен сам по себе

Сам по себе этот приём мало применим.
> Здесь будет возврат. Т. е. ф-я отработает, и управление
> вернется откуда ф-я была вызвана. А мне надо без возврата.
>
>

Объясни, что тебе нужно. Или что тебе интересно.


 
Германн ©   (2010-05-05 04:18) [8]

Что ломаем на сей раз?


 
Anatoly Podgoretsky ©   (2010-05-05 08:50) [9]

Говорили же - не лезь в ассемблер.


 
Anatoly Podgoretsky ©   (2010-05-05 08:51) [10]


> Объясни, что тебе нужно. Или что тебе интересно.

Ему нужно учиться тривиальному программированию или кнута.



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.256 c
3-1240631464
ddd329
2009-04-25 07:51
2010.08.27
Объединение записей


15-1269263611
ocean
2010-03-22 16:13
2010.08.27
Логи ISA 2006


15-1265220403
Jeltok
2010-02-03 21:06
2010.08.27
Помогите в 1 строчке по паскалю))


15-1265218127
Andy BitOff
2010-02-03 20:28
2010.08.27
Кто-нибудь работал с DigitalExpert?


15-1271746918
JohnKorsh
2010-04-20 11:01
2010.08.27
4 ядра в XP SP3.