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).