Sie sind hier Grundsätzliches

# Grundsätzliches zu INTEL-MCS-BASIC

## Die ersten Schritte:

Fürs Programmieren benötigt man diese Beschreibung des Intel-MCS-BASIC. Als Ziel-Hardware kann man einen BasicMaster, ein LEA.Comm oder einen StepCon nehmen. Für die Programmentwicklung genügt jeder PC mit serieller Schnittstelle. Die SoftwareProgTool kann frei geladen werden. Dazu noch ein ASCII-Texteditor Es gibt einen grundsätzlichen Vorteil des BASIC gegenüber anderen Sprachen: Der Interpreter. D.h. Ein Programm muss nicht kompiliert werden. Man kann direkte Befehle eingeben oder ein Programm ablaufen lassen. Eine Inbetriebnahme wird dadurch sehr erleichtert.

## Was passiert nach dem Einschalten

Die internen Register des Prozessors werden inititialisiert
Der interne Speicher des Prozessors wird gelöscht
Der externe Speicher wird bis MTOP gelöscht.
Wenn auf 8001H/8002H die Baudrate steht wird sie übernommen, sonst erkennt der Autobaud-Generator sie atomatisch
Die Systemvariablen werden gesetzt (FREE, LEN)
Die Spezial-Register werden gesetzt TCON, TMOD, T2CON
Dann erscheint auf dem angeschlossenen PC die Startmeldung.

Ohne MOTRON EPROM erscheint folgendes:
*MCS-51(tm) BASIC Vx.x*
READY
Jetzt kann man mit dem Entwickeln und Testen beginnen

nach oben

## Variable

Variable werden in MCS-BASIC statisch (= global) angelegt, d.h. beim ersten Auftreten eines neuen Namnes wird ein 8 Byte-Speicher reserviert.
Mit dem Clear-Befehl werden alle Variablen gelöscht. Zu beachten ist, dass das Auffinden von Variablen deutlich schneller geht, als von Feldvariablen.

Fließkomma-Zahlen (Real) | Zahlenbereich +/-(1E-127 bis 9999999E+127)
Ganze Zahlen (Integer) | Zahlenbereich 0 (0000h) bis 65535 (0FFFH), 2 Byte dezimale oder hexadezimale Darstellung, Hex-Zahlen beginnen mit einer Zahl und enden mit H
Konstanten | im gesamten Real-Zahlen-Bereich gültig
Variablenname | Ein Name besteht aus Buchstaben,Ziffern und _ mit max. 8 Zeichen Achtung: Sie unterscheiden sich nur in Anfangs- und Endzeichen und in der Länge. (z.B. KEIN und KTON werden als gleich angesehen.) Im ProgTool - Varlist wird das kontrolliert
Felder (Arrays) | eindimensional, max. 254 Elemente
Stack | die untersten 512 Byte im RAM. Reihenfolge: Last in - first out
Zeileneditor | Bietet nur sehr begrenzte Möglichkeiten. <ctrl>-<entf> löscht das letzte Zeichen. <ctrl><D> die Zeile
Zahleneingabe | Ist in 4 Arten möglich, integer, dezimal, hexadezimal und exponentiell Beispiel: 129, 34.98, 0A6EH, 1.23456E + 3

nach oben

## Commands und Statements:

MCS BASIC-52 arbeitet in zwei Modi, den COMMAND- oder Direktmodus und dem Interpreter- oder RUN-Modus.
Damit hat der Entwickler die großartige Möglichkeit, Befehle direkt einzutippen und ausführen zu lassen.
Er braucht dazu kein Programm.
Wir unterscheiden Kommanods (COMMANDS) und Anweisungen (STATEMENTS.)
Commands:
MCS-BASIC-52-Befehle können nur eingegeben werden, wenn der Prozessor im COMMAND- oder Direct-Modus ist. MCS BASIC-52 führt sie sofort aus, nachdem ein Befehl eingegeben und mit <cr> abgeschlossen wurde. In diesem Dokument wird die Begriffe RUN MODE und der BEFEHLSMODE verwenden, um auf die zwei unterschiedliche Betriebsmodi verweisen. Kommandos müssen von der PC-Konsole eingegben werden.
Statements
Ein BASIC-Programm besteht aus Anweisungen. Jede Programmzeile beginnt mit einer Zeilennummer, gefolgt vom Textanweisungen und wird beendet mit einem Wagenrücklauf <cr> oder einem Doppelpunkt (:),wenn es mehrere Anweisungen pro Zeile gibt. Einige Anweisungen können im Befehls-Modus ausgeführt werden, andere nicht.

- Jede Zeile in einem Programm muss eine Zeilennummer zwischen 0 und 65535 haben.
- Zeilennummern werden von BASIC verwendet, um die Programmanweisungen sequenziell anzuordnen.
- In jedem Programm kann eine Zeilennummer nur einmal verwendet werden.
- Anweisungen müssen nicht in numerischer Reihenfolge eingegeben werden, weil BASIC diese automatisch in aufsteigender Reihenfolge anordnen wird.
- Eine Anweisung kann nicht mehr als 79 Zeichen pro Zeile enthalten.
- Leerzeichen werden automatisch von BASIC ignoriert und BASIC fügt auch Leerzeichen während des List-Befehls ein
- Pro Zeile ist nur eine Zeilennummer zulässig. Aber in einer Zeile können mehr als eine Anweisung sein, wenn sie durch einen Doppelpunkt (:) getrennt werden, bis zur maximalen Länge von 79 Zeichen/Zeile.

nach oben