Hardware Reference
In-Depth Information
vorzeichenfreieOperanden
Subtraktions-
¨ubertrag
vorzeichenbehafteteOperanden
Subtraktion
keinSubtrak-
Differenz
nichtnegativ
Differenz
negativ
tions¨ubertrag
a b
a b 1
a b
a<b
a b
a>b
a<b
a>b
a b
a b
Gr¨oßenvergleich
Abb. 2.89. Größenvergleich durch Subtraktion
bung, einer arithmetischen Verschiebung und einer Rotation zu unterschei-
den (Abb. 2.90). Bei einer logischen Verschiebung mit den Operatoren »srl«
(logische Rechtsverschiebung) und »sll« (logische Linksverschiebung) werden
die freiwerdenden Bitstellen mit Nullen gefüllt. Bei einer arithmetischen Ver-
schiebung mit den Operatoren »sra« (arithmetische Rechtsverschiebung) und
»sla« (arithmetische Linksverschiebung) werden die freiwerdenden Bits mit
dem Wert des Vorzeichenbits gefüllt. Das ist bei einer Zweierkomplementdar-
stellung und absteigender Vereinbarung des Indexbereichs das linke und bei
aufsteigender Vereinbarung des Indexbereichs das rechte Bit des Bitvektors.
Die nachgebildete Funktion ist eine n-fache Halbierung, bei der das Vorzei-
chen erhalten bleibt. Eine Rotation mit den Operatoren »rol« (Rotation nach
links) und »ror« (Rotation nach rechts) bewegt die Bits im Kreis.
Bei der n-fachen Halbierung gehen die Nachkommastellen verloren. Das
Ergebnis hat immer den nächstkleineren ganzzahligen Wert. Die logische
Rechtsverschiebung in Abb. 2.90 teilt den Wert 2 6 + 2 3 + 2 2 + 2 0 = 77
durch vier. Von dem Ergebnis 2 4 + 2 1 + 2 0 + 2 2 = 19;25 bleiben nur die
Vorkommastellen mit dem Wert 2 4 + 2 1 + 2 0 = 19 erhalten. Bei der arithmeti-
logischeVerschiebung
arithmetischeVerschiebung Rotation
y:=x 2;
srl
y:=x 2;
sra
y:=x 2;
ror
x:0
01001101
x:
1
0
1
1
0
0
1
0
x:
01001101
y:
y:
y:
0 1
00 0011
1
1
1
0
1
1
0
0
0 10 0011
1
y:=x
sll
2;
y:=x
sla
2;
y:=x
rol
2;
x:
x:
01
001101
0
x:
1
0
1
1
0
0
1
0
01
001101
y:
y:
001101
00
y:
1
1
0
0
1 0
0
0
001101
0
1
Abb. 2.90. Verschiebe- und Rotationsoperationen
Search WWH ::




Custom Search