Minutia
The addfsr offsets are limited to -32 to +31. What happens if you want to move an indirect register to W without an increment or decrement? You can use moviw 0[FSR0] or the older movf INDF0,W.
"movf INDF0,W" compiles to "movf 0,W" in the disassembly listing. Alternatively, one can write "movf 0,W" in code, and it compiles to the same instruction.
Now, here's the minutia:
"moviw 0[FSR0] " compiles to "moviw [0]FSR0", but if you use the latter format in your code, you get an error.
I have certainly not tested all of the instructions, but it is the only instance I am aware of for which the disassembly "instruction" cannot be used as an instruction in code. I am using MPLAB 8.92.
The addfsr offsets are limited to -32 to +31. What happens if you want to move an indirect register to W without an increment or decrement? You can use moviw 0[FSR0] or the older movf INDF0,W.
"movf INDF0,W" compiles to "movf 0,W" in the disassembly listing. Alternatively, one can write "movf 0,W" in code, and it compiles to the same instruction.
Now, here's the minutia:
"moviw 0[FSR0] " compiles to "moviw [0]FSR0", but if you use the latter format in your code, you get an error.
I have certainly not tested all of the instructions, but it is the only instance I am aware of for which the disassembly "instruction" cannot be used as an instruction in code. I am using MPLAB 8.92.