Hols der Geier
Rollen = Rotate
Ist auch in meinem Link beschrieben.
Rollen können eigentlich alle CPUs. Den Befehl benötigt man, wenn man mehr Bits schieben will, als in ein Register passen.
Man fängt mit einer Schiebung an, das Bit welches rausfällt wird dann im Carry abgelegt.
Beim nächsten Wert wird dann rotiert. Dabei wird das Carry eingeschoben und das rausfallende Bit landet wiederum im Carry.
So kann man beliebig lange Bitfolgen schieben.
Schieben gibt's dann noch als logisch und Arithmetisch.
Wobei eigentlich nur die Schiebung nach rechts unterschiedlich ist. Beim arithmetischen rechts Schieben wird das MSB verdoppelt, weil es als Vorzeichen behandelt wird.
Die Schiebe- und Rollbefehle sind die Grundlage für Multiplikation und Division.
Der 6502 hatte noch keine Befehle für Multiplikation und Division, dazu brauchte man Assembler Unterprogramme.
Auf C-Ebene werden die Schiebeoperationen hauptsächlich für "Bit-Fummeleien" verwendet.
MfG Peter(TOO)
Lesezeichen