mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 8051: konstante invertiert laden


Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag!

Mit MOV R0,#konstante kann ich ja bekanntlich die Konstante in das 
Register 0 laden. Gibt es im 8051er-Assembler eine Möglichkeit, den 
inversen Wert der Konstante zu benützen? In C kann ich ja mit ~Konstante 
den Wert invertieren.
Idee dahinter ist, dass ich die Masken für irgendwelche Flags nur einmal 
ablegen muss und so löschen und setzen mit der gleichen Maske tätigen 
kann. (was ich persönlich für sinvoller halte)


Gruss Markus

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um welchen 8051 Assembler geht es denn? (Hersteller, ...)

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Generell dürfte '0xFF - Konstante' gehen.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

is ist der KEIL A51 Macro Assembler V6.14a.
Gibt es da keine direkte Schreibweise?


Gruss

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
??

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>??

Handbuch lesen?
Im Online Handbuch habe ich es in 5 Minuten gefunden.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MOV A,#xx
CPL A
MOV R0,A

oder verstehe ich Deine Frage total falsch?
Du willst alle Bit's invertieren?

Dann CPL A

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich möchte bloss die Maskierung nur einmal definieren. Wenn ich das Bit 
löschen möchte, maskiere ich mit:

ANL  xxx,#konstante

und wenn ich es setzen will, möchte ich das mit der selben konstante 
tun.

ORL  xxx,#~konstante

wobei das ~ C-syntax ist und logischerweise nicht funktioniert. Aber 
vielleicht versteht jetzt jemand, auf was ich hinaus will ;-)

Ich suche eine andere Schreibweise, sodass ich den inversen Wert der 
Konstante bekomme.


Gruss

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab es mittlerweilen gfunden ;)

ORL  xxx,#not konstante

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.