bigeggmc,

das kann man z.B. so machen (Rotation nach rechts):

Code:
in r16,PINA          ; Input Pins von PortA nach r16 einlesen
mov r17,r16          ; Arbeitskopie nach r17
lsr r17              ; schiebt alle 8 Bits um eins nach rechts, setzt Bit7 auf Null
sbrc r17,3           ; nächste Anweisung überspringen, wenn Bit3 Null ist
or r17,0x80          ; Bit7 auf 1 setzen
andi r17,0xF0        ; untere 4 Bits in r17 löschen
andi r16,0x0F        ; oberer 4 Bits in r16 löschen
or r16,r17           ; beide Halb-Bytes in  r16 wieder zusammensetzen
; r16 enthält jetzt wieder den urspünglichen Port-Inhalt, aber die
; oberen 4 Bits sind um eins nach rechts rotiert.
Das Programmstück lässt sich leicht für die Linksrotation modifizieren .

mare_crisium