OR

Aus C64-Wiki
Zur Navigation springenZur Suche springen
OR
Syntax: <Ausdruck> OR <Ausdruck>
Parameter
<Ausdruck>: numerischer Ausdruck im Wertbereich von -32768 bis +32767
Einordnung
Typ: Operator
Kontext: Logische Verknüpfung
Aufgabe: Binäre Oder-Verknüpfung zweier Zahlen
Abkürzung: -
Token: $b0 (176)
Verwandte Befehle
AND, NOT

Anmerkung: Dieser Artikel beschreibt den BASIC-Operator OR unter BASIC V2 des Commodore 64.


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[Bearbeiten | Quelltext bearbeiten]

Logische Verknüpfung[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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

Den Bitmap-Modus 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[Bearbeiten | Quelltext bearbeiten]

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)