![]() |
Re: Compiler ändert asm Code ?
Hi,
Zitat:
Das
Delphi-Quellcode:
gehört zu der stdcall Aufrufkonvention und wird vom compiler automatisch erzeugt. Also das hat schon alles so seine Richtigkeit ;)
push ebp
mov ebp, esp |
Re: Compiler ändert asm Code ?
Zitat:
Zitat:
|
Re: Compiler ändert asm Code ?
Zitat:
|
Re: Compiler ändert asm Code ?
Zitat:
|
Re: Compiler ändert asm Code ?
Zitat:
Zitat:
|
Re: Compiler ändert asm Code ?
So what? In einer reinen Assembler-Routine sind Parameter auf dem Stack kein Grund, einen Stackframe zu generieren.
|
Re: Compiler ändert asm Code ?
Da im Originalbeitrag
Delphi-Quellcode:
überhaupt nicht auf die Parameter zu gegriffen wird und auch via jmp eh nicht der Stackframe abgebaut wird kann man doch eigentlich gleich schreiben?
function xPostMessage(hWnd: hWnd; Msg: UINT; wParam: wParam; lParam: lParam): BOOL; stdcall;
asm mov edi, edi push ebp mov ebp, esp jmp OldDllFunc end;
Delphi-Quellcode:
Dann wird auch kein Stackframe erzeugt.
function xPostMessage: BOOL; stdcall;
asm mov edi, edi push ebp mov ebp, esp jmp OldDllFunc end; |
Re: Compiler ändert asm Code ?
Das war doch praktisch mein Vorschlag aus #2. Aber dann wird es eben hässlich, wenn man xPostMessage aus Delphi aufrufen will.
|
Re: Compiler ändert asm Code ?
Zitat:
|
Re: Compiler ändert asm Code ?
Aber den Stack sollte man trotzdem hinterher aufräumen. (oder man nimmt cdecl)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz