9 Document Revision History

Revision A (March 2020)

  • Initial release of this document, based on the assembler chapter from the MPLAB® XC8 C Compiler User's Guide (DS50002737).

Revision B (September 2021)

  • Added screen captures of the MPLAB X IDE project property dialogs corresponding to the assembler command-line options
  • Added information on new BANKISEL directive
  • Added information on previously undocumented FILE and LINE assembler directives
  • Added description of string support for the DB, DW, and DDW assembler directives
  • Updated information relating to the quoting of arguments for the CONFIG directive
  • Added updated information on Hexmate's handling of INHX16 format HEX files
  • Added new O suboption to Hexmate's -CK option which requests the final hash result be XORed with a the specified value

Revision C (May 2022)

  • Added new --fixupoverflow linker option that performs automatic masking of instruction operand values, and highlighted the use of this option as an alternative to the use of manual address masking in assembly code examples.
  • Expanded information on how to access SFRs from assembly code
  • Expanded description of assembler labels
  • Added MPLAB X IDE Memory options dialog and description
  • Updated MPLAB X IDE Output options dialog and description
  • Added description of -c linker option to control callgraph
  • Added description of entry ranges associated with the -A linker option, applicable for Baseline devices
  • Added description of -k linker option to prevent the overlay of auto/parameter blocks defined in assembly code
  • Added dedicated descriptions for the FN-type compiled stack assembler directives
  • Added section for the PUBLIC directive
  • Added a section on the use of long command lines with the pic-as assembler driver
  • Updated --edf option to reflect the new name used for message description file
  • Updated error and warning messages to reflect new and changed messages produced by the compiler/assembler
  • Removed references to temporary labels, which are not supported

Revision D (December 2023)

  • Added new -Werror option, which promotes warnings into errors
  • Clarified that the program location counter cannot be used in EQU assembly expressions
  • Removed information stating that the nul operator can be used within an assembly macro
  • Corrected an example in the -A linker option
  • Added new xor suboption to the -mchecksum option, which allows XORing of hash results
  • Reinstated text that described how the -Wl, option can be used to replace default linker options
  • Updated --edf linker/Hexmate option to reflect the new name used for message description file
  • Added new or missing error and warning messages
  • Altered the description of messages 1604 and 1605 to indicate that the compiler now treats these as advisories
  • Various updates to the Hexmate chapter, those being:
    • Added description of the Intel HEX file specification, as interpreted by Hexmate
    • Discussed Intel HEX file formats used by Microchip tools
    • Updated and better presented allowable hash widths for all supported algorithms
    • Added SHA-1 to list of support hash algorithms
    • Added new --werror option, which promotes warnings to errors
    • Added list of error and warning messages pertinent to Hexmate
    • Expanded Potential Causes of Failure section to include situations where software breakpoints have been used
    • Corrected maximum record length allowable with the -format option
    • General improvements to the descriptions of Hexmate operations and options