Forum: Mikrocontroller und Digitale Elektronik Problem mit dem Befehl sbr/cbr bei Atmel


von Pöschi (Gast)


Lesenswert?

Hallo,

ich hab ein Problem, und zwar versuche ich schon 2 Tage lang ein Bit in
einem Register zu setzten bzw. nicht rückzusetzt. Das ist ja soweit
kein Problem nur die angabe, welches Bit (0-7) steht in einem anderem
Register und muss variabel sein :-(
So hab ich es schon versucht:

sbr  r16,r17
sbr  r16,1<<r17

das funktioniert aber nicht, das geht nur, wenn ich hinten einen
Definierten wert hinschreibe aber nicht mit einem Register.
Ich hab auch schon darüber nachgedacht alle Bits rauszuschieben das
gesuchte Bit zu Setzten und alle Bits wieder reinzuschieben, aber den
aufwand wollte ich mir eigentlich ersparen.

Ich wäre sehr dankbar für eine Idee.

von Matthias (Gast)


Lesenswert?

Hi

sowas geht AFAIK nur per ausmaskieren des Bits per AND bzw. OR. Den
zweiten Operanden mußt du dann halt ein bischen umbauen.

Matthias

von Frank Linde (Gast)


Lesenswert?

Stimmt, SBR geht nur mit einer Konstanten. Der Weg von Matthias ist
richtig. Wenn Du mit der Kurzfassung nicht klar kommst, melde Dich
nochmal.

Gruß, Frank

von Pöschi (Gast)


Lesenswert?

hiho,

danke euch, für den Tip, ich mache das ganze jetzt mit XOR (EOR), da
ich eine 0 an der Stelle brauche. Klapt prima :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.