29.10 Revision C (September 2013)

  • Renamed MPLAB Assembler/Linker for PIC24 MCUs and dsPIC DSCs (and variants) to MPLAB XC16 Assembler/Linker.
  • Changed executable output from .out to .elf.
  • Updated MDB information in Section 1.4 “Compiler and Other Development Tools”
  • Added Chapter 4. “XC16 Toolchain and MPLAB X IDE.” and Chapter 4. “XC16 Toolchain and MPLAB IDE v8”.
  • Added options under Section 5.7 “Driver Option Descriptions”: -menable-fixed and -fsigned-bitfields.
  • Added information on using #pragmas under Section 6.5 “Configuration Bit Access”
  • Added fixed-point arithmetic support:
    • Chapter 9. “Fixed-Point Arithmetic Support.”
    • Section 8.4 “Floating-Point Data Types”
    • Section 12.2 “Register Variables” (_Sat, _Fract, _Accum)
    • Section 13.2.2 “Function Attributes” (round)
    • Section 13.8 “Function Call Conventions” (_Fract, _Accum)
  • Bitfield updates under Section 8.6.2 “Bit-fields in Structures”
  • Added the following attributes to Section 13.2.2 “Function Attributes”: naked, keep.
  • Added ISR section naming under Section 14.3 “Writing an Interrupt Service Routine” Also, Interrupt Vector information has been removed from this manual and moved to the docs subdirectory of the compiler installation directory, as per Section 14.4 “Specifying the Interrupt Vector”
  • Optimization details have been added to Chapter 18. “Optimizations.”
  • Updates to Section 19.4.3 “Compiler Output Type Macros”
  • Additions concerning bit-fields in Section A.10 “Structures, Unions, Enumerations and Bit-Fields” and #pragma config in Section A.14 “Preprocessing Directives”
  • Added built-in functions below to Appendix G. “Built-in Functions.”:
    • __builtin_disable_interrupts
    • __builtin_enable_interrupts
    • __builtin_get_isr_state
    • __builtin_set_isr_state
    • __builtin_section_begin
    • __builtin_section_end
    • __builtin_section_size
  • Added Appendix B. “Embedded Compiler Compatibility Mode.”