PIC17C4X
DS30412B-page 108
1996 Microchip Technology Inc.
Table 15-2 lists the instructions recognized by the
MPASM assembler.
All instruction examples use the following format to rep-
resent a hexadecimal number:
0xhh
where h signifies a hexadecimal digit.
To represent a binary number:
0000 0100b
where b signifies a binary string.
FIGURE 15-1: GENERAL FORMAT FOR
INSTRUCTIONS
Byte-oriented
file register operations
Note 1:
Any unused opcode is Reserved. Use of
any reserved opcode may cause unex-
pected operation.
The shaded instructions are not available
in the PIC17C42
Note 2:
15 9 8 7 0
OPCODE d f (FILE #)
d = 0 for destination WREG
d = 1 for destination f
f = 8-bit file register address
Bit-oriented
file register operations
15 11 10 8 7 0
OPCODE b (BIT #) f (FILE #)
b = 3-bit address
f = 8-bit file register address
Literal and control
operations
15 8 7 0
OPCODE k (literal)
k = 8-bit immediate value
Byte to Byte
move operations
15 13 12 8 7 0
OPCODE p (FILE #) f (FILE #)
Call and GOTO
operations
15 13 12 0
OPCODE k (literal)
k = 13-bit immediate value
p = peripheral register file address
f = 8-bit file register address
15.1
Special Function Registers as
Source/Destination
The PIC17C4X’s orthogonal instruction set allows read
and write of all file registers, including special function
registers. There are some special situations the user
should be aware of:
15.1.1
ALUSTA AS DESTINATION
If an instruction writes to ALUSTA, the Z, C, DC and OV
bits may be set or cleared as a result of the instruction
and overwrite the original data bits written. For exam-
ple, executing
CLRF
ALUSTA
ALUSTA, and then set the Z bit leaving
the register.
will clear register
0000 0100b
in
15.1.2
PCL AS SOURCE OR DESTINATION
Read, write or read-modify-write on PCL may have the
following results:
Read PC:
PCH
Write PCL:
PCLATH
8-bit destination value
Read-Modify-Write:
PCL
→
PCLATH
8-bit result
Where PCH = program counter high byte (not an
addressable register), PCLATH = Program counter
high holding latch, dest = destination, WREG or f.
→
PCLATH; PCL
→
PCH;
→
dest
→
PCL
ALU operand
→
PCH;
→
PCL
15.1.3
BIT MANIPULATION
All bit manipulation instructions are done by first read-
ing the entire register, operating on the selected bit and
writing the result back (read-modify-write). The user
should keep this in mind when operating on special
function registers, such as ports.