38.2.1 Extended Instruction Syntax
Most of the extended instructions use indexed arguments, using one of the File Select Registers and some offset to specify a source or destination register. When an argument for an instruction serves as part of Indexed Addressing, it is enclosed in square brackets (“[ ]”). This is done to indicate that the argument is used as an index or offset. MPASM™ Assembler will flag an error if it determines that an index or offset value is not bracketed.
When the extended instruction set is enabled, brackets are also used to indicate index arguments in byte-oriented and bit-oriented instructions. This is in addition to other changes in their syntax. For more details, see 38.2.3.1 Extended Instruction Syntax with Standard PIC18 Commands.
Mnemonic, Operands |
Description | Cycles | 16-Bit Instruction Word | Status Affected |
||||
---|---|---|---|---|---|---|---|---|
MSb | LSb | |||||||
ADDFSR | f, k | Add literal to FSR | 1 |
|
|
|
|
None |
ADDULNK | k | Add literal to FSR2 and return | 2 |
|
|
|
|
None |
CALLW | Call subroutine using WREG | 2 |
|
|
|
|
None | |
MOVSF | zs, fd |
Move zs (source) to 1st word |
2 |
|
|
|
|
None |
fd (destination) 2nd word |
|
|
|
|
||||
MOVSS | zs, zd |
Move zs (source) to 1st word |
2 |
|
|
|
|
None |
zd (destination) 2nd word |
|
|
|
|
||||
PUSHL | k | Store literal at FSR2, decrement FSR2 | 1 |
|
|
|
|
None |
SUBFSR | f, k | Subtract literal from FSR | 1 |
|
|
|
|
None |
SUBULNK |
k |
Subtract literal from FSR2 and return |
2 |
|
|
|
|
None |