Datasheet

1996 Microchip Technology Inc. DS30412C-page 121
PIC17C4X
DECF Decrement f
Syntax: [
label
] DECF f,d
Operands: 0 f 255
d [0,1]
Operation: (f) – 1 (dest)
Status Affected: OV, C, DC, Z
Encoding:
0000 011d ffff ffff
Description:
Decrement register 'f'. If 'd' is 0 the
result is stored in WREG. If 'd' is 1 the
result is stored back in register 'f'.
Words: 1
Cycles: 1
Q Cycle Activity:
Q1 Q2 Q3 Q4
Decode Read
register 'f'
Execute Write to
destination
Example:
DECF CNT, 1
Before Instruction
CNT = 0x01
Z=0
After Instruction
CNT = 0x00
Z=1
DECFSZ Decrement f, skip if 0
Syntax: [
label
] DECFSZ f,d
Operands: 0 f 255
d [0,1]
Operation: (f) – 1 (dest);
skip if result = 0
Status Affected: None
Encoding:
0001 011d ffff ffff
Description:
The contents of register 'f' are decre-
mented. If 'd' is 0 the result is placed in
WREG. If 'd' is 1 the result is placed
back in register 'f'.
If the result is 0, the next instruction,
which is already fetched, is discarded,
and an NOP is executed instead mak-
ing it a two-cycle instruction.
Words: 1
Cycles: 1(2)
Q Cycle Activity:
Q1 Q2 Q3 Q4
Decode Read
register 'f'
Execute Write to
destination
Example:
HERE DECFSZ CNT, 1
GOTO LOOP
CONTINUE
Before Instruction
PC = Address (HERE)
After Instruction
CNT = CNT - 1
If CNT = 0;
PC = Address (CONTINUE)
If CNT 0;
PC = Address (HERE+1)