Datasheet
© 2009 Microchip Technology Inc. DS40044G-page 119
PIC16F627A/628A/648A
15.2 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: [ label ] ADDWF f,d
Operands: 0 ≤ f ≤ 127
d ∈ [0,1]
Operation: (W) + (f) → (dest)
Status Affected: C, DC, Z
Encoding:
00 0111 dfff ffff
Description: 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’.
Words: 1
Cycles: 1
Example
ADDWF REG1, 0
Before Instruction
W=0x17
REG1 = 0xC2
After Instruction
W=0xD9
REG1 = 0xC2
Z=0
C=0
DC = 0
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: [ label ] ANDWF f,d
Operands: 0 ≤ f ≤ 127
d ∈ [0,1]
Operation: (W) .AND. (f) → (dest)
Status Affected: Z
Encoding:
00 0101 dfff ffff
Description: 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’.
Words: 1
Cycles: 1
Example
ANDWF REG1, 1
Before Instruction
W=0x17
REG1 = 0xC2
After Instruction
W=0x17
REG1 = 0x02