
2004 Microchip Technology Inc.
DS30491C-page 405
PIC18F6585/8585/6680/8680
TSTFSZ
Test f, skip if 0
Syntax:
[ label ] TSTFSZ f [,a]
Operands:
0
≤ f ≤ 255
a
∈ [0,1]
Operation:
skip if f = 0
Status Affected:
None
Encoding:
0110
011a
ffff
Description:
If ‘f’ = 0, the next instruction,
fetched during the current
instruction execution is discarded
and a NOP is 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 (default).
Words:
1
Cycles:
1(2)
Note: 3 cycles if skip and followed
by a 2-word instruction.
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register ‘f’
Process
Data
No
operation
If skip:
Q1
Q2
Q3
Q4
No
operation
No
operation
No
operation
No
operation
If skip and followed by 2-word instruction:
Q1
Q2
Q3
Q4
No
operation
No
operation
No
operation
No
operation
No
operation
No
operation
No
operation
No
operation
Example:
HERE
TSTFSZ
CNT, 1
NZERO
:
ZERO
:
Before Instruction
PC
=
Address (HERE)
After Instruction
If CNT
=
0x00,
PC
=
Address (ZERO)
If CNT
≠
0x00,
PC
=
Address (NZERO)
XORLW
Exclusive OR literal with W
Syntax:
[ label ] XORLW k
Operands:
0
≤ k ≤ 255
Operation:
(W) .XOR. k
→ W
Status Affected:
N, Z
Encoding:
0000
1010
kkkk
Description:
The contents of W are XORed
with the 8-bit literal ‘k’. The result
is placed in W.
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
literal ‘k’
Process
Data
Write to W
Example:
XORLW 0xAF
Before Instruction
W=
0xB5
After Instruction
W
=
0x1A