Zitat von
himitsu:
also, wenn man in Delphi eine Assembler-Prozedur/Funktion erstellt, dann wird ja oftmals schon etwas Code vor und nach dem eigenem AssemblerCode ausgeführt, welche der Compiler, unabhängig von {$O-}, dort hinmacht (ein PUSH's und so).
Kann man dieses Verhalten irgendwie abstellen, wenn man es nicht brauch, oder muß ich dieses immer selber rückgängig machen, wenn ich sowas nicht gebrauchen kann?
Derzeit führe ich einfach die Umkehroperationen aus, um sowas loszuwerden und es funktioniert auch wunderbar, aber ohne diesen zusätzlichen und "unnötigen" Code wäre es mir lieber.
Delphi-Quellcode:
procedure MitBremborium;
begin // <==== das erzeugt den einleitenden Code
asm
Add edx, 0
....
end;
end;
// Das reserviert Wort inline und die Direktive assembler werden aus Gründen der
// Abwärtskompatibilität mitgeführt und haben keinerlei Auswirkung auf den Compiler.
procedure OhneBremborium;
assembler;
asm // ohne begin
...
end;