mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SBR nutzen


Autor: Robert M. (xertno)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Der Micha (steinadler)
Datum:

Bewertung
0 lesenswert
nicht 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??

Autor: Der Micha (steinadler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dezimal 4 ist in Binärschreibweise halt nunmal 0b00000100
Das ist also Bit 3.

Wenn, dann müsstest du SBR r20, 8 schreiben

Autor: Robert M. (xertno)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie macht das jetzt Sinn. Man machchmal bin ich echt Doof.

Autor: Sirko Pöhlmann (poehli)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
deswegen schreibe ich bei Bit setzen von solchen Registern lieber gleich 
0b00001000,
da sieht man auch ohne Rechnerei was gerade gesetzt wird, auch wenn es 
etwas rustikal ist und mehr Schreiberei.

Autor: Robert M. (xertno)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nee das geht so bei mir net. Das ist die Fehlermeldung.
error: Operand 2 out of range: 0x8

Autor: Der Micha (steinadler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Robert M. wrote:
> Nee das geht so bei mir net. Das ist die Fehlermeldung.
> error: Operand 2 out of range: 0x8

Dann unterstützt dein Compiler keine Zahlen in Binärschreibweise.

Autor: ecslowhand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss heissen:
sbr r20, (1<<3) ; Bit 3 setzen

LG EC

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Empfehlung: nicht die Menmonics SBR/CBR verwenden, sondern die 
identischen Befehle ANDI/ORI. Erspart Missverständnisse hinsichtlich 
Bitnummmer und Bitmaske.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.