Nächste Seite: Optionale Libraries ohne Implementation
Aufwärts: Externe Prozeduren, Libraries
Vorherige Seite: Libraries
Alle in der Definition eines Schnittstellen-Moduls enthaltenen Prozeduren
müssen jedoch eine
CODE-Anweisung enthalten, die ihren Offset in der Library-Tabelle
angibt. Der Compiler sorgt im Falle eines Prozeduraufrufs selbständig
dafür, dass das Register A6 mit der Adresse der Library geladen wird. Die
nachfolgende Anweisung ist dann JSR d(A6),
wobei für d der angegebene Offset verwendet wird.
Es ist auch möglich, CODE-Prozeduren in normalen Moduln zu definieren,
als Beispiel diene das Modul Timer.
In diesem Fall muss jedoch das Register
A6 explizit als Parameter der Prozedur auftreten. Bei einem Prozeduraufruf
wird das Register nicht geladen, weil es durch den Parameter bereits
gesetzt wurde. Es wird nur die Anweisung JSR d(A6)
ausgeführt.
Der Programmierer ist dafür verantwortlich, dass der A6-Parameter einen
gültigen Wert erhält, z.B. den Zeiger auf das geöffnete Device!
Claudio Nieder
2000-11-12