These are my an assembler and disassembler for 12 and 14-bit PIC chips. The assembler is written in (mostly) ANSI-C, and it is single pass, so there are restrictions in forward references. It can output IHX16 and IHX8M formats. Include files, macros and conditional assembly are supported.
Picasm 1.14 is now available. Download here: picasm114.tar.bz2. Documentation is here: picasm114.html.
In this version, new PIC types can be defined in special include files, without recompiling picasm. (The installation requires the include files to be manually copied to the correct directory, specified in the Makefile. No automatic installation yet).
(The 1.12c fixes have been included in this version).
NOTE: Version 1.12c of picasm fixes a security hole, where a malformed source file could cause picasm to execute arbitrary code (because of string overflow).
(there was a bug in handling negative numbers in ANDLW/IORLW/XORLW instructions in all versions of picasm before 1.12b)
(These disassembers are quite old, and even though there are no known bugs in the actual disassembly, they try to decode the configuration fuses, and that only works for a couple of PIC types).
Note: I do not currently have enough time to do real development of picasm. If someone wants to take over the development, that is OK, but please contact me first.
The best way to refer to this page is the URL http://www.iki.fi/trossi/pic/
There is another free PIC assembler with more active development, called gpasm (part of gputils).