Guten Abend zusammen!
Hab hier ein Problem, aus dem ich nicht schlau werden, und zwar habe ich
einige Register als Variablen um zu benennen (ich hoffe, dat sagt man
so)
Allerdings wird in jeder Zeile, wo die Variable "Farbe" angesprochen
wird (18,36,43,96) vom Compiler angemeckert, dass diese Variable nicht
deklariert sei. Hab schon folgendes Probiert:
-Neustart des Programms
-Variable umbenannt von Color auf Farbe (hätt ja n reserviertes Wort
erwischt haben können)
-anderes Register gewählt
-declarations im code umplaziert, um evtl. beschränkung der
Variablenmenge zu umgehen.
Achja, Chip ist ein ATtiny13 ;)
Hier der Code
Erstens gibt es in Assembler keine Variablen, zweitens hat das nichts
mit GCC zu tun (falsches Forum) und drittens versuchst Du auf ein
Rechenregister, das Du mit dem Bezeichner "farbe" versehen hast, per
cbi zuzugreifen. cbi bedeutet aber "Clear Bit in I/O register".
"farbe" ist aber kein I/O-Register.
Du solltest Dich außerdem mal entscheiden, ob Du die Assembler-mnemonics
groß oder klein schreibst. Eine völlig willkürliche Mischung von beidem
ist der Übersichtlichkeit abträglich. Mit sonstigen
Übersichtlichkeitsförsderungsmaßnahmen wie konsequentem, sinvollem
Einrücken hast Du es offensichtlich auch nicht...
>>>Erstens gibt es in Assembler keine Variablen
Gibt´s dafür nen Fachterminus? Denn was sind schon Variablen, wenn ich
in Basic ne Variable globalisiere, heißt das ja auf der normalen
PC-Platform auch nur, dass ein Speicher reserviert wird und die Variable
auch nur ein Register ist. (Ich hoffe, du verstehst, was ich meine)
>>>zweitens hat das nichts mit GCC zu tun (falsches Forum)
Oh, sorry :-(
Wusste nicht so recht, wo´s rein sollte, vielleicht is ja ein Admin so
net und verschiebt es :)
>>>und drittens versuchst Du auf ein Rechenregister, das Du mit dem Bezeichner
"farbe" versehen hast, per cbi zuzugreifen. cbi bedeutet aber "Clear Bit in I/O
register". "farbe" ist aber kein I/O-Register.
Ah, ok. Ausser bei
sbi portb,farbe
hab ich´s beheben können, den rest find ich auch noch
>>>Mit sonstigen Übersichtlichkeitsförsderungsmaßnahmen wie konsequentem,
sinvollem Einrücken hast Du es offensichtlich auch nicht...
Ist beim kopieren etwas kaputt gegangen.
Hab es so aufgebaut:
Sprungpunkt:
Funktion
cpi x,3
brne danach
Funktion in If-Abfrage
danach:
.....
Rücksprung, falls immer ausgeführt
Zudem leicht, aber nicht völlig zurückgerückte Sprungpunkte (Labels),
wenn sie nur innerhalb einer größeren procedure aufgerufen werden
(sprich, die werden nur über xxxcall aufgerufen)
Irgendwelche Tipps dazu?
Mit Groß- und Kleinschreibung, ja, das muss ich mir mal angewöhnen.
Ist glaubig ne weit verbreitete Krankheit von Leuten, die mit Sprachen
aufgewachsen sind, die nicht mehr Case-Sensitive sind. ;)
Mfg Purefranky
PureFranky wrote:
>>>>zweitens hat das nichts mit GCC zu tun (falsches Forum)> Oh, sorry :-(> Wusste nicht so recht, wo´s rein sollte, vielleicht is ja ein Admin so> net und verschiebt es :)
done.