www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik was bedeutet bitadressierbar?


Autor: Daniel S. (danilka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

AVR atmega8 hat zum Beispiel den Befehl sbr Rd,k.
Ist atmega8 deswegen bitadressierbar?

Wenn es diesen Befehl nicht gäbe, und die einzige Möglichkeit
dieses Bit zu setzen wäre, in pseudo-C
x = read8();
x |= 1<<k;
write8(x);
wäre das was man mit nicht-bitadressierbar meint?

Danke ;)

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Prozessor selbst ist höchstens bitadressierend, nicht 
bitadressierbar. I/O-Register und Speicherstellen können bitadressierbar 
sein. So ist also der Mega8 insgesamt nicht bitadressierbar, wohl aber 
dessen Port-Register.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>So ist also der Mega8 insgesamt nicht bitadressierbar, wohl aber
>dessen Port-Register.

in sbr Rd,k ist Rd doch nicht zwangsläufig Portregister,
oder übersehe ich etwas?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>in sbr Rd,k ist Rd doch nicht zwangsläufig Portregister,
>oder übersehe ich etwas?

Ja, nur eine handvoll Register ist bitadressierbar (bis 32?).
Das RAM jedenfalls nicht.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yep, du übersiehst etwas. Den Befehl SBR mit einem Bit als zweitem 
Operanden gibt es bei AVRs nicht. Der real existierende Befehl SBR will 
zur besseren Verwirrung des Programmierers eine Maske und wird vom 
Assembler ausserdem in ORI umgesetzt.

Es gibt indes schon Bit-Befehle auf Register. Aber das macht auch wieder 
nur diese Register (eingeschränkt) bitaddressierbar, nicht aber "den 
atmega8".

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel S. schrieb:

> x = read8();
> x |= 1<<k;
> write8(x);

Wobei die Befehle SBI/CBI intern auch nichts anderes machen als dies. 
Eine wirklich echte Bitadressierung ist mir bislang nur bei der TMS9900 
Familie mit ihrem 1-Bit breiten I/O-Bus begegnet.

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.