Как привязаться к адресу текущей инструкции?

Тема в разделе "WASM.BEGINNERS", создана пользователем amvoz, 21 ноя 2009.

  1. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.625
    Адрес:
    Russia
    valterg
    mov EAX,$
    опирается на расчеты компилятора по аналогии с mov offset\lea
     
  2. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.625
    Адрес:
    Russia
    бросьте высокоуровневые предрассудки
     
  3. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    А как насчет таких двох процедур:
    procedure GetNextEIP(var eip:cardinal);
    asm
    pop [eax] //извлекаем адрес возврата
    push [eax]// ставим на место адрес
    end;
    procedure SetNextEIP(eip:cardinal);
    asm
    mov [esp],eax
    end;

    var
    x:cardinal;
    begin
    GetNextEIP(x);
    SetNextEIP(X);

    end.