Главная страница
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.049 c
2-1272273312
HF-Trade
2010-04-26 13:15
2010.08.27
положение TStatusBar после SW_Restore


15-1268807889
b/@.
2010-03-17 09:38
2010.08.27
Разбор текстового файла. С чего начать ?


15-1270719800
oxothuk
2010-04-08 13:43
2010.08.27
COM порт


8-1205337835
Ramzes001
2008-03-12 19:03
2010.08.27
Запрет смены пропорций у фото


15-1266485663
Guresff
2010-02-18 12:34
2010.08.27
Как организовать прием платежей на сайте?