# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# PIC24FJ64GA004

- 1
- 2
…
- 218
- 219
- 220
- 221
- 222
…
- 277
- 278

PIC24FJ64GA004 FAMILY
DS39881E-page 220  2010-2013 Microchip Technology Inc.
25.2 MPLAB XC Compilers
The MPLAB XC Compilers are complete ANSI C
compilers for all of Microchips 8, 16, and 32-bit MCU
and DSC devices. These compilers provide powerful
integration capabilities, superior code optimization and
ease of use. MPLAB XC Compilers run on Windows,
Linux or MAC OS X.
For easy source level debugging, the compilers provide
debug information that is optimized to the MPLAB X
IDE.
The free MPLAB XC Compiler editions support all
devices and commands, with no time or memory
restrictions, and offer sufficient code optimization for
most applications.
MPLAB XC Compilers include an assembler, linker and
utilities. The assembler generates relocatable object
files that can then be archived or linked with other relo-
catable object files and archives to create an execut-
able file. MPLAB XC Compiler uses the assembler to
produce its object file. Notable features of the assem-
bler include:
 Support for the entire device instruction set
 Support for fixed-point and floating-point data
 Command-line interface
 Rich directive set
 Flexible macro language
 MPLAB X IDE compatibility
25.3 MPASM Assembler
The MPASM Assembler is a full-featured, universal
macro assembler for PIC10/12/16/18 MCUs.
The MPASM Assembler generates relocatable object
files for the MPLINK Object Linker, Intel
®
standard HEX
files, MAP files to detail memory usage and symbol
reference, absolute LST files that contain source lines
and generated machine code, and COFF files for
debugging.
The MPASM Assembler features include:
 Integration into MPLAB X IDE projects
 User-defined macros to streamline
assembly code
 Conditional assembly for multipurpose
source files
 Directives that allow complete control over the
assembly process
25.4 MPLINK Object Linker/
MPLIB Object Librarian
The MPLINK Object Linker combines relocatable
objects created by the MPASM Assembler. It can link
relocatable objects from precompiled libraries, using
directives from a linker script.
The MPLIB Object Librarian manages the creation and
modification of library files of precompiled code. When
a routine from a library is called from a source file, only
the modules that contain that routine will be linked in
with the application. This allows large libraries to be
used efficiently in many different applications.
The object linker/library features include:
 Efficient linking of single libraries instead of many
smaller files
 Enhanced code maintainability by grouping
related modules together
 Flexible creation of libraries with easy module
listing, replacement, deletion and extraction
25.5 MPLAB Assembler, Linker and
Librarian for Various Device
Families
MPLAB Assembler produces relocatable machine
code from symbolic assembly language for PIC24,
PIC32 and dsPIC DSC devices. MPLAB XC Compiler
uses the assembler to produce its object file. The
assembler generates relocatable object files that can
then be archived or linked with other relocatable object
files and archives to create an executable file. Notable
features of the assembler include:
 Support for the entire device instruction set
 Support for fixed-point and floating-point data
 Command-line interface
 Rich directive set
 Flexible macro language
 MPLAB X IDE compatibility

- 1
- 2
…
- 218
- 219
- 220
- 221
- 222
…
- 277
- 278