Hallo,
Stehe hier vor einem (ziemlich blöden) Problem... Addition in Assembler,
8-Bit werte sind ja einfach mit ADD und ADC zu berechnen.
Aaaber....
Problem: Ich lese von einem DIP-Schalter einen Wert ein
1 | in XL, PinC ;get start address
|
2 | com XL
|
3 | clr XH
|
4 | sbis PinE, PE2 ;9th bit
|
5 | inc XH
|
Zuerst die ersten 8 Bytes, dann das neunte Byte hinterher. Wert von
0-512.
Und jetzt will ich diesen Wert um die Zahl 8 erhöhen, also wenn vom
Eingang z.B. 20 gelesen werden, soll der Wert dann 28 sein usw...
Irgendwie blick ich da nicht ganz durch, vor allem XL und XH sind mir
nicht ganz klar... bis jetzt sind meine Assemblerkenntnisse noch nicht
so weit, komme eher aus der C-Welt.
Hintergrund des ganzen: den DMX-Demultiplexer (Quellcode ist auch daher)
von hier http://www.hoelscher-hi.de/hendrik/light/demux.htm so
modifizieren, dass die eingestellte Adresse für den Startkanal um 8
verschoben ist.
Hoffe ihr könnt mir mit diesem vermutlich doch recht simplen Problem
helfen!
cyberLink