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
Revision E (October 2024)
Added new ERRORLEVEL directive
Updated the permitted reverse word widths when calculating a hash using Hexmate
Clarified the operation of the ORG directive when it is used in a psect with multiple contributions in the same module
Added information on the use of variable argument lists with preprocessor macros
Provided an additional example of the -p linker option to have multiple psects linked in a set order but anywhere inside a linker class
Added new error and warning messages
Revision F (August 2026)
Updated information to reflect that the assembler no longer ships with device support files
Added information relating to MPLAB Tools for VS Code
Added description of the -Wmsg option, which enables warning and advisory messages
Added VS Code option equivalents and compiler setup
Added information on the new DQW assembler directive
Expanded text associated with SET, EQU, and GLOBAL assembler directives, dealing with visibility of symbols in debuggers
Added extra assembler macro and assembler-provided psect examples
Clarified that the reloc psect flag does not align all labels
within a psect
Added instructions to generate an assembly listing file from Microchip IDEs
Corrected typo in maximum width that can be specified with Hexmate's -fill option
Added new error and warning messages
DS50002974F
The online versions of the documents are provided as a courtesy. Verify all content and data in the device’s PDF documentation found on the device product page.