PIC18F2331/2431/4331/4431
TSTFSZ
Test f, Skip if 0
XORLW
Exclusive OR Literal with W
Syntax:
[ label ] TSTFSZ f [,a]
Syntax:
[ label ] XORLW
0 k 255
k
Operands:
0 f 255
a [0,1]
Operands:
Operation:
Status Affected:
Encoding:
Description:
(W) .XOR. k W
N, Z
Operation:
skip if f = 0
Status Affected:
Encoding:
None
0000
1010
kkkk
kkkk
0110
011a
ffff
ffff
The contents of W are XORed with
the 8-bit literal, ‘k’. The result is placed
in W.
Description:
If ‘f’ = 0, the next instruction, fetched
during the current instruction execution,
is discarded and a NOPis executed,
making this a two-cycle instruction. If ‘a’
is ‘0’, the Access Bank will be selected,
overriding the BSR value. If ‘a’ is ‘1’,
then the bank will be selected as per
the BSR value.
Words:
Cycles:
1
1
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
literal ‘k’
Process
Data
Write to W
Words:
Cycles:
1
1(2)
Note: 3 cycles if skip and followed
by a 2-word instruction.
Example:
XORLW 0xAF
= 0xB5
Before Instruction
Q Cycle Activity:
Q1
W
Q2
Q3
Q4
After Instruction
Decode
Read
register ‘f’
Process
Data
No
operation
W
=
0x1A
If skip:
Q1
Q2
Q3
Q4
No
No
No
No
operation
operation
operation
operation
If skip and followed by 2-word instruction:
Q1
Q2
Q3
Q4
No
No
No
No
operation
operation
operation
operation
No
No
No
No
operation
operation
operation
operation
Example:
HERE
NZERO
ZERO
TSTFSZ CNT
:
:
Before Instruction
PC = Address (HERE)
After Instruction
If CNT
=
=
=
0x00,
Address (ZERO)
0x00,
PC
If CNT
PC
Address (NZERO)
2010 Microchip Technology Inc.
DS39616D-page 323