OR

Aus C64-Wiki
Wechseln zu: Navigation, Suche
OR
Format: <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: -
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.

Inhaltsverzeichnis

[Bearbeiten] Beispiele

[Bearbeiten] 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.

[Bearbeiten] 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.

[Bearbeiten] 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)


In anderen Sprachen