Compiler Switches And Directives

Turbo Pascal Compiler for 8051 microcontrollers

Compiler switches: {$(letter/switchname)(state)[, (letter/switchname)(state)] } (defaults are shown below)

Compiler switchDescription
A-
AbsoluteInstructions Off
Generate absolute instructions (ACALL/AJMP)
B- Full boolean evaluation
C+ Show source lines in assembler file
DefaultFile Off Assume CurrentIO system file variable is assigned with the actual IO procedures
I+ IDATA variables can start below $80 (as indirectly addressed DATA variables)
InlineCode On If set to Off compiler generates normal call to inline procedure
NoReturn Inside assembler procedure prevents generation of RET instruction
O+ Optimizations
P- Open string parameters
R- Reentrant procedures
T- Typed pointers
U- Unique local variable names
V+ Strict var-strings
X+ Extended syntax

Note: there is no space between switch letter and + or - and there is space between long switch name and On or Off.

Compiler directives: {$ (directive) (value) }

Compiler directiveDescription
DEFINE [symbol] Defines symbol
ELSE Conditional compilation with IFDEF and IFNDEF
ENDIF End conditional compilation
IFDEF [symbol] Conditional compilation if symbol is defined
IFNDEF [symbol] Conditional compilation if symbol is not defined
IFOPT [switch+/ -] Conditional compilation if compiler switch is set/not set
M
[CODE Start],
[CODE Size],
[XDATA Start],
[XDATA Size],
[Heap Size]
Memory sizes (only in program), default values:
$0000
$10000
$0000
$0000
$0000
IDATA IDATA memory available
XDATA XDATA memory available (only in unit)
HEAP Heap available (only in unit)
MG [memory type] Set default memory type for global variables (memory type = DATA, IDATA or XDATA)
ML [memory type] Set default memory type for local variables (memory type = DATA, IDATA or XDATA)
MP [memory type] Set default mem. type for parameter variables (memory type = DATA, IDATA or XDATA)
MT [memory type] Set default mem. type for temporary variables (memory type = DATA, IDATA or XDATA)
Copyright © 2024 Igor Funa. All Rights Reserved. Terms, Conditions and Privacy policy