Definition von Variablen
Der C-Control/BASIC Steuercomputer stellt 24 Byte-Speicherzellen seines internen Speichers (RAM) dem
Anwender zur Verwendung in seinen Programmen zur Verfügung. In diesem Speicherbereich werden alle
Variablen eines BASIC-Programms gespeichert. Die 24 Bytes können je nach Bedarf auch bitweise oder als
16bit Integer (Word) verwendet werden. Im Gegensatz zum Standard-BASIC müssen in CCBASIC alle vom
Programm benutzten Variablen vor ihrer ersten Verwendung definiert werden. Dabei ist der Datentyp zu
spezifizieren (Bit, Byte oder Word) und kann (für Bits muss!) eine Speicherzellennummer angegeben wer-
den.
Der Anwender muss selbst darauf achten, dass keine unerwünschten Überlappungen bei der Vergabe der
Speicherplätze entstehen, da es sonst zum gegenseitigen überschreiben der Variablen kommen kann. Bei-
spielsweise belegen bit[l8], byte[2] und word[l] jeweils einen Teil der Zelle 2 des Speicherbereiches.
• Definition einer Bitvariablen:
DEFINE bezeichner BIT [nr]
Dabei sind für nr Werte von 1 bis 192 (24 Bytes mit je 8 Bit) zulässig.
• Definition einer Bytevariablen mit Zellennummer:
DEFINE bezeichner BYTE[nrl
Dabei sind für nr Werte von 1 bis 24 (24 Bytes) zulässig.
• Definition einer Integervariablen mit Zellennummer:
DEFINE bezeichner WORD[nrl
Dabei sind für nr Werte von 1 bis 12 (ein Word belegt 2 Bytes) zulässig.
Wenn bei Byte- und Worddefinitionen die Zellenangabe [nr] weggelassen wird, übernimmt der Compiler die
Aufteilung auf den Speicherbereich. Achten Sie dann darauf, dass nicht abwechselnd Bytes und Words
definiert werden. Die folgenden Anweisungen
DEFINEa BYTE
DEFINE b WORD
DEFINE c BYTE
DEFINE d WORD
führen zu zwei ungenutzten (verschenkten kostbaren!) Bytes, zwischen a und b sowie zwischen c und d, da
Words prinzipiell an den Bytes 1,3,5,7,... usw. der 24 Bytes ausgerichtet werden.
Besser wäre,
DEFINE b WORD
DEFINE d WORD
DEFINE a BYTE
DEFINE c BYTE
zu schreiben. Die automatische Aufteilung der Variablen auf den Speicher durch den Compiler beginnt bei
Zellennummer 1. Das obige (bessere) Beispiel belegt 6 Bytes. Bei Definition weiterer Bits, Bytes und Words
mit Angabe der Zellennummer ist wieder auf unerwünschte Überlappung zu achten. Ein bereits definierter
Variablenbezeichner darf nicht ein zweites Mal definiert werden.
Definition von Digitalports
In CCBASIC wird auf Ports wie auf Variablen zugegriffen. Auch hier muss jeder verwendete Port zuvor defi-
niert sein.
• Definition eines der 16 Digitalports:
DEFINE bezeichner PORT[nr]
• Definition eines 8 Bit breiten Potts:
DEFINE bezeichner BYTEPORT[nr]
22