Microchip Technology XC8 Standard Compiler (Workstation) SW006021-1 SW006021-1 User Manual
Product codes
SW006021-1
Macro Assembler
2012 Microchip Technology Inc.
DS52053B-page 255
6.4.9.1
GLOBAL
The GLOBAL directive declares a list of comma-separated symbols. If the symbols are
defined within the current module, they are made public. If the symbols are not defined
in the current module, they are made references to public symbols defined in external
modules. Thus to use the same symbol in two modules the GLOBAL directive must be
used at least twice: once in the module that defines the symbol to make that symbol
public, and again in the module that uses the symbol to link in with the external
definition.
defined within the current module, they are made public. If the symbols are not defined
in the current module, they are made references to public symbols defined in external
modules. Thus to use the same symbol in two modules the GLOBAL directive must be
used at least twice: once in the module that defines the symbol to make that symbol
public, and again in the module that uses the symbol to link in with the external
definition.
For example:
GLOBAL lab1,lab2,lab3
6.4.9.2
END
The END directive is optional, but if present should be at the very end of the program.
It will terminate the assembly and not even blank lines should follow this directive.
It will terminate the assembly and not even blank lines should follow this directive.
If an expression is supplied as an argument, that expression will be used to define the
entry point of the program. This is stored in a start record in the object file produced by
the assembler. Whether this is of any use will depend on the linker.
entry point of the program. This is stored in a start record in the object file produced by
the assembler. Whether this is of any use will depend on the linker.
The default runtime startup code defined by the compiler will contain an END directive
with a start address. As only one start address can be specified for each project, you
normally do not need to define this address, but may use the END directive with no entry
point in any file.
with a start address. As only one start address can be specified for each project, you
normally do not need to define this address, but may use the END directive with no entry
point in any file.
For example:
END start_label ;defines the entry point
or
END ;do not define entry point
PAGESEL
Generate set/clear instruction to set PCLATH bits for this page
PROCESSOR
Define the particular chip for which this file is to be assembled.
REPT
Repeat a block of code n times
IRP
Repeat a block of code with a list
IRPC
Repeat a block of code with a character list
SIGNAT
Define function signature
TABLE 6-5:
ASPIC[18] ASSEMBLER DIRECTIVES (CONTINUED)
Directive
Purpose