mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Speicherzelle vergleichen ?


Autor: Mario Grimm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
ich weis meine Fragen sind simpel, aber ich komme nicht weiter und im
Chat ist auch keiner.

Ich erhöhe eine Speicherzelle immer um 1 mit

INCFSZ 0x25,1

Wie kann ich abfragen, wenn in der Speicherzelle 99 steht.
Geht das nur mit einer AND Verknüpfung oder so ?
Ein paar Zeilen währen hilfreich.
(Prinzip: IF 0x25 = 99 Then.......nur in Assembler halt)

Vielen Dank!

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest dazu schreiben, um welche Architektur es geht.

Gibt es keinen Opcode für "cmp", "compare", "compare immediate"
oder ähnliches?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Gibt es keinen Opcode für "cmp", "compare", "compare immediate"
> oder ähnliches?

Bei den PICs nicht. Da geht's offenbar nur über Subtraktion oder XOR.

Also: MOVLW 99, SUBFW/XORWF und das Z-Flag testen.

Autor: Harald G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Mario

wenn du eine Variable  um 1 erhöhen willst verwende den Befehl

INCF 0x25,1

abfrage ob = 99 ist dann

movlw    .99       ;  Dez 99
xorwf    0x25,0    ;  Z-Flag wird bei Gleichheit gesetzt
btfsc    STATUS,Z  ;  überspringe nächsten Befehl wenn ungleich
goto     ziel      ;  verzweige zur adresse zB.ziel wenn gleich
nop                ;  hier geht  dan Programmm weiter (nop ist nur
                   ;  ein Beispiel.)


mfg
Harald

Autor: Mario Grimm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo @Harald

Vielen Dank dafür !!
Jetzt sieht die Welt schon wieder anders aus.
Ich muss halt immer wieder Probieren ob es funktioniert, und wenn
nicht, dann kann der Fehler ja sonnst wo liegen.
Also besten Dank nochmals !!!

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.