PIC17C4X
Table 15-2 lists the instructions recognized by the
MPASM assembler.
15.1
Special Function Registers as
Source/Destination
Note 1: Any unused opcode is Reserved. Use of
any reserved opcode may cause unex-
pected operation.
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:
Note 2: The shaded instructions are not available
in the PIC17C42
15.1.1 ALUSTA AS DESTINATION
All instruction examples use the following format to rep-
resent a hexadecimal number:
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-
0xhh
where h signifies a hexadecimal digit.
To represent a binary number:
0000 0100b
ple, executing CLRF
ALUSTA will clear register
ALUSTA, and then set the Z bit leaving 0000 0100bin
the register.
where b signifies a binary string.
15.1.2 PCL AS SOURCE OR DESTINATION
FIGURE 15-1: GENERAL FORMAT FOR
INSTRUCTIONS
Read, write or read-modify-write on PCL may have the
following results:
Byte-oriented file register operations
Read PC:
PCH → PCLATH; PCL → dest
15
9
8
7
0
Write PCL:
PCLATH → PCH;
8-bit destination value → PCL
OPCODE
d
f (FILE #)
d = 0 for destination WREG
d = 1 for destination f
f = 8-bit file register address
Read-Modify-Write: PCL→ ALU operand
PCLATH → PCH;
8-bit result → PCL
Byte to Byte move operations
15 13 12
OPCODE p (FILE #)
Where PCH = program counter high byte (not an
addressable register), PCLATH = Program counter
high holding latch, dest = destination, WREG or f.
8
7
0
0
f (FILE #)
p = peripheral register file address
f = 8-bit file register address
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.
Bit-oriented file register operations
15 11 10
b (BIT #)
8
7
OPCODE
f (FILE #)
b = 3-bit address
f = 8-bit file register address
Literal and control operations
15
8
7
0
0
OPCODE
k (literal)
k = 8-bit immediate value
Call and GOTO operations
15 13 12
OPCODE
k (literal)
k = 13-bit immediate value
DS30412C-page 108
1996 Microchip Technology Inc.