Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#8

AW: Assembler Parameter auf Stack legen

  Alt 25. Nov 2022, 12:51
Gut, so ist es wenigstens Eindeutig.
1. Paramater immer in RCX oder XMM0
2. Paramater immer in RDX oder XMM1
3. Paramater immer in R8 oder XMM2
4. Paramater immer in R9 oder XMM3
Rest auf dem Stack

Oder anders ausgedrückt in XMM3 pder R9 ist immer der 3. Parameter oder nichts.

---

Der Performance halber hätte ich möglichst viel auf den Stack gelegt,
aber größere Methoden kopieren das intern eh wieder auf den Stack, um das Register nutzen zu können.

Und eine Funktion mit 8 Parametrn (hälfte Floats), würde immer die Register RCX/RDX/R8/R9/XMM0/XMM1/XMM2/XMM3 belegen,
egal in welcher Reihenfolge die Parameter vorkämen.
(alles Weiter dann erst auf dem Stack, also ab dem 5. Float, bzw. dem 5. anderen Parameter erst das Jeweilige auf den Stack)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat