Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Commodore Basic V2 – Wikipedia
Commodore Basic V2 – Wikipedia
aus Wikipedia, der freien Enzyklopädie
Screenshot des Commodore BASIC V2 auf dem C64

Commodore BASIC V2 ist der auf dem Commodore 64 (C64) sowie dem Commodore VC 20 (VC20) primär eingesetzte BASIC-Dialekt. Beim C64 ist ein BASIC-V2-Interpreter fest im ROM enthalten und dient gleichzeitig als Benutzerschnittstelle; diese wird durch einen ebenfalls im ROM enthaltenen Bildschirm-Editor bereitgestellt – Kommandos können auf dem gesamten Bildschirm stehen (bleiben) und (auch nach Modifikation) wiederholt ausgeführt werden (also keine bloße Kommandozeile, sondern eine flächige Zeichenorientierte Benutzerschnittstelle). Als Eingabe akzeptiert der Editor die Angabe einer Programmzeile, was anhand einer vorangestellten Zeilennummer erkannt wird (die Zeile wird dann abgespeichert, aber noch nicht ausgeführt) oder – ohne Zeilennummer – die Angabe eines Befehls oder Systemkommandos (zum Beispiel RUN, LOAD, SYS, PRINT) oder einer durch Doppelpunkte separierten Folge davon (auch innerhalb einer Schleife), was direkt ausgeführt wird.

BASIC V2 basiert auf Microsoft BASIC und wurde für den C64 angepasst.

Sprachelemente

[Bearbeiten | Quelltext bearbeiten]

BASIC V2 arbeitet zeilennummernorientiert, das heißt jeder Zeile muss eine Nummer vorangestellt werden, die auch als Parameter für Sprunganweisungen dient, sowie als Bezug bei Fehlermeldungen. Durch Änderung der Nummer einer Zeile wird diese unter Verwendung der neuen Nummer dupliziert. Das Löschen einer Zeile erfolgt ohne Rückfrage durch Eingabe der entsprechenden Zeilennummer und Drücken der Return-Taste. Es ist üblich, Zeilennummern im Abstand von 10 (oder höher) zu vergeben; sollen dann später Zeilen eingefügt werden, können die verbleibenden Zahlen zwischen zwei Zeilennummern verwendet werden. In jeder Zeile können beliebig viele Befehle stehen, welche durch Doppelpunkte getrennt werden. Eine Programmzeile darf jedoch im Prinzip nicht länger als 255 Zeichen sein; in der Praxis begrenzt der Editor die Länge auf zwei Bildschirmzeilen (80 Zeichen). Der Interpreter benötigt keinerlei Leer- oder sonstige Formatierungszeichen und akzeptiert auch die Eingabe von Kurzcodes statt der üblichen Schlüsselwörter, welche im Programm dann automatisch ausgeschrieben werden. Strukturierung zur besseren Lesbarkeit ist möglich durch Leerzeichen zwischen Schlüsselwörtern und beliebiges Einrücken der Zeilen nach einem Doppelpunkt am Zeilenanfang.

Neben den üblichen Ein- und Ausgabebefehlen (PRINT, INPUT) kann mittels GET der Wert eines einzelnen Tastendrucks ausgelesen werden.

Zur Verzweigung innerhalb eines Programms unterstützt BASIC V2 die Sprunganweisungen GOTO, GOSUB/RETURN sowie die bedingten Sprunganweisungen ON GOTO, ON GOSUB und IF ... THEN (statt einer Befehlsfolge kann hier auch ein Sprungziel folgen). Außerdem kann mit SYS direkt in ein Maschinenspracheprogramm eingesprungen werden. Die Funktion USR(x) ruft ein Maschinenspracheprogramm als Funktion auf und erhält von diesem einen Rückgabewert. Als weitergehende Sprachelemente zur strukturierten Programmierung stehen lediglich Zählschleifen (FOR NEXT) zur Verfügung, die jedoch flexibel ausgestaltet sind (die Iterator-Variable ist nicht auf Ganzzahlen beschränkt und deren Änderung im Schleifenkörper ist gestattet).

Nicht enthalten sind Befehle zur komfortablen Erstellung von Sound, HiRes-Grafiken und Sprites. Auf dem C64 stehen in Commodore-Tradition jedoch vielseitige Grafikzeichen (PETSCII) zur Verfügung, die sich mit der entsprechend bedruckten Tastatur auch komfortabel verwenden lassen. Zum direkten Zugriff auf die Hardware (Speicher und in den Adressraum eingeblendete Prozessor-Register) werden der Befehl POKE und die Funktion PEEK(x) bereitgestellt; so lassen sich auch Sound- und Grafikprozessor (inklusive Sprites) programmieren.

Einfache Variablen müssen vor ihrer Verwendung nicht deklariert werden, der Variablentyp wird über deren Suffix definiert („$“ für Zeichenketten (Strings), „%“ für Ganzzahlen, ohne Suffix für Fließkommazahlen). Bei indizierten Variablen (Feldern, Arrays) ist jedoch eine Dimensionierung mit DIM erforderlich, sofern mehr als 11 Elemente (Indizes 0-10) pro Dimension verwendet werden sollen. Komplexere Variablentypen sind nicht implementiert.

Zur Übertragung von Daten von und zu Peripheriegeräten stehen besondere Varianten der Ein- und Ausgabebefehle zur Verfügung (PRINT#, INPUT#, GET#). Dazu kommen OPEN, CLOSE und CMD zur Ansteuerung von Drucker, Datasette und Floppy.

Codebeispiel

[Bearbeiten | Quelltext bearbeiten]
 10 input "Geben Sie bitte Ihren Namen ein"; a$
 20 print "Guten Tag "; a$
 30 input "Wie viele Sterne möchten Sie?"; s
 40 for i = 1 to s
 50 s$ = s$ + "*"
 55 next i
 60 print s$
 70 input "Möchten Sie noch mehr Sterne?"; q$
 80 if len(q$) = 0 goto 70
 90 l$ = left$(q$, 1)
 100 if (l$ = "J") or (l$ = "j") then goto 30
 110 print "Auf Wiedersehen";
 120 for i = 1 to 200
 130 print a$; " ";
 140 next i
 150 print
Siehe auch: Commodore 64, BASIC und Commodore BASIC

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • Das C64-Benutzerhandbuch inklusive BASIC V2-Referenz – bei C64Games.de
  • Dokumentation zu BASIC V2 – bei 8-Bit-Nirvana
  • CBM BASIC V2 Basic-Interpreter – kompatibel zu Windows 32 Bit und Mac OS X (englisch)
Commodore-Produktübersicht
V – D
PET/CBM

KIM-1 • PET 2001 • CBM 3000 • CBM 4000 • CBM 8000 • CBM 8032 • MMF 9000

Logo von Commodore
CBM II

CBM 500‡ • CBM 600 • CBM 700 • CBM 900‡

Heimcomputer

VC 10 • VC 20 • C64 (SX, GS†) • 264-Reihe (C16, C116, Plus/4) • C128 • C65‡

Amiga

1000 • Sidecar • 500 • 500 Plus • 2000 • CDTV† • 600 • 3000/T/UX • 1200 • 4000 • CD³²†

IBM-kompatibel

PC-1 • PC-10 bis PC-70 • x86LT • A1060

Peripherie
Laufwerke

Datasette • CBM-Diskettenlaufwerke • VC15xx (VC1540/41, VC1551, VC1570/71, VC1581) • SFD100x (SFD1001, SFD1002) • CBM 2020 bis 8250 • CBM 4040 • A570 • A590 • A3070

Drucker

MPS-Serie • MPS 801 • MPS 802 • MPS 803 • MPS 1000 • MPS 1270 • MPS 1500 C • MPS 1550 C • VC1520 • CBM-8000-Serie • CBM 4022 • CBM 4023

Sonstige Hardware

CBM-Bus • Zorro-Bus • Uhrenport • WOM • RAM Expansion Unit • Turbokarte • Mäuse: Commodore 1350/1351 • Monochrom- und Farb-Monitore: 1701 • 1702 • 1703 • 1801 • 1802 • 1081 • 1084/1084S • 1085 • 1901 • 1942 • Lautsprecher A10 • Mehrfachbenutzersysteme (MBS)

Historische Hardware

Schreib- und Tischrechenmaschinen • LED-Uhren • 2000K/3000H† • Chessmate

Chips

MOS Technology • 6502 • 6510 • VIC • VIC II • TED • VDC • SID • PIA • VIA • RIOT • TPI • CIA • ACIA • Agnus (Blitter, Copper) • Paula • EHB-Modus • HAM-Modus

Chipsätze

OCS • ECS • AGA • AAA • Chip-RAM und Fast-RAM

Software

Commodore BASIC • Commodore Basic V2 • Kernal • CBM-ASCII (PETSCII) • GEOS • Commodore DOS • AmigaOS • Kickstart • Workbench • ARexx • AmigaGuide • AMIX

†: Spielkonsole ‡: nur Prototyp
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Commodore_Basic_V2&oldid=259566557“
Kategorien:
  • BASIC
  • Historische Software

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id