29.1 Read-Modify-Write Operations

Any instruction that specifies a file register as part of the instruction performs a Read-Modify-Write (RMW) operation. The register is read, the data is modified, and the result is stored according to either the Working (W) register, or the originating file register, depending on the state of the destination designator ‘d’ (see Table 29-1 for more information). A read operation is performed on a register even if the instruction writes to that register.

Table 29-1. Opcode Field Descriptions
FieldDescription
fRegister file address (0x00 to 0x7F)
WWorking register (accumulator)
bBit address within an 8-bit file register
kLiteral field, constant data or label
x

“Don’t care” location (= 0 or 1).
The assembler will generate code with x = 0.
It is the recommended form of use for compatibility with all Microchip software tools.

dDestination select; d = 0: store result in W, d = 1: store result in file register f.
nFSR or INDF number. (0-1)
mmPre/post increment/decrement mode selection
Table 29-2. Abbreviation Descriptions
FieldDescription
PCProgram Counter
TOTime-Out bit
CCarry bit
DCDigit Carry bit
ZZero bit
PDPower-Down bit