Главная страница
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.057 c
2-1265793361
tippa
2010-02-10 12:16
2010.08.27
потоки и общая константа


10-1164625334
ga3
2006-11-27 14:02
2010.08.27
фреймы вложенные в другие фреймы


2-1272197685
serhiyiv
2010-04-25 16:14
2010.08.27
Получить дескриптор окна ОПЕРЫ!!!


15-1265835502
Petr V. Abramov
2010-02-10 23:58
2010.08.27
реклама в инете


15-1273841536
pasha_golub
2010-05-14 16:52
2010.08.27
Просьба владельцам телефонов