Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Inline Assembler und automatische Optimierung?

  Alt 21. Feb 2005, 18:23
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;
Andreas
  Mit Zitat antworten Zitat