3.6.8.3.3 CPU Access of FPU Registers

The following CPU instructions are provided specifically to support data movement into and out of the coprocessors. The assembler uses the register declarations to direct encoding of the FPU as the target coprocessor within each instruction op code:

  • MOVCRW: Move any FPU register to a W-reg or DS memory (using indirect addressing).
  • LDWLOCR: Move the contents of DS memory (read using register+literal offset addressing ([Ws + Slit14])) to any FPU F-reg register.
  • STWLOCR: Move any FPU F-reg to DS memory (read using register+literal offset addressing ([Wd+Slit14])).
  • PUSHCR: 16-bit short instruction dedicated to moving any FPU register onto the system stack.
  • MOVWCR: Move a W-reg or DS memory value (using indirect addressing) to any FPU register.
  • POPCR: 16-bit short instruction dedicated to moving a value from the system stack to any FPU register.
  • MOVLCR: Move a 32-bit literal value to any FPU register.
Note: These instructions are referred as mov.l, push.l or pop.l. Please refer to the dsPIC33A Programmer’s Reference Manual” for the correct syntax of these instructions.