OR

Der BASIC-Befehl OR wird zum Verknüpfen von 2 oder mehreren Ausdrücke miteinander (z.B. innerhalb einer IF…THEN…Anweisung) verwendet.

Ebenfalls kann bei der Auswertung von mehr als 2 Ausdrücke auch andere Operatoren wie die BASIC-Befehle AND oder NOT verwendet werden. OR hat dabei eine geringere Bindung als AND und NOT und dementsprechend müssen mitunter Klammern eingesetzt werden, um bei Kombinationen dieser Operatoren die gewünschte Auswertungsreihenfolge zu sichern.

Weiterhin können mit dem BASIC-Befehl OR Boole’sche Operationen zur Bitmanipulation durchgeführt werden. Dabei ist das Ergebnis WAHR und somit 1, wenn je eines der Bits ebenfalls eine 1 beinhalten, ansonsten 0 (UNWAHR). Bei OR-Vergleichen mit Zahlen, dessen Ergebnis nicht im Zahlenbereich von -32768 bis +32767 liegt, wird die BASIC-Fehlermeldung ?ILLEGAL QUANTITY ERROR ausgegeben. Dies passiert, da der C64 maximal 16 Bits pro Zahl (als vorzeichenbehaftete Integer-Zahl) verwenden kann.

Beispiele

Logische Verknüpfung

IF A OR C=0 THEN PRINT "WAHR" 

Die Bedingung ist wahr, wenn die Variable A ungleich 0 oder die Variable C gleich 0 ist.

IF A$="SAMSTAG" OR B$<>"1984" THEN PRINT "WAHR"

Die Bedingung ist wahr, wenn die Variablen A$ den Text “SAMSTAG” enthält oder B$ ungleich dem Text “1984” ist.

Bitverknüpfung bzw. Bitmaskierung

POKE 53272,PEEK(53272) OR 8
POKE 53265,PEEK(53265) OR 32

Den Grafikmodus des C64 VIC aktivieren (mit Bitmap-Speicher ab Speicherstelle $8000, wird in der 1. Zeile durch Bit 3, Wertigkeit 8 festgelegt).
In der 2. Zeile wird dann der Modus selbst mit Bit 5 (Wertigkeit 32) im entsprechenden VIC-Register gesetzt.

Bitverknüpfungstabelle

PRINT 0 OR 0 (Ergebnis: 0; unwahr)
PRINT 1 OR 0 (Ergebnis: 1; wahr)
PRINT 0 OR 1 (Ergebnis: 1; wahr)
PRINT 1 OR 1 (Ergebnis: 1; wahr)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert