EOR ist, wie AND und ORA, ein "Bitwise Operator". Ich nehme einfach mal an, dass du weißt, wie AND und ORA funktionieren. Die Benutzung von EOR ist wie folgt:
Code;Nur'n Beispiel, nicht praktikabel
LDA #$69
EOR #$D4
EOR vergleicht die beiden Zahlen Bit für Bit. In der Binärschreibweise:
Code
01101001
11010100
;oder auch
0 1
1 1
1 0
0 1
1 0
0 1
0 0
1 0
EOR macht das resultierende Bit zu 1, wenn das eine
oder das andere Ausgangsbit 1 ist, aber
nicht beide. Daher nennt man es "exklusives Oder" ("Exclusive Or" - "EOR").
Code
0 1 = 1
1 1 = 0
1 0 = 1
0 1 = 1
1 0 = 1
0 1 = 1
0 0 = 0
1 0 = 1
Das resultierende Byte ist 10111101, also BD.
EOR wird häufig benutzt, um eine Zahl umzukehren:
EOR #$FF (also EOR #%11111111) dreht alle Bits um. Ist das Ausgangsbit 0, wird es zu 1 (Vergleich von 0 mit 1 ergibt 1), ist es 1, wird es 0 (Vergleich von 1 mit 1 ergibt 0).
Um nur das erste Bit umzukehren, nimmst du
EOR #$01. Das dreht nur das niedrigste Bit um, macht also 0 zu 1 und umgekehrt.
Abiturklausuren (schamlos geklaut von spinatkuchen >_>):
Deutsch (26.3.): Alles reingebracht, was ich wollte, bereue nichts, insgesamt ganz gutes Gefühl (Ergebnis: 8 Punkte - Hm, hätte mit mehr gerechnet.)
Geschichte (1.4.): Fast nichts zum historischen Kontext gewusst, Rest war ganz okay, vielleicht noch 3, eher 4 (Ergebnis: 7 Punkte - Hey, das hätte schlechter sein können. Keine Nachprüfung!)
Mathe (2.4.): Viel besser als gedacht, bis auf 'nen kleinen Teil fast alles richtig, 1 ist gut möglich (Ergebnis: 14 Punkte - Yay!)
Englisch (9.4.): Sprachlich keine Sorgen, inhaltlich etwas mehr, gutes bis sehr gutes Gefühl (Ergebnis: 15 Punkte - Der Lehrer mag mich halt.)
Physik (mdl., 10.5.): Bis auf zwei winzige Wissenslücken sehr einfach und sehr gut gelaufen (Ergebnis: 13 Punkte - Sehr in Ordnung!)