PIC Microcontroller Bit Math Method

Rotate a value without using carry.

rlf RAM,w
rlf RAM

The normal Rotate-instructions are 9-bit (Carry into lowest bit, highest bit into Carry). This modification creates a 8-bit Rotate. (Highest bit into Lowest bit). The first line places the MSBit of RAM into Carry and then the second actually performs the rotate.

If you would like to rotate without affection the carry you can do it like that:

;right cycle shift

rrf     RAM,W
rrf     RAM,F
addlw   0x80    ;restore carry

;left cycle shift

rlf     RAM,W
rlf     RAM,F
movwf   temp_cy
rrf     temp_cy,f ;restore carry