Gast
#2424012
Hallo, steh gerade auf dem Schlauch ob das Invertieren eines beliebigen Registerbits in ASM nicht effektiver geht als so hier, z.B. mit r16 und Bit 4:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Ideen? Gruß moby
|
Anzeige
|
AVR/ASM: Bit in Register invertieren
Gast
#2424012
Hallo, steh gerade auf dem Schlauch ob das Invertieren eines beliebigen Registerbits in ASM nicht effektiver geht als so hier, z.B. mit r16 und Bit 4:
Ideen? Gruß moby ldi r17, (1<<Bit) eor r16, r17 Leider gibt es kein EORI sondern nur ein EOR ld r17, 1<<4 eor r16, r17
Gast
#2424043
Danke! Damit dürfte EOR nun erstmalig in meinem Programmieralltag Einzug halten :) @moby Und Achtung: das 1. Bit ist 0 Dein Beispiel funktioniert nicht! Ralf G. schrieb: > @moby > Und Achtung: das 1. Bit ist 0 > Dein Beispiel funktioniert nicht! Womit dann auch ganz zwanglos die Vorteile der Schreibweise cbr r16, (1<<4) gegenüber cbr r16,8 aufgezeigt wären. Im ersten steht die Bitnummer direkt dort und der Assembler rechnet das entsprechende Maskenbyte aus. Im zweiten hat der Programmierer das entsprechende Maskenbyte für sich im Kopf ausgerechnet und dabei prompt einen Fehler gemacht :-)
Gast
#2424058
Karl Heinz Buchegger schrieb: > und dabei prompt einen Fehler gemacht :-) Wie peinlich :-) Die Schreibweise sollte man diesbezüglich wirklich ändern, wenn nur der Zeichen-Mehraufwand nicht wäre :-(
Beitrag #5699683 wurde von einem Moderator gelöscht.
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|