ORA ($ll), Y

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Mnemonic: ORA ($ll), Y
Opcode: $11
Operand(en): $ll
Anzahl der Bytes: 2
Befehlsgruppe: Arithmetik und Logikbefehl
Adressierung: indirekt Y-nachindiziert
Beeinflusste Flags im Statusregister:
Negativ-Flag
Zero-Flag
Taktzyklen: 5
1 Extra-Takt bei Grenzüberschreitung
1 PC R Lese Opcode,
inkrementiere PC
2 PC R Lese Zeigeradresse,
inkrementiere PC
3 Pointer R lese effektive Adresse Low
4 Pointer R lese effektive Adresse High,
addiere Y zum Lowbyte der
effektiven Adresse
5 Adresse + Y* R lese von effektiver Adresse,
korrigiere Highbyte der
effektiven Adresse
6+ Adresse + Y R lese von effektiver Adresse
Anmerkung: Die effektive Adresse wird immer aus der Zeropage gelesen
Anmerkung: * das Highbyte der effektiven Adresse
könnte zu diesem Zeitpunkt ungültig sein
Anmerkung: + dieser Zyklus wird nur ausgeführt,
wenn die effektive Adresse während Zyklus #5 ungültig war


Der Assembler-Befehl ORA ($ll), Y führt eine bitweise ODER-Verknüpfung mit dem Akkumulator und dem Inhalt der Speicheradresse (LSB= $ll ; MSB= $ll+1)+Y durch.
Das Ergebnis wird im Akkumulator gespeichert. Dieser Befehl eignet sich besonders zum Setzen von einzelnen Bits.

Wahrheitstabelle der ODER-Verknüpfung

Das Ergebnis ist bei der ODER-Verknüpfung gleich 1, wenn mindestens ein Bit gesetzt (1) ist.

0 0 = 0
0 1 = 1
1 0 = 1
1 1 = 1

Funktionsprinzip

Bedeutung der Buchstaben im Befehl

ORA OR with Accumulator
Bitweise Oder-Verknüpfung mit Akkumulator

Beispielprogramme