Rotate Operationen

 

Wir setzen im Akku das erste Bit (0.Bit) und lassen es 8-mal nach links rotieren (RL = Rotate Left).

 

Beispiel:

Rotate Operationen

 

Was passiert hier im Akku?

Das Bit wird jeweils um eine Stelle nach links verschoben. Der Akku gibt das aktuelle Ergebnis in einer Hex-Zahl aus.

Rotate Operationen Akku

mit RR (Rotate Right) kann man den Inhalt des Akku bitweise nach rechts rotieren lassen.

 

Beispiel:

SETB ACC.7    ;7.Bit im Akku setzen

RR

 

RRC - Rotate Right über das carry bit (cy)

Alle Bits des Akku werden um ein Bit nach rechts geschoben.
Das an der Stelle 0 herausgeschobene Bit geht in das CarryFlag cy im Programmstatuswort PSW.
Der alte Inhalt des CarryFlags wird an der höchstwertigsten Stelle (7.Bit) in den Akku hineingeschoben.

rotate right carry bit

 

Zuerst setzen wir das 7. Bit im Akku

SETB ACC.7

Wir löschen das carry bit

CLR C

Jetzt lassen wir das cy im Akku solange nach rechts rotieren, bis der Akku 00 (Zero) ist.
Jetzt ist cy = 1.

Über einen Sprungbefehl wird der Vorgang wiederholt.

 

Beispiel:

rotate right carry RRC

 

Jetzt möchten wir das ganze ersichtlich am Port 0 ausgeben.
Dazu fügen wir einfach mov P0,A ein.
Die Ausgabe des Ports können Sie in Keil uVision unter Peripherie - I/O-Ports anzeigen lassen.

rotate Operationen Akku Port