AMIGA BASIC — Befehlsübersicht (durchsuchbar)
Diese Seite bietet eine schnelle Referenz aller wichtigen AMIGA BASIC-Befehle mit kurzer Beschreibung und Beispielcode. Nutze die Suche, um Befehle und Funktionen sofort zu finden.
Tipp: Suche nach Teilenamen, z.B. OBJECT zeigt alle Object.*-Anweisungen.
Befehlsübersicht (Auszug / Referenz)
Die Tabelle zeigt Befehl, kurze Funktion und ein Beispiel. Die Beschreibungen und Beispiele beruhen auf dem Amiga Basic Handbuch.
| Befehl / Funktion | Kurzbeschreibung | Beispiel |
|---|---|---|
| Gibt Text oder Variablen im Ausgabefenster aus. | PRINT "Hallo Amiga", 2+3 |
|
| INPUT | Liest Eingaben vom Benutzer (mit Prompt). | INPUT "Name?"; name$ |
| FOR … NEXT | Schleifen mit Zähler (definierte Anzahl Durchläufe). | FOR i=1 TO 10: PRINT i: NEXT i |
| IF … THEN … ELSE | Bedingte Ausführung / Verzweigung. | IF x>0 THEN PRINT "Positiv" ELSE PRINT "<=0" |
| GOTO | Springt zu einer Sprungmarke/Zeile. | GOTO LoopStart |
| GOSUB / RETURN | Ruft ein Unterprogramm auf und kehrt mit RETURN zurück. | GOSUB Sub1 : … : RETURN |
| DIM | Definiert Feld-/Array-Variablen. | DIM arr(10) |
| OPEN / CLOSE | Dateioperationen — Öffnen und Schließen von Dateien/Devices. | OPEN "D:DATA.TXT" FOR OUTPUT AS #1: CLOSE #1 |
| KILL | Löscht eine Datei. | KILL "D:OLD.TXT" |
| LOAD / SAVE | Lädt oder speichert Programme/Daten. | LOAD "PROG.BAS": SAVE "PROG.BAS" |
| SOUND | Tonerzeugung über die Amiga-Audio-Kanäle. | SOUND 440, 1, 5 |
| CIRCLE | Zeichnet einen Kreis im Ausgabefenster/Graphics. | CIRCLE (60,60), 30 |
| LINE | Zeichnet Linien / Grafik primitives. | LINE (10,10)-(100,50) |
| COLOR | Setzt Vorder-/Hintergrundfarben für Grafik. | COLOR 1,0 |
| OBJECT.* (z. B. OBJECT.SHAPE) | Objekt-/Sprite-Operationen (Bobs/Sprites, Objekteditor-Unterstützung). | OBJECT.SHAPE 1, shapeData |
| PSET / PRESET | Setzt bzw. löscht einen Bildpunkt (Pixel) im Grafikfenster. | PSET (50,50) |
| PRINT USING / WRITE | Formatiertes Ausgeben von Zahlen/Text. | PRINT USING "###.##"; 12.345 |
| INKEY$ / INPUT$ | Zeichen/Zeichenketten direkt lesen (nicht blockierend / blockierend). | k$ = INKEY$ |
| RND / RANDOMIZE | Erzeugt Zufallszahlen; Randomize setzt Seed. | R = RND(1) |
| PEEK / POKE | Direkter Speicherzugriff (Lesen/Schreiben von Adressen). | v = PEEK(&DFF000) |
| ERROR / ON ERROR | Fehlermanagement / Fehlerverzweigung. | ON ERROR GOTO ErrorHandler |
| DEF FN / DECLARE FUNCTION | Definiert benutzerdefinierte Funktionen / Deklaration. | DEF FN sq(x) = x*x : PRINT FN sq(3) |
| LOCATE | Positioniert den Cursor im Text-/Ausgabefenster. | LOCATE 10,5: PRINT "X" |
| SCREEN | Legt Bildschirm/Videomodus für Grafikaktionen fest. | SCREEN 0,640,256 |
| CHAIN | Lädt und startet ein anderes Basic-Programm (wie SAVE/LOAD + RUN). | CHAIN "NEXTPROG.BAS" |
| SAY (Speech Synthesizer) | Textausgabe über Amiga Sprach-Synthesizer (wenn vorhanden). | SAY "Hello World" |
| ABS(x) | Gibt den Absolutwert einer Zahl zurück. | PRINT ABS(-15) ' Ausgabe: 15 |
| AREA | Definiert eine Grafikfläche zum Füllen (Polygon). | AREA (10,10)-(50,10)-(30,40),1 : AREAFILL |
| AREAFILL | Füllt die mit AREA definierte Fläche. | AREAFILL |
| ASC(string$) | Liefert den ASCII-Code des ersten Zeichens in einem String. | PRINT ASC("A") ' Ausgabe: 65 |
| ATN(x) | Liefert den Arcustangens einer Zahl im Bogenmaß. | PRINT ATN(1) ' Ausgabe: 0.785... |
| BEEP | Erzeugt einen kurzen Signalton über den Amiga-Soundchip. | BEEP |
| CHAIN datei$ | Lädt und startet ein anderes AMIGA BASIC Programm. | CHAIN "MEINPROG.BAS" |
| CHR$(code) | Wandelt eine ASCII-Zahl in das entsprechende Zeichen um. | PRINT CHR$(65) ' Ausgabe: A |
| CIRCLE (x,y),r | Zeichnet einen Kreis mit Radius r um den Mittelpunkt (x,y). | CIRCLE (100,100),50 |
| CLOSE #n | Schließt eine zuvor geöffnete Datei. | CLOSE #1 |
| CLS | Löscht den Bildschirminhalt (Textausgabe). | CLS |
| COLOR f[,h] | Setzt die Vordergrund- und Hintergrundfarbe. | COLOR 2,0 |
| COMMON Variablen | Stellt Variablen für mehrere Programmteile bereit (bei CHAIN nützlich). | COMMON x,y,z$ |
| CONT | Setzt ein angehaltenes Programm nach einem Fehler fort (sofern möglich). | CONT |
| COS(x) | Liefert den Kosinus einer Zahl (im Bogenmaß). | PRINT COS(0) ' Ausgabe: 1 |
| CSRLIN | Liefert die aktuelle Bildschirmzeile des Cursors. | PRINT CSRLIN |
| DATA | Definiert feste Werte, die mit READ eingelesen werden können. | DATA 10,20,"Hallo" |
| DATE$ | Gibt das aktuelle Datum als String zurück oder setzt es. | PRINT DATE$ : DATE$ = "02-09-25" |
| DEF FN name(x) | Definiert eine benutzerdefinierte Funktion. | DEF FN quad(x) = x*x : PRINT FN quad(5) |
| DIM | Deklariert ein Array (Feld) mit bestimmter Größe. | DIM arr(10) |
| DO … LOOP | Führt eine Endlosschleife oder bedingte Schleife aus. | DO : PRINT TIME$ : LOOP |
| END | Beendet ein Programm sofort. | END |
| EOF(n) | Prüft, ob das Dateiende einer geöffneten Datei erreicht ist. | IF EOF(1) THEN PRINT "Ende" |
| ERASE | Löscht den Speicherinhalt eines Arrays. | ERASE arr |
| ERROR | Löst absichtlich einen Fehler mit einer Fehlernummer aus. | ERROR 11 |
| EXP(x) | Liefert die Exponentialfunktion e^x. | PRINT EXP(1) ' Ausgabe: 2.718... |
| FIELD #n, Länge AS var$ | Definiert feste Längenfelder in einer geöffneten Random-Access-Datei. | FIELD #1, 20 AS name$, 30 AS addr$ |
| FIX(x) | Liefert den ganzzahligen Anteil einer Zahl (Abschneiden). | PRINT FIX(12.9) ' Ausgabe: 12 |
| FOR … NEXT | Schleife mit definierter Anzahl an Durchläufen. | FOR i=1 TO 5 : PRINT i : NEXT i |
| FRE(x) | Liefert die Anzahl freier Bytes im Speicher oder Speicherstatus. | PRINT FRE("") |
| GOSUB Label | Springt zu einem Unterprogramm und kehrt mit RETURN zurück. | GOSUB Sub1 : PRINT "weiter" : END : Sub1: PRINT "Hallo": RETURN |
| GOTO Label | Springt direkt zu einer angegebenen Zeile oder Sprungmarke. | IF x=0 THEN GOTO Ende |
| HEX$(Zahl) | Wandelt eine Zahl in eine hexadezimale Zeichenkette. | PRINT HEX$(255) ' Ausgabe: FF |
| IF … THEN … ELSE | Führt Befehle bedingt aus, abhängig von einem Ausdruck. | IF a>10 THEN PRINT "groß" ELSE PRINT "klein" |
| IMP | Logische Implikation zweier Ausdrücke (A IMP B). | PRINT (1 IMP 0) |
| INPUT | Fordert eine Eingabe von Tastatur oder Datei an. | INPUT "Name"; n$ |
| INPUT$ | Liest eine bestimmte Anzahl Zeichen von Tastatur oder Datei. | a$ = INPUT$(5,#1) |
| INKEY$ | Liest eine Taste ohne Eingabepuffer (nicht blockierend). | k$ = INKEY$ |
| INSTR([Start,] String1$, String2$) | Sucht nach dem ersten Auftreten von String2$ in String1$. | PRINT INSTR("AMIGA","IGA") ' Ausgabe: 3 |
| INT(x) | Liefert den größten ganzzahligen Wert ≤ x. | PRINT INT(3.7) ' Ausgabe: 3 |
| KEY | Definiert Funktionstasten oder liest Tastaturereignisse. | KEY 1,"RUN"+CHR$(13) |
| LEFT$(s$,n) | Liefert die ersten n Zeichen eines Strings. | PRINT LEFT$("AMIGA",3) ' Ausgabe: AMI |
| LEN(s$) | Gibt die Länge eines Strings zurück. | PRINT LEN("AMIGA") ' Ausgabe: 5 |
| LET | Zuweisung von Werten zu Variablen (optional in BASIC). | LET x=5 |
| LIBRARY "Datei" | Lädt Maschinensprache-Bibliotheken (.bmap) für Amiga Basic. | LIBRARY "graphics.library" |
| LINE | Zeichnet eine Linie oder ein Rechteck im Grafikfenster. | LINE (0,0)-(100,100) |
| LIST | Listet den aktuellen BASIC-Code im Editorfenster. | LIST 100-200 |
| LLIST | Listet den Programmcode auf den Drucker (PRT:). | LLIST |
| LOAD "Datei" | Lädt ein BASIC-Programm von Diskette in den Speicher. | LOAD "PROG1" |
| LOCATE y,x | Setzt den Textcursor auf eine Bildschirmposition. | LOCATE 10,5: PRINT "X" |
| LOF(n) | Liefert die Länge einer Datei in Bytes. | PRINT LOF(1) |
| LOG(x) | Liefert den natürlichen Logarithmus von x. | PRINT LOG(10) |
| LPOS(#) | Liefert die aktuelle Druckposition im Ausgabepuffer. | PRINT LPOS(0) |
| LPRINT | Sendet Ausgaben direkt an den Drucker. | LPRINT "Hallo Drucker" |
| MID$(s$,start[,len]) | Liefert eine Teilzeichenkette aus einem String. | PRINT MID$("AMIGA",2,3) ' Ausgabe: MIG |
| MKDIR | Erstellt ein neues Verzeichnis im Dateisystem. | MKDIR "DATA" |
| MOUSE(n) | Liest Maus-Status: Position, Button, Bewegung. | PRINT MOUSE(1), MOUSE(2) |
| MERGE "Datei" | Fügt ein anderes Programm (ASCII-Format) in den Speicher ein. | MERGE "UTILS.BAS" |
| MENU(n) | Liefert den zuletzt gewählten Menüeintrag. | PRINT MENU(1) |
| NAME alterName AS neuerName | Benennt eine Datei im Dateisystem um. | NAME "ALT.TXT" AS "NEU.TXT" |
| NEW | Löscht das aktuelle Programm aus dem Speicher. | NEW |
| NEXT [Zähler] | Markiert das Ende einer FOR-Schleife. | FOR i=1 TO 5 : PRINT i : NEXT i |
| OBJECT.SHAPE n, array | Definiert die Form eines Objekts (Sprite oder Bob). | OBJECT.SHAPE 1, figur() |
| ON ERROR GOTO Label | Leitet bei einem Fehler in eine Fehlerroutine um. | ON ERROR GOTO Fehler |
| OPEN "Datei" FOR mode AS #n | Öffnet eine Datei zum Lesen, Schreiben oder Random-Zugriff. | OPEN "DATA.DAT" FOR INPUT AS #1 |
| PEEK(Adresse) | Liest den Bytewert an einer Speicheradresse. | PRINT PEEK(&H100) |
| POKE Adresse, Wert | Schreibt einen Wert an eine Speicheradresse. | POKE &H100, 255 |
| Gibt Text oder Werte am Bildschirm aus. | PRINT "Hallo", 2+3 |
|
| PSET (x,y) | Setzt einen Bildpunkt im Grafikfenster. | PSET (50,50) |
| PUT (x,y), array | Kopiert ein Bild oder Objekt aus einem Array in den Grafikbereich. | PUT (100,100),bild() |
| RANDOMIZE [Zahl] | Initialisiert den Zufallszahlengenerator mit einem Startwert. | RANDOMIZE TIMER |
| REM | Kommentarzeile (wird vom Interpreter ignoriert). | REM Dies ist ein Kommentar |
| RESTORE [Label] | Setzt den READ-Zeiger auf die erste oder eine bestimmte DATA-Zeile zurück. | RESTORE Datenblock |
| RETURN | Kehren aus einem GOSUB-Unterprogramm zurück. | RETURN |
| RIGHT$(s$,n) | Liefert die letzten n Zeichen einer Zeichenkette. | PRINT RIGHT$("AMIGA",2) ' Ausgabe: GA |
| RND(x) | Erzeugt eine Zufallszahl (je nach Parameter 0, 1 oder n). | PRINT RND(1) |
| RUN ["Datei"] | Startet das aktuelle oder ein angegebenes Programm. | RUN "SPIEL.BAS" |
| SCREEN | Legt Bildschirmmodus und Fenstergröße fest. | SCREEN 0,640,256 |
| SHELL Befehl$ | Führt einen AmigaDOS-Befehl aus. | SHELL "DIR DF0:" |
| SOUND f,d,l | Erzeugt einen Ton mit Frequenz, Dauer und Lautstärke. | SOUND 440,10,8 |
| STRING$(n,Zeichen) | Erzeugt eine Zeichenkette aus n Wiederholungen eines Zeichens. | PRINT STRING$(5,"*") ' Ausgabe: ***** |
| SUB … END SUB | Definiert ein Unterprogramm mit Parametern. | SUB Hallo(n$) : PRINT "Hi ";n$ : END SUB |
| SWAP a,b | Tauscht die Werte zweier Variablen. | x=5: y=9: SWAP x,y |
| SYSTEM | Beendet AMIGA BASIC und kehrt nach AmigaDOS zurück. | SYSTEM |
| TAB(n) | Setzt den Cursor auf eine bestimmte Ausgabeposition in der Zeile. | PRINT "A";TAB(10);"B" |
| TAN(x) | Liefert den Tangens einer Zahl (im Bogenmaß). | PRINT TAN(1) |
| TIME$ | Gibt die aktuelle Systemzeit zurück oder setzt sie. | PRINT TIME$ : TIME$="12:00:00" |
| TIMER | Liefert die seit dem Einschalten vergangenen Sekundenbruchteile. | PRINT TIMER |
| TROFF | Schaltet die Anzeige der Programmverfolgung (TRACE) aus. | TROFF |
| TRON | Schaltet die Anzeige der ausgeführten Zeilennummern ein. | TRON |
| UBOUND(array[,dim]) | Gibt die obere Grenze eines Arrays zurück. | DIM a(10) : PRINT UBOUND(a) |
| VAL(s$) | Wandelt eine Zeichenkette in eine Zahl um. | PRINT VAL("123") ' Ausgabe: 123 |
| VARPTR(var) | Liefert die Speicheradresse einer Variablen. | PRINT VARPTR(x) |
| VIEW (x1,y1)-(x2,y2) | Definiert einen Anzeigebereich für Grafikoperationen. | VIEW (0,0)-(200,100) |
| WAIT Adresse,Maske[,Wert] | Wartet, bis an einer Speicheradresse bestimmte Bits gesetzt sind. | WAIT &H100,1 |
| WEND | Markiert das Ende einer WHILE-Schleife. | WHILE a<10 : a=a+1 : WEND |
| WHILE … WEND | Schleife, die solange ausgeführt wird, wie die Bedingung erfüllt ist. | WHILE INKEY$="" : PRINT "." : WEND |
| WIDTH | Legt die Anzahl Spalten einer Ausgabezeile fest. | WIDTH 80 |
| WINDOW n, "Titel" | Öffnet oder konfiguriert ein Fenster mit Titel. | WINDOW 1,"Mein Fenster" |
| WRITE #n, Ausdruck | Schreibt Daten in eine Datei mit Trennzeichen. | WRITE #1, "Text", 123 |
| WRITE | Schreibt Daten in einer bestimmten Formatierung in eine Datei. | WRITE #1, "Hallo" |
Quelle
Diese Referenz basiert auf dem offiziellen Amiga BASIC Handbuch (siehe Anhang: Kapitel 9 — alphabetisches Verzeichnis).

