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


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


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
von Josef G. (bome) Benutzerseite


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.
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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
von franke (Gast)


Lesenswert?

und was passiert bei Gleichheit ?

Oder du nimmst das Zero-Flag auch noch mit rein...
von René D. (Firma: www.dossmatik.de) (dose)


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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.