Einzelnen Beitrag anzeigen

Amicello

Registriert seit: 12. Sep 2016
11 Beiträge
 
#4

AW: Inline Assembler: CALL

  Alt 12. Sep 2016, 23:41
Jau.. genauso hab ich das jetzt auch umgesetzt. Ich habe die CALL-Adressen als Konstante definiert.
Die fertige DLL hab ich mir dann mal mit einem Debugger in der Praxis angesehen.

Delphi scheint das nicht als absolute Konstante im Programmcode zu verwursten, sondern legt schön eine 4-Byte breite Variable mit dem Wert als Inhalt an. In dem Fall recht praktisch!
Im Endprodukt steht dann ein CALL [xxxxxxxx] mit der Delphi-Internen Adresse der Variablen, dessen Inhalt dann auf das gewünschte Ziel zeigt. Passt!

Vielleicht nicht die eleganteste Lösung, aber funktioniert - und man braucht nicht den Umweg über ein zusätzliches Register.


const
adr_00845C55 : DWORD = $00845C55;

(...)

ASM
CALL [adr_00845C55]
END;
  Mit Zitat antworten Zitat