gpasm man page

gpasm — GNU PIC assembler


gpasm [options] file


The information in this man page is an extract from the full documentation of gputils and is limited to the meaning of the options.  For complete and current documentation, refer to "" located in the gputils docs directory.


gpasm is an assembler for Microchip (TM) PIC (TM) micro-controllers. It's intended to be compatible with the manufacturer's MPASM assembler. gpasm is part of gputils.  Check the gputils(1) manpage for details on other GNU PIC utilities.


Below is a summary of the gpasm options. gpasm options always supersede any settings in the source code.

-a FMT, --hex-format FMT

GPASM supports inhx8m, inhx8s, inhx16, and inhx32 hex file formats.  This option controls which hex file format is used.  The default is inhx32.

-c, --object

Output a relocatable object (new COFF format).

-C, --old-coff

Output a relocatable object (old COFF format).

-d, --debug

Output debug messages.

-D SYM=VAL, --define SYM=VAL

Define SYM with value VAL. This is equivalent to placing "#define SYM VAL" in the source.

-e [ON|OFF], --expand [ON|OFF]

Macro expansion in the listing file is controlled using the EXPAND and NOEXPAND directives.  This option can force either directive to be ignored.  When "ON" is selected the macros are always expanded regardless of the presence of NOEXPAND.  Likewise, "OFF" will force macros not to be expanded.

-f, --full-address

Show full address in .lst file at the memory map region.

-g, --debug-info

Use debug directives for COFF.

-h, --help

Show the usage message and exit.

-i, --ignore-case

All user defined symbols and macros are case sensitive.  This option makes them case insensitive.

-I DIR, --include DIR

The top level assembly file is passed to gpasm as an argument.  This file can contain INCLUDE directives.  These directives open the specified file and then its contents are assembled.  GPASM searches for these files in the local directory.  If the file is not located, the default header path is checked. Finally, all paths specified using this argument are searched.

-j, --sdcc-dev16-list

Help to the extension of the pic16devices.txt file in the sdcc project. Using by itself, displays the all '16e' devices. Along with the '-p' option, shows only the specified device.

-k, --error

Enables creation of the error file.

-l[12[ce]|14[cef]|16[ce]], --list-chips[=([12[ce]|14[cef]|16[ce]])]

List supported processors based on various aspects. (f => x)

-L, --force-list

Ignore NOLIST directives.  This forces gpasm to print every line assembled in the list file output.

-m, --dump

Upon completion of the final pass of assembly, display the contents of instruction memory.


This option sets the MPASM compatibility mode.

-M, --deps

Output a dependency file.

-n, --dos

By default, gpasm generates hex files using ISO format.  However, some device programmers required a DOS formatted file.  This option will cause gpasm to generate a DOS formatted hex file.

-o FILE, --output FILE

Alternate name of output files. Option effect of:
-- If the "-c" option included in the command line:

FILE.o, FILE.lst, FILE.err
(The "FILE.o" should specified.)

-- If the "-c" option not included in the command line:

FILE.hex, FILE.cod, FILE.lst, FILE.err
(The "FILE.hex" should specified.)

-p PROC, --processor PROC

Select the processor.

-P FILE, --preprocess FILE

Write preprocessed asm file to FILE.

-q, --quiet

Suppress anything sent to standard output.

-r RADIX, --radix RADIX

The supported radices are BIN, DEC, OCT, and HEX. The default is HEX.



Lists properties of the processors. Using by itself, displays the all devices or group of the devices. Along with the '-p' option, shows only the specified device. (f => x)

-S [0|1|2], --strict [0|1|2]

Set the strict level of the recommended instruction-parameters (W or F and A or B). The "strict messages" have higher priority than the warnings. (See: -w [0|1|2]) [0]

0: Is the default. No strict messages.
1: Show warning messages if one of is missing.
2: Show error messages if one of is missing.

-t, --sdcc-dev14-list

Help to the extension of the pic14devices.txt file in the sdcc project. Using by itself, displays the all '14' and '14e' devices. Along with the '-p' option, shows only the specified device.


If this is set, then an option may not be parameter of an another option. For example: -I -c

-u, --absolute

Use absolute paths.

-v, --version

Show the version information and exit.

-w [0|1|2], --warning [0|1|2]

This option sets the message level.

0: Is the default. It will allow all messages, warnings and errors to be reported.
1: Will suppress the messages.
2: Will suppress the messages and warnings.

-X, --macro-dereference

Use the source from where the macro was invoked for errors.

-y, --extended

Enable 18xx extended mode.

See Also



Craig Franklin <>

Referenced By


2016-02-28 gputils-1.5.0 Linux user's manual