8.1 Instruction Descriptions
ADDLW
Add Literal and W
Syntax:
[ label ] ADDLW k
Operands:
0 ≤ k ≤ 255
Operation:
(W) + k → (W)
Status Affected: C, DC, Z
Encoding:
11
111x kkkk kkkk
Description:
The contents of the W register are
added to the eight bit literal 'k' and the
result is placed in the W register.
Words:
1
Cycles:
1
Example
ADDLW 0x15
Before Instruction
W = 0x10
After Instruction
W = 0x25
ADDWF
Add W and f
Syntax:
Operands:
Operation:
Status Affected:
[ label ] ADDWF f,d
0 ≤ f ≤ 127
d ∈ [0,1]
(W) + (f) → (dest)
C, DC, Z
Encoding:
00
0111 dfff ffff
Description:
Words:
Add the contents of the W register
with register 'f'. If 'd' is 0 the result is
stored in the W register. If 'd' is 1 the
result is stored back in register 'f'.
1
Cycles:
1
Example
ADDWF FSR, 0
Before Instruction
W = 0x17
FSR = 0xC2
After Instruction
W = 0xD9
FSR = 0xC2
PIC16C55X
ANDLW
AND Literal with W
Syntax:
[ label ] ANDLW k
Operands:
0 ≤ k ≤ 255
Operation:
(W) .AND. (k) → (W)
Status Affected: Z
Encoding:
11
1001 kkkk kkkk
Description:
The contents of W register are
AND’ed with the eight bit literal 'k'. The
result is placed in the W register.
Words:
1
Cycles:
1
Example
ANDLW 0x5F
Before Instruction
W = 0xA3
After Instruction
W = 0x03
ANDWF
AND W with f
Syntax:
Operands:
Operation:
Status Affected:
[ label ] ANDWF f,d
0 ≤ f ≤ 127
d ∈ [0,1]
(W) .AND. (f) → (dest)
Z
Encoding:
00
0101 dfff ffff
Description:
Words:
AND the W register with register 'f'. If
'd' is 0 the result is stored in the W
register. If 'd' is 1 the result is stored
back in register 'f'.
1
Cycles:
1
Example
ANDWF FSR, 1
Before Instruction
W = 0x17
FSR = 0xC2
After Instruction
W = 0x17
FSR = 0x02
2002 Microchip Technology Inc.
Preliminary
DS40143D-page 55