mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Assembler: Bedingung A und Bedingung B, dann nicht


Autor: Karl-alfred Römer (karl-alfred_roemer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der 16-Bit-Zeiger im Mega8 NULL ist,
dann (und nur dann) soll etwas NICHT getan werden ?

Habe es derzeit so gemacht:

cpi ZL, 0
brne weiter
cpi ZH, 0
breq Ende
weiter:
rcall AuszuführendeRoutine
Ende:

Man sehr muss aufpassen,dass man das brne und das breq
nicht vertauscht. Und dann noch Zwei Labels, die sich
auch noch überschneiden!!! Geht das nicht auch einfacher?

Autor: Herr Mueller (herrmueller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nichts leichter als das, sagte Frederick zu Piggeldy:

adiw Z,0
breq weiter
rcall AuszuführendeRoutine
weiter:


zu Z (word) wird 0 addiert. Wenns 0 war bleibts 0 , ansonsten bleibt es 
was es vorher war.

Autor: Karl-alfred Römer (karl-alfred_roemer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wow, da muss man erst mal drauf kommen!

Dass so etwas Unsinniges, wie Null zu einer Zahl zu addieren
indirekt die Information gibt, dass die ursprüngliche Zahl
Null war. Aber jetzt, wo ich es sehe, ist es sonnenklar.
Falls Z Null ist, dann setzt adiw Z,0 das Zeroflag was
dann von breq erkannt wird. Genial!  Danke:)))

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.