
1996 Microchip Technology Inc.
Advance Information
DS40139A-page 41
PIC12C5XX
CALL
Syntax:
Operands:
Operation:
Subroutine Call
[ label CALL k
0
≤
k
≤
255
(PC) + 1
→
Top of Stack;
k
→
PC<7:0>;
(STATUS<6:5>)
→
PC<10:9>;
0
→
PC<8>
None
Status Affected:
Encoding:
Description:
1001
kkkk
kkkk
Subroutine call. First, return address
(PC+1) is pushed onto the stack. The
eight bit immediate address is loaded
into PC bits <7:0>. The upper bits
PC<10:9> are loaded from STA-
TUS<6:5>, PC<8> is cleared.
CALL
is a
two cycle instruction.
1
2
Words:
Cycles:
Example:
Before Instruction
PC =
After Instruction
PC =
TOS =
HERE
CALL
THERE
address
(HERE)
address
(THERE)
address
(HERE + 1)
CLRF
Syntax:
Operands:
Operation:
Clear f
[ label CLRF f
0
≤
f
≤
31
00h
→
(f);
1
→
Z
Z
Status Affected:
Encoding:
Description:
0000
011f
ffff
The contents of register 'f' are cleared
and the Z bit is set.
1
1
Words:
Cycles:
Example:
Before Instruction
FLAG_REG
After Instruction
FLAG_REG
Z
CLRF
FLAG_REG
=
0x5A
=
=
0x00
1
CLRW
Syntax:
Operands:
Operation:
Clear W
[ label CLRW
None
00h
→
(W);
1
→
Z
Z
Status Affected:
Encoding:
Description:
0000
0100
0000
The W register is cleared. Zero bit (Z)
is set.
1
1
Words:
Cycles:
Example:
Before Instruction
W
After Instruction
W
Z
CLRW
=
0x5A
=
=
0x00
1
CLRWDT
Syntax:
Operands:
Operation:
Clear Watchdog Timer
[ label CLRWDT
None
00h
→
WDT;
0
→
WDT prescaler (if assigned);
1
→
TO;
1
→
PD
TO, PD
Status Affected:
Encoding:
Description:
0000
0000
0100
The
CLRWDT
instruction resets the
WDT. It also resets the prescaler, if the
prescaler is assigned to the WDT and
not Timer0. Status bits TO and PD are
set.
1
1
Words:
Cycles:
Example:
Before Instruction
WDT counter =
After Instruction
WDT counter =
WDT prescale =
TO
PD
CLRWDT
0x00
0
1
1
=
=