Forum: Compiler & IDEs avr-as: bitwise not und 8-Bit-Arithmetik


von Ulf R. (roolf)


Lesenswert?

Wenn ich folgende Zeile durch avr-as schicke,
1
cbr tmp, ~(1<<6)
dann bekomme ich die Fehlermeldung "Error: number must be less than 
256".  Ich kann diese zwar erfolgreich mit
1
cbr tmp, (~(1<<6))&0xff
umgehen, aber das muss doch auch eleganter gehen?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

lo8(~(1 << 6))

Der Negationsoperator generiert halt erst einmal einen 16-bit-Wert.

von Peter D. (peda)


Lesenswert?

Warum nimmst Du nicht einfach:

andi tmp, 1<<6


Peter

von Ulf R. (roolf)


Lesenswert?

andi wäre im konkreten Fall natürlich äquivalent, aber dann lerne ich ja 
nichts über avr-as :-)

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.