Rotate Operationen Drucken E-Mail

 

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

Beispiel:

 

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.

 

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.

 

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:

 

 

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.

 

 

 

Samstag, 19. Mai 2012

Banner
Seitenaufrufe : 1040146