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;