www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verständnisfrage SUBI und anschließend BRMI


Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin gerade dabeio eine kleine ASM Routine zu schreiben(Mega16), um den
Inhalt eines Registers auf dem LCD anzeigen zu lassen. Dabei habe ich
ein Problem, dessen Ursache ich nicht verstehe...

ldi r16,227
subi temp,100
brmi weiter

ergebnis = 127    negative und singned flag gelöscht

ldi r16,229
subi temp,100
brmi weiter

ergebnis = 129    negative und singned flag gesetzt


wenn ich das richtig verstanden habe, wird doch das singned + negative
flag nur gesetzt, wenn die 0 durchlaufen wird, oder? Wie es hier
aussieht, wird es anscheinend schon gesetzt, wenn das ergebnis einer
subtraktion zwischen 128 und 255 liegt.

Gruß,
Tubie

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist zwar nicht die feine Art, allerdings geht es jetzt...

ldi r16,227
ldi r17,0
subi r16,100
sbc r17,r17
brmi weiter


habe aus der 8-Bit subtraktion eine 16-Bit subtraktion gemacht.

Gruß,
Tubie

Autor: D. W. (dave) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SUBI setzt Z,C,N,V,H und
BRMI führt sich dann aus: if (N = 1) then PC ← PC + k + 1

N: R7
Set if MSB of the result is set; cleared otherwise.


Wie wäre es vielleicht mit BRCC und BRCS (BRSH und BRLO).
ldi r16, 99
subi r16, 100
brlo test  ; = brcs

Der wird hier sicher springen.

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manchmal sieht man den Wald vor lauter Bäumen nicht. Habe mich ziemlich
auf BRMI versteift.

Vielen Dank

Gruß,
Tubie

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.