#cdecl, #odecl, #idecl

Direktive zur Definition einer Parameterliste für den indirekten Aufruf von Methoden mittels Icall. Die Direktive definitiert wieviele und welche Art Parameter einer Parameterübergabe aussehen.

Dabei bedeutet:

  • #cdecl: Alle Parameter werden über den Stack übergeben.
  • #odecl: 1. Parameter wird über Registerblock A übergeben, Nachfolgende über den Stack (Luna Vorgabe).
  • #idecl: 1. und 2. Parameter werden über Registerblock A und B übergeben, Nachfolgende über den Stack. Jedoch darf der erste Parameter hierbei kein Ausdruck sein, sondern nur eine einzelne Variable, Adresse, Konstante o.Ä.

Syntax: #xdecl <datatype/void> Bezeichner( [<byRef/byVal>] <datatype>, .. )

Ein Beispiel für indirekte Aufrufe ist in der Beschreibung zum Befehl Icall zu finden.