4.9 Assembler Directives
Assembler directives, or pseudo-ops, are used in a similar way to
instruction mnemonics. With the exception of PAGESEL
and
BANKSEL
, these directives do not generate instructions. The
DB
, DW
and DDW
directives place data
bytes into the current psect. The directives are listed in the following sections.
Directive | Purpose |
---|---|
ALIGN |
Aligns output to the specified boundary. |
ASMOPT |
Controls whether subsequent code is optimized by the assembler. |
BANKISEL |
Generates code to select bank of operand for indirect access on some devices. |
BANKSEL |
Generates code to select bank of operand. |
CALLSTACK |
Indicates the call stack depth remaining. |
COND |
Controls inclusion of conditional code in the listing file. |
CONFIG |
Specifies configuration bits. |
DABS |
Defines absolute storage. |
DB |
Defines constant byte(s). |
DDW |
Defines double-width constant word(s). |
DEBUG_SOURCE |
Controls debug information. |
DLABS |
Define linear-memory absolute storage. |
DS |
Reserves storage. |
DW |
Defines constant word(s). |
ELSE |
Alternates conditional assembly. |
ELSIF |
Alternates conditional assembly. |
ENDIF |
Ends conditional assembly. |
END |
Ends assembly. |
ENDM |
Ends macro definition. |
EQU |
Defines symbol value. |
ERROR |
Generates a user-defined error. |
EXPAND |
Controls expansion of assembler macros in the listing file. |
EXTRN |
Links with global symbols defined in other modules. |
FILE |
Indicates the source file that contains the assembly code following. |
FNADDR |
Indicates a routine's address has been taken. |
FNARG |
Indicates calls in a routine's arguments. |
FNBREAK |
Breaks links in the call graph. |
FNCALL |
Indicates call hierarchy. |
FNCONF |
Indicates call stack settings. |
FNINDIR |
Indicates indirect calls made by routines. |
FNSIZE |
Indicates the size of a routines auto and parameter objects. |
FNROOT |
Indicates the root of a call tree. |
GLOBAL |
Makes symbols accessible to other modules or allow reference to other global symbols defined in other modules. |
IF |
Conditional assembly. |
INCLUDE |
Textually includes the content of the specified file. |
IRP |
Repeats a block of code with a list. |
IRPC |
Repeats a block of code with a character list. |
LINE |
Indicates the line number of the current source file that contains the assembly code following. |
LIST |
Defines options for listing file. |
LOCAL |
Defines local tabs. |
MACRO |
Macro definition. |
MESSG |
Generates a user-defined advisory message. |
NOCOND |
Controls inclusion of conditional code in the listing file. |
NOEXPAND |
Controls expansion of assembler macros in the listing file. |
NOLIST |
Disable assembly listing. |
ORG |
Sets location counter within current psect. |
PAGELEN |
Specifies the length of the listing file page. |
PAGESEL |
Generates set/clear instruction to set PCLATH bits for this page. |
PAGEWIDTH |
Specifies the width of the listing file page. |
PROCESSOR |
Defines the particular chip for which this file is to be assembled. |
PSECT |
Declares or resumes program section. |
PUBLIC |
Makes non-EXTRN symbols accessible to other
modules or allow reference to other global symbols defined in other
modules. |
RADIX |
Specifies radix for numerical constants. |
REPT |
Repeats a block of code n times. |
SET |
Defines or re-defines symbol value. |
SIGNAT |
Defines function signature. |
SUBTITLE |
Specifies the subtitle of the program for the listing file. |
TITLE |
Specifies the title of the program for the listing file. |
WARN |
Generates a user-defined warning. |