Assembler: Bedingung A und Bedingung B, dann nicht

OP #1363933
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?
OP
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.