SBR nutzen

OP #562374
Lesenswert?

Ich habe keine Ahnung warum das nicht geht vielleicht ist es auch ein 
Denkfehler.
Also ich will in dem reg r20 eines tinytn44 das Bit 4 setzen. Nutze 
daher den Befehl
SBR r20,4
Ich Programmiere in Assembler.
In der Simulation wird aber Bit 3 gesetzt, das raff ich einfach nicht da 
es in einem anderen Zusammenhang bei Bit 1 wunderbar funktioniert.
#562376
Lesenswert?

Robert M. wrote:
> Ich habe keine Ahnung warum das nicht geht vielleicht ist es auch ein
> Denkfehler.
> Also ich will in dem reg r20 eines tinytn44 das Bit 4 setzen. Nutze
> daher den Befehl
> SBR r20,4
> Ich Programmiere in Assembler.
> In der Simulation wird aber Bit 3 gesetzt, das raff ich einfach nicht da
> es in einem anderen Zusammenhang bei Bit 1 wunderbar funktioniert.

Du weißt aber, dass Bits in dem Fall von 0-7 bennant werden??
Gast #562434
Lesenswert?

Die Gemeinheit ist, daß SBI (Set Bit in I/O Register) die Nummer des Bit 
haben will, während SBR (Set Bit in Register) einfach nur ein anderer 
Name für ORI ist und daher nicht die Nummer, sondern die Wertigkeit 
braucht.
Gast #562488
Lesenswert?

Hallo,

um noch genauer zu sein, er will eine Bitmaske, genau wie cbr.

Das hat den Vorteil, daß man gleichzeitig mehrere Bits setzen oder mit 
cbr löschen kann.

sbr r20,0b00010001 setzt Bit 0 und 4 (eben ein or)
cbr r20,0b00010001 löscht Bit 0 und 4 (ist ein and mit dem 
Einer-Complement)

Bei sbi und cbi geht das so leider nicht, da ist es die Bitnumemr und 
somit immer nur 1 Bit änderbar.

Auch bei sbrs und sbrc beachten, dort ist es auch die Bitnummer, genauso 
wie bei sbis und cbis für die I/O...

Gruß aus Berlin
Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren