6502 inside


6502 inside

von Bernd » Sa 5. Okt 2013, 22:45
Jahrelang benutzt man den CMP, CPX und CPY Befehl und macht sich keine Gedanken wie dieser zu Stande kommt. Zum besseren Verständnis hier eine identische Befehlskette in Assembler zum Vergleich:

LDA (Wert)
SEC - Set carry flag
SBC # Vergleichswert

Intern entspricht der Vergleichsbefehl dem einer Subtraktion.
Ist der Wert minus dem Vergleichswert größer oder gleich, so bleibt das Carry Bit gesetzt,
ist er kleiner wird das Carry Bit gelöscht.
Sind beide Werte identisch kommt es zu einer "0" im Rechenwerk, das Zero Bit ist dann "1".

Bernd