mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CPSE->CPNE?


Autor: Christian Fuchs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

noch eine Frage von mir ;-)

Ich bin gerade ein wenig am Programmieren, und jetzt stellt sich mir die 
Gegebenheit, dass ich 2 Register vergleichen will, und wenn sie gleich 
sind, soll der in der nächsten Zeile stehende Befehl ausgeführt 
werden...

Einen solchen Assembler Befehl gibt es aber nicht! (AT90S2313)

Es gibt nur CPSE->Compare, Skip if Equal

Was ich bräuchte wäre "Compare, Skip if NOT Equal".

Ich überlege schon ne ganze Weile nach einem Workaround, aber das 
einzige was bis jetzt geklappt hat war mit den branch-Befehlen, aber 
dafür brauche ich dann ja wieder eine Sprungmarke, was das ganze 
unelegant macht.

Wäre nett, wenn jemand ein paar Zeilen dazu schreiben würde...


ciao

     Christian

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,

> Es gibt nur CPSE->Compare, Skip if Equal
>
> Was ich bräuchte wäre "Compare, Skip if NOT Equal".

gibts leider net.

> Ich überlege schon ne ganze Weile nach einem Workaround, aber
> das einzige was bis jetzt geklappt hat war mit den
> branch-Befehlen, aber dafür brauche ich dann ja wieder eine
> Sprungmarke, was das ganze unelegant macht.

Du brauchst nicht unbedingt Sprungmarken um zu springen. Mit <b>brne 
PC+2</b> wird z.B. der nächste Befehl übersprungen, wenn der Vergleich 
negativ ausfällt. <b>PC</b> bedeutet "Program Counter", <b>PC+2</b> sagt 
dem Assembler, dass du 2 Adressen nach vorne springen möchtest. Am 
besten mal im AVR-Studio ausprobieren.

MfG
Andreas

Autor: Christian Fuchs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort, dass mit dem PC+... ist um einiges elleganter als 
mit der Marke ;-)

ciao

     Christian

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.