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 Extended Instruction Syntax with Standard PIC18 Commands.
| Mnemonic, Operands |
Description | Cycles | 16-Bit Instruction Word | Status Affected |
Notes | ||||
|---|---|---|---|---|---|---|---|---|---|
| MSb | LSb | ||||||||
| ADDULNK | k | Add literal to FSR2 and return | 2 | 1110 |
1000
|
11kk
|
kkkk
|
None | 1, 3 |
| MOVSF | zs, fd | Move zs
(12-bit source) to fd (12-bit destination) |
2 | 1110 |
1011
|
0zszszs
|
zszszszs
|
None | 2, 3, 4 |
1111 |
fdfdfdfd
|
fdfdfdfd
|
fdfdfdfd
|
||||||
| MOVSFL | zs, fd | Move zs
(14-bit source) to fd (14-bit destination) |
3 | 0000 |
0000 |
0000 |
0010 |
None | 2, 3 |
1111 |
xxxzs |
zszszszs |
zszsfdfd |
||||||
1111 |
fdfdfdfd
|
fdfdfdfd
|
fdfdfdfd
|
||||||
| MOVSS | zs, zd | Move zs (source) to zd (destination) |
2 | 1110 |
1011
|
1zszszs
|
zszszszs |
None | 2, 3 |
1111 |
xxxx
|
xzdzdzd
|
zdzdzdzd
|
||||||
| PUSHL | k | Store literal at FSR2, decrement FSR2 | 1 | 1110 |
1010
|
kkkk
|
kkkk
|
None | 3 |
| k | Subtract literal from FSR2 and return | 2 | 1110 |
1001
|
11kk
|
kkkk
|
None | 1, 3 | |
|
Note:
|
|||||||||