Sintassi:
rrf f,b
Operazione equivalente:
d = f >> 1 (dove d può essere W o f)
Descrizione:
Ruota i bit contenuti nel registro all'indirizzo f
verso destra (ovvero dai bit più significativi verso quelli meno significativi) passando
per il bit CARRY del registro STATUS come illustrato in
figura:

Il contenuto del bit CARRY del registro status viene
spostato nel bit D7 mentre il valore in uscita dal bit D0 viene spostato nel CARRY.
Il valore del parametro d determina la
destinazione del risultato ottenuto al termine della rotazione:
Per d = W il risultato viene memorizzato nel registro
W lasciando il registro f invariato.
Per d = F il risultato viene memorizzato nello stesso registro f
Esempio:
parm1 equ 0CH
org 00H
clrf C,STATUS ;Azzera il CARRY
movlw 01010101B ;Valore iniziale
movwf parm1
rrf parm1,F
Al termine del programma il registro parm1 varrà 00101010B
mentre il CARRY varrà 1.
Note:
Questa istruzione non influenza nessun altro bit di stato oltre al
CARRY.
|