MOVWF
Move W to f
Syntax:
[ label ] MOVWF f
Operands:
0 ≤ f ≤ 31
Operation:
(W) → (f)
Status Affected: None
Encoding:
0000 001f ffff
Description:
Move data from the W register to
register ‘f’.
Words:
1
Cycles:
1
Example:
MOVWF TEMP_REG
Before Instruction
TEMP_REG =
W
=
After Instruction
TEMP_REG =
W
=
0xFF
0x4F
0x4F
0x4F
NOP
No Operation
Syntax:
Operands:
[ label ] NOP
None
Operation:
No operation
Status Affected: None
Encoding:
0000 0000
Description:
No operation.
Words:
1
Cycles:
1
Example:
NOP
0000
PIC16F5X
OPTION
Load OPTION Register
Syntax:
[ label ] OPTION
Operands:
None
Operation:
(W) → OPTION
Status Affected: None
Encoding:
0000 0000 0010
Description:
The content of the W register is
loaded into the Option register.
Words:
1
Cycles:
1
Example:
OPTION
Before Instruction
W
=
After Instruction
OPTION =
0x07
0x07
RETLW
Return with Literal in W
Syntax:
[ label ] RETLW k
Operands:
0 ≤ k ≤ 255
Operation:
k → (W);
TOS → PC
Status Affected: None
Encoding:
1000 kkkk kkkk
Description:
The W register is loaded with the
eight-bit literal ‘k’. The program
counter is loaded from the top of
the stack (the return address). This
is a two-cycle instruction.
Words:
1
Cycles:
2
Example:
TABLE
CALL TABLE;W contains
;table offset
;value.
•
;W now has table
•
;value.
•
ADDWF PC ;W = offset
RETLW k1 ;Begin table
RETLW k2 ;
•
•
•
RETLW kn ; End of table
Before Instruction
W
=
After Instruction
W
=
0x07
value of k8
© 2007 Microchip Technology Inc.
DS41213D-page 49