- Beitrag noch in Bearbeitung -

Es gibt prinzipiell 2 Möglichkeiten, um Zahlen zu addieren:

Der Befehl inc var1 erhöht den Wert in Variable var1 um 1

Der Befehl adc addiert zum Akkumulator einen festen Wert oder einen Wert in einer Speicherstelle: Vor jeder Addition mit dem Befehl adc sollte man das Carry mit clc löschen!

            clc
            lda var1
            adc #10
            sta var1
    
            clc
            lda var1
            adc var2
            sta var1

Bei einer 16-Bit Addition muss man etwas mehr tun... Hier definiert man ein Low-Byte (var1) und eine High-Byte (var1+1) und addiert dann folgend:

            clc
            lda var1
            adc var2
            sta var1
            lda var1+1
            adc #0
            sta var1+1

Immer wenn der Wert bei der Addition den Overflow trifft, wird Carry gesetzt und wenn man adc #0 macht, addiert man ja immer zu einem Wert (hier das High-Byte) dann 0+1(Carry) also 1 dazu. Es geht auch einfacher:

           clc
           lda var1
           adc var2
           bcc weiter
           inc var1+1
 weiter    
           sta var1