[
next
] [
tail
] [
up
]
Contents
0.1
About this document
1
Compiler directives
1.1
Local directives
1.1.1
$A
or
$ALIGN
: Align Data
1.1.2
$A1
,
$A2
,
$A4
and
$A8
1.1.3
$ASMMODE
: Assembler mode (Intel 80x86 only)
1.1.4
$B
or
$BOOLEVAL
: Complete boolean evaluation
1.1.5
$C
or
$ASSERTIONS
: Assertion support
1.1.6
$BITPACKING
: Enable bitsize packing
1.1.7
$CALLING
: Specify calling convention
1.1.8
$CHECKPOINTER
: Check pointer values
1.1.9
$CODEALIGN
: Set the code alignment
1.1.10
$COPERATORS
: Allow C like operators
1.1.11
$DEFINE
or
$DEFINEC
: De ne a symbol
1.1.12
$ELSE
: Switch conditional compilation
1.1.13
$ELSEC
: Switch conditional compilation
1.1.14
$ELSEIF
or
$ELIFC
: Switch conditional compilation
1.1.15
$ENDC
: End conditional compilation
1.1.16
$ENDIF
: End conditional compilation
1.1.17
$ERROR
or
$ERRORC
: Generate error message
1.1.18
$EXTENDEDSYM
: Ignored
1.1.19
$F
: Far or near functions
1.1.20
$FATAL
: Generate fatal error message
1.1.21
$FPUTYPE
: Select coprocessor type
1.1.22
$GOTO
: Support
Goto
and
Label
1.1.23
$H
or
$LONGSTRINGS
: Use AnsiStrings
1.1.24
$HINT
: Generate hint message
1.1.25
$HINTS
: Emit hints
1.1.26
$HPPEMIT
: Ignored
1.1.27
$IF
: Start conditional compilation
1.1.28
$IFC
: Start conditional compilation
1.1.29
$IFDEF Name
: Start conditional compilation
1.1.30
$IFNDEF
: Start conditional compilation
1.1.31
$IFOPT
: Start conditional compilation
1.1.32
$IMPLICITEXCEPTIONS
: Do not generate nalization code
1.1.33
$INFO
: Generate info message
1.1.34
$INLINE
: Allow inline code.
1.1.35
$INTERFACES
: Specify Interface type.
1.1.36
$I
or
$IOCHECKS
: Input/Output checking
1.1.37
$I
or
$INCLUDE
: Include le
1.1.38
$I
or
$INCLUDE
: Include compiler info
1.1.39
$I386
_XXX
: Specify assembler format (Intel 80x86 only)
1.1.40
$J
or
$WRITABLECONSTS
: Allow typed consts
1.1.41
$L
or
$LINK
: Link object le
1.1.42
$LINKFRAMEWORK
: Link to a framework
1.1.43
$LINKLIB
: Link to a library
1.1.44
$M
or
$TYPEINFO
: Generate type info
1.1.45
$MACRO
: Allow use of macros.
1.1.46
$MAXFPUREGISTERS
: Maximum number of FPU registers for variables
1.1.47
$MESSAGE
: Generate info message
1.1.48
$MINENUMSIZE
: Specify minimum enumeration size
1.1.49
$MINFPCONSTPREC
: Specify oating point constant precision
1.1.50
$MMX
: Intel MMX support (Intel 80x86 only)
1.1.51
$NODEFINE
: Ignored
1.1.52
$NOTE
: Generate note message
1.1.53
$NOTES
: Emit notes
1.1.54
$OBJECTCHECKS
: Check Object
1.1.55
$OPTIMIZATION
: Enable Optimizations
1.1.56
$OUTPUT
_FORMAT
: Specify the output format
1.1.57
$PACKENUM
or
$Z
: Minimum enumeration type size
1.1.58
$PACKRECORDS
: Alignment of record elements
1.1.59
$PACKSET
: Specify set size
1.1.60
$POP
: Restore compiler settings
1.1.61
$PUSH
: Save compiler settings
1.1.62
$Q
or
$OVERFLOWCHECKS
: Over ow checking
1.1.63
$R
or
$RANGECHECKS
: Range checking
1.1.64
$R
or
$RESOURCE
: Include resource
1.1.65
$SATURATION
: Saturation operations (Intel 80x86 only)
1.1.66
$SETC
: De ne and assign a value to a symbol
1.1.67
$STATIC
: Allow use of
Static
keyword.
1.1.68
$STOP
: Generate fatal error message
1.1.69
$T
or
$TYPEDADDRESS
: Typed address operator (@)
1.1.70
$UNDEF
or
$UNDEFC
: Unde ne a symbol
1.1.71
$V
or
$VARSTRINGCHECKS
: Var-string checking
1.1.72
$W
or
$STACKFRAMES
: Generate stackframes
1.1.73
$WAIT
: Wait for enter key press
1.1.74
$WARNING
: Generate warning message
1.1.75
$WARNINGS
: Emit warnings
1.1.76
$Z1
,
$Z2
and
$Z4
1.2
Global directives
1.2.1
$APPID
: Specify application ID.
1.2.2
$APPNAME
: Specify application name.
1.2.3
$APPTYPE
: Specify type of application.
1.2.4
$CALLING
: Default calling convention
1.2.5
$CODEPAGE
: Set the source codepage
1.2.6
$COPYRIGHT
specify copyright info
1.2.7
$D
or
$DEBUGINFO
: Debugging symbols
1.2.8
$DESCRIPTION
: Application description
1.2.9
$E
: Emulation of coprocessor
1.2.10
$G
: Generate 80286 code
1.2.11
$INCLUDEPATH
: Specify include path.
1.2.12
$INTERFACES
: Default interface type
1.2.13
$L
or
$LOCALSYMBOLS
: Local symbol information
1.2.14
$LIBRARYPATH
: Specify library path.
1.2.15
$M
or
$MEMORY
: Memory sizes
1.2.16
$MODE
: Set compiler compatibility mode
1.2.17
$N
: Numeric processing
1.2.18
$O
: Overlay code generation
1.2.19
$OBJECTPATH
: Specify object path.
1.2.20
$P
or
$OPENSTRINGS
: Use open strings
1.2.21
$PASCALMAINNAME
: Set entry point name
1.2.22
$PIC
: Generate PIC code or not
1.2.23
$PROFILE
: Pro ling
1.2.24
$S
: Stack checking
1.2.25
$SCREENNAME
: Specify screen name
1.2.26
$SMARTLINK
: Use smartlinking
1.2.27
$THREADNAME
: Set thread name in Netware
1.2.28
$THREADING
: Allow use of threads.
1.2.29
$UNITPATH
: Specify unit path.
1.2.30
$VERSION
: Specify DLL version.
1.2.31
$WEAKPACKAGEUNIT
: ignored
1.2.32
$X
or
$EXTENDEDSYNTAX
: Extended syntax
1.2.33
$Y
or
$REFERENCEINFO
: Insert Browser information
2
Using conditionals, messages and macros
2.1
Conditionals
2.1.1
Prede ned symbols
2.2
Macros
2.3
Compile time variables
2.4
Compile time expressions
2.4.1
De nition
2.4.2
Usage
2.5
Messages
3
Using Assembly language
3.1
Using assembler in the sources
3.2
Intel 80x86 Inline assembler
3.2.1
Intel syntax
3.2.2
AT&T Syntax
3.3
Motorola 680x0 Inline assembler
3.4
Signaling changed registers
4
Generated code
4.1
Units
4.2
Programs
5
Intel MMX support
5.1
What is it about?
5.2
Saturation support
5.3
Restrictions of MMX support
5.4
Supported MMX operations
5.5
Optimizing MMX support
6
Code issues
6.1
Register Conventions
6.1.1
accumulator register
6.1.2
accumulator 64-bit register
6.1.3