www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Registervergleich / set less than carry bit auswerten


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: René D. (Firma: www.dossmatik.de) (dose)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ich will meine ALU um einen Vergleicher erweitern.
In VHDL gibt es Releationszeichen, das wollte ich nicht nutzen da ich in 
der ALU subtrahieren kann.

Ich kann Reister A vom Register B abziehen und schaue mir das Carrybit 
an.
Eigentlich einfach denke ich mir.

Jetzt gibt es aber einen SLT und einen SLTU Befehl.
SLT ist für signed Rechenoperation und SLTU für unsigned 
Rechenoperationen. Es wird im Assembler unterschieden. Wenn ich mir die 
binäre Darstellung anschaue ist ein Unterschied da. Ich bin mir noch 
nicht im Klaren wie es sich unterscheidet. Welche BIt wie abfragen. Es 
hat sich mir noch nicht erschlossen.
Fall jemand noch im Stoff der digitalen Grundlagen steht, kann mir gerne 
einen Tipp geben.


unsigned  signed
111111


100000
011111    011111



000000    000000    0
          111111


          011111

Autor: Josef G. (bome) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Man nehme zwei Zweierkomplement-Zahlen und negiere jeweils
das höchste Bit. So erhält man zwei Offset-Zahlen. Diese
kann man wie unsigned-Zahlen vergleichen.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite Flattr this
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
René D. schrieb:
> Ich kann A von B abziehen und schaue mir das Carrybit an.
Der Trick: mit dem Carry allein geht das nicht! Es gibt neben dem 
Carry-Flag auch das Overflow-Flag, das bei Signed-Operationen seine 
Rolle spielt.
http://www.google.de/search?q=carry+overflow+flag

Autor: franke (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
und was passiert bei Gleichheit ?

Oder du nimmst das Zero-Flag auch noch mit rein...

Autor: René D. (Firma: www.dossmatik.de) (dose)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
franke schrieb:
> und was passiert bei Gleichheit ?
>
> Oder du nimmst das Zero-Flag auch noch mit rein...

slt ist nur kleiner als.



ach ja das Overflow bit gibt es auch noch. Jetzt dämmert es wieder 
langsam. Das ist schon alles etwas länger her.

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




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 erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net