[
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
$ASMMODE
: Assembler mode (Intel 80x86 only)
1.1.3
$B
or
$BOOLEVAL
: Complete boolean evaluation
1.1.4
$C
or
$ASSERTIONS
: Assertion support
1.1.5
$CALLING
: Specify calling convention
1.1.6
$CHECKPOINTER
: Check pointer values
1.1.7
$CODEALIGN
: Set the code alignment
1.1.8
$COPERATOR
: Allow C like operators
1.1.9
$DEFINE
: De ne a symbol
1.1.10
$ELSE
: Switch conditional compilation
1.1.11
$ELSEC
: Switch conditional compilation
1.1.12
$ENDC
: End conditional compilation
1.1.13
$ENDIF
: End conditional compilation
1.1.14
$ERROR
: Generate error message
1.1.15
$EXTENDEDSYM
: Ignored
1.1.16
$F
: Far or near functions
1.1.17
$FATAL
: Generate fatal error message
1.1.18
$FPUTYPE
: Select coprocessor type
1.1.19
$GOTO
: Support
Goto
and
Label
1.1.20
$H
or
$LONGSTRINGS
: Use AnsiStrings
1.1.21
$HINT
: Generate hint message
1.1.22
$HINTS
: Emit hints
1.1.23
$HPPEMIT
: Ignored
1.1.24
$IF
: Start conditional compilation
1.1.25
$IFC
: Start conditional compilation
1.1.26
$IFDEF Name
: Start conditional compilation
1.1.27
$IFNDEF
: Start conditional compilation
1.1.28
$IFOPT
: Start conditional compilation
1.1.29
$IMPLICITEXCEPTIONS
: Do not generate nalization code
1.1.30
$INFO
: Generate info message
1.1.31
$INLINE
: Allow inline code.
1.1.32
$INTERFACES
: Specify Interface type.
1.1.33
$I
or
$IOCHECKS
: Input/Output checking
1.1.34
$I
or
$INCLUDE
: Include le
1.1.35
$I
or
$INCLUDE
: Include compiler info
1.1.36
$I386
_XXX
: Specify assembler format (Intel 80x86 only)
1.1.37
$J
or
$WRITABLECONSTS
: Allow typed consts
1.1.38
$L
or
$LINK
: Link object le
1.1.39
$LINKLIB
: Link to a library
1.1.40
$M
or
$TYPEINFO
: Generate type info
1.1.41
$MACRO
: Allow use of macros.
1.1.42
$MAXFPUREGISTERS
: Maximum number of FPU registers for variables
1.1.43
$MESSAGE
: Generate info message
1.1.44
$MMX
: Intel MMX support (Intel 80x86 only)
1.1.45
$NODEFINE
: Ignored
1.1.46
$NOTE
: Generate note message
1.1.47
$NOTES
: Emit notes
1.1.48
$OBJECTCHECK
: Check Object
1.1.49
$OUTPUT
_FORMAT
: Specify the output format
1.1.50
$PACKENUM
: Minimum enumeration type size
1.1.51
$PACKRECORDS
: Alignment of record elements
1.1.52
$Q $OVERFLOWCHECKS
: Over ow checking
1.1.53
$R
or
$RANGECHECKS
: Range checking
1.1.54
$R
or
$RESOURCE
: Include resource
1.1.55
$SATURATION
: Saturation operations (Intel 80x86 only)
1.1.56
$SETC
: De ne and assign a value to a symbol
1.1.57
$STATIC
: Allow use of
Static
keyword.
1.1.58
$STOP
: Generate fatal error message
1.1.59
$T
or
$TYPEDADDRESS
: Typed address operator (@)
1.1.60
$UNDEF
: Unde ne a symbol
1.1.61
$V
or
$VARSTRINGCHECKS
: Var-string checking
1.1.62
$W
or
$STACKFRAMES
: Generate stackframes
1.1.63
$WAIT
: Wait for enter key press
1.1.64
$WARNING
: Generate warning message
1.1.65
$WARNINGS
: Emit warnings
1.2
Global directives
1.2.1
$APPID
: Specify application ID.
1.2.2
$APPID
: 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
$D $DEBUGINFO
: Include debug info
1.2.10
$E
: Emulation of coprocessor
1.2.11
$G
: Generate 80286 code
1.2.12
$INCLUDEPATH
: Specify include path.
1.2.13
$INTERFACES
: Default interface type
1.2.14
$L
or
$LOCALSYMBOLS
: Local symbol information
1.2.15
$LIBRARYPATH
: Specify library path.
1.2.16
$M
or
$MEMORY
: Memory sizes
1.2.17
$MODE
: Set compiler compatibility mode
1.2.18
$N
: Numeric processing
1.2.19
$O
: Overlay code generation
1.2.20
$OBJECTPATH
: Specify object path.
1.2.21
$P
or
$OPENSTRINGS
: Use open strings
1.2.22
$PROFILE
: Pro ling
1.2.23
$S
: Stack checking
1.2.24
$SCREENNAME
: Specify screen name
1.2.25
$SMARTLINK
: Use smartlinking
1.2.26
$THREADNAME
: Set thread name in Netware
1.2.27
$THREADING
: Allow use of threads.
1.2.28
$UNITPATH
: Specify unit path.
1.2.29
$VERSION
: Specify DLL version.
1.2.30
$WEAKPACKAGEUNIT
: ignored
1.2.31
$X
or
$EXTENDEDSYNTAX
: Extended syntax
1.2.32
$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