SYS (BASIC)
# SYS (BASIC)

Der BASIC-Befehl SYS dient beim Heimcomputer C64, C128, VC20, C16, C116 und Plus/4 zum Aufruf von Maschinenspracheprogrammen oder von Systemroutinen. Das entsprechende Maschinenspracheprogramm wird solange ausgeführt, bis dort der Befehl RTS (Assemblerbefehl: Rückkehr vom Unterprogramm) erfolgt. Danach wird das BASIC-Programm weiter ausgeführt.

Mit dem Befehl kann zu einer beliebigen Speicheradresse im Zahlenbereich von 0 bis 65535 gesprungen werden. Allerdings sollte die Speicheradresse dort ein funktionstüchtiges Maschinenspracheprogramm enthalten, das den RTS-Befehl enthält, da ansonsten keine vernünftige Programmausführung möglich ist.

Liegen die Zahlen nicht in den oben angegebenen Bereichen, so erscheint die BASIC-Fehlermeldung ?ILLEGAL QUANTITY ERROR.

Um Parameter an das Maschinenprogramm übergeben zu können, gab es zwei Ansätze. Entweder man benutzte im BASIC Programm den POKE-Befehl, um die Parameter an genau vorgegebenen Speicherzellen zu hinterlegen, wo sie das Maschinenprogramm dann auslesen konnte, oder man hängte die Parameter (mit Komma getrennt) direkt an den SYS-Befehl. Zu diesem Zweck musste allerdings das Maschinenprogramm bestimmte Routinen des BASIC-Interpreters aufrufen, welche das Auslesen der Parameter aus der SYS-Zeile übernahmen.

