Einzelnen Beitrag anzeigen

Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#17

AW: Rotate in Delphi-Language?

  Alt 28. Okt 2014, 14:18
Aber nun sind ja Value und Result ja im selben Register und schon weiß Delphi nicht mehr wo das Result hin ist.
Delphi-Quellcode:
function ROL(Value: Integer; Count: Byte): Integer; inline;
asm
  MOV &Result, &Value
  ROL &Result, &Count
end;
Und schon hat man wieder einen blöden Code.
Man könnte durch neue Postfixe bei den parametern dem Compiler mitteilen, dass ein Parameter sowohl als in als auch als out fungiert(out kanns nur einen geben, dann fällt das Result weg).

Sowas wie:

Delphi-Quellcode:
procedure ROL(InOut Value: Integer; Count: Byte);inline;
asm
  ROL &Value, &Count
end;
schon weiß der compiler wieder, wo der Hase lang läuft. Und festgelegten Output braucht man primär, wenn die inline funktion in einer expression benutzt wird.
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat