PIC16(L)F1503
LSLF
Syntax:
Operands:
Operation:
Status Affected:
Description:
Logical Left Shift
[ label ] LSLF f {,d}
0 f 127
d [0,1]
(f<7>) C
(f<6:0>) dest<7:1>
0 dest<0>
C, Z
The contents of register ‘f’ are shifted
one bit to the left through the Carry flag.
A ‘0’ is shifted into the LSb. If ‘d’ is ‘0’,
the result is placed in W. If ‘d’ is ‘1’, the
result is stored back in register ‘f’.
C
register f
0
LSRF
Syntax:
Operands:
Operation:
Status Affected:
Description:
Logical Right Shift
[ label ] LSRF f {,d}
0 f 127
d [0,1]
0 dest<7>
(f<7:1>) dest<6:0>,
(f<0>) C,
C, Z
The contents of register ‘f’ are shifted
one bit to the right through the Carry
flag. A ‘0’ is shifted into the MSb. If ‘d’ is
‘0’, the result is placed in W. If ‘d’ is ‘1’,
the result is stored back in register ‘f’.
0
register f
C
MOVF
Syntax:
Operands:
Operation:
Status Affected:
Description:
Words:
Cycles:
Example:
Move f
[ label ] MOVF f,d
0 f 127
d [0,1]
(f) (dest)
Z
The contents of register f is moved to
a destination dependent upon the
status of d. If d = 0,
destination is W register. If d = 1, the
destination is file register f itself. d = 1
is useful to test a file register since
status flag Z is affected.
1
1
MOVF FSR, 0
After Instruction
W = value in FSR register
Z =1
2011-2015 Microchip Technology Inc.
DS40001607D-page 259