Up: SDCC Compiler User Guide Previous: Alphabetical index Contents

## Index

#defines
  3.19
#pragma callee_saves
  3.2.9 | 3.18 | 3.18
#pragma codeseg
  3.18
#pragma constseg
  3.18
#pragma disable_warning
  3.18
#pragma exclude
  3.12.2 | 3.18 | 3.18
#pragma less_pedantic
  3.18
#pragma nogcse
  3.2.8 | 3.18 | 3.18
#pragma noinduction
  3.2.8 | 3.18 | 3.18 | 8.1.4
#pragma noinvariant
  3.2.8 | 3.18
#pragma noiv
  3.18
#pragma nojtbound
  3.2.8 | 3.18 | 8.1.7
#pragma noloopreverse
  3.18
#pragma nooverlay
  3.7 | 3.7 | 3.8.1.4 | 3.18
#pragma opt_code_balanced
  3.18
#pragma opt_code_size
  3.18
#pragma opt_code_speed
  3.18
#pragma pedantic_parse_number
  3.18 | 3.18
#pragma preproc_asm
  3.18 | 3.18
#pragma restore
  3.18 | 3.18
#pragma save
  3.18 | 3.18
#pragma sdcc_hash
  3.18 | 3.18
#pragma stackauto
  3.6 | 3.18
#pragma std_c89
  3.18
#pragma std_c99
  3.18
#pragma std_sdcc89
  3.18
#pragma std_sdcc99
  3.18
~ Operator
  1.4 | 6.1
--all-callee-saves
  3.2.9
--c1mode
  3.2.9
--callee-saves
  3.2.9 | 3.13.2
--code-loc <Value>
  3.2.3 | 3.4.1.9
--code-size <Value>
  3.2.4 | 3.4.1.9
--codeseg <Value>
  3.2.9
--compile-only
  3.2.9
--constseg <Value>
  3.2.9
--cyclomatic
  3.2.9
--data-loc <Value>
  3.2.3 | 3.4.1.9
--debug
  3.1.1 | 3.1.5 | 3.2.9 | 4.6.2.5 | 5.1.1
--disable-warning
  3.2.9
--dumlrange
  3.2.10
--dumpall
  3.2.10 | 7.1
--dumpdeadcode
  3.2.10
--dumpgcse
  3.2.10
--dumploop
  3.2.10
--dumplrange
  3.2.10
--dumprange
  3.2.10
--dumpraw
  3.2.10
--dumpregassign
  3.2.10
--fdollars-in-identifiers
  3.2.9
--float-reent
  3.2.9
--funsigned-char
  3.2.9
--i-code-in-asm
  3.2.9
--idata-loc <Value>
  3.2.3
--int-long-reent
  3.2.9 | 3.8.1.4 | 3.14
--iram-size <Value>
  3.2.4 | 3.4.1.9 | 3.11.1
--less-pedantic
  3.2.9
--lib-path <path>
  3.2.3
--main-return
  3.2.9 | 3.11.1
--model-large
  3.2.4 | 3.16.2.1.2
--model-medium
  3.2.4
--model-small
  3.2.4
--more-pedantic
  3.2.9
--no-c-code-in-asm
  3.2.9
--no-gen-comments
  3.2.9
--no-pack-iram
  3.2.3 | 3.2.4
--no-peep
  3.2.8
--no-peep-comments
  3.2.9
--no-std-crt0
  3.11.3
--no-xinit-opt
  3.2.8 | 3.11.1
--nogcse
  3.2.8
--noinduction
  3.2.8
--noinvariant
  3.2.8
--nojtbound
  3.2.8
--nolabelopt
  3.2.8
--noloopreverse
  3.2.8
--nooverlay
  3.2.8
--nostdinc
  3.2.9
--nostdlib
  3.2.9
--opt-code-size
  3.2.8
--opt-code-speed
  3.2.8
--out-fmt-ihx
  3.2.3
--out-fmt-s19
  3.1.1 | 3.2.3 | 3.2.3
--pack-iram
  3.2.3 | 3.2.4
--peep-asm
  3.2.8 | 3.12.1
--peep-file
  3.2.8 | 8.1.13
--print-search-dirs
  2.7 | 3.2.9
--short-is-8bits
  3.2.9
--stack-auto
  3.2.5 | 3.2.9 | 3.6 | 3.8.1.4 | 3.14 | 3.17.1.2 | 3.18 | 8.2
--stack-loc <Value>
  3.2.3 | 3.4.1.9
--stack-size <Value>
  3.2.4
--std-c89
  3.2.9 | 8.2
--std-c99
  8.2
--std-sdcc89
  3.2.9
--std-sdcc99
  3.2.9 | 3.2.9
--use-stdout
  3.2.9 | 3.2.11
--vc
  3.2.9 | 3.2.11
--verbose
  3.2.9
--xdata-loc<Value>
  3.4.1.9
--xram-loc <Value>
  3.2.3
--xram-size <Value>
  3.2.4 | 3.4.1.9
--xstack
  3.2.4 | 3.2.5 | 3.4.1.4 | 3.17.1.2
--xstack-loc <Value>
  3.2.3
-Aquestion(answer)
  3.2.2
-C
  3.2.2
-c --compile-only
  3.2.9
-D<macro[=value]>
  3.2.2
-dD
  3.2.2
-dM
  3.2.2
-dN
  3.2.2
-E
  3.2.2 | 3.2.9
-I<path>
  3.2.2
-L --lib-path
  3.2.3
-M
  3.2.2
-mavr
  3.2.1
-mds390
  3.2.1
-mds400
  3.2.1
-mgbz80
  3.2.1
-mhc08
  3.2.1
-MM
  3.2.2
-mmcs51
  3.2.1
-mpic14
  3.2.1
-mpic16
  3.2.1
-mxa51
  3.2.1
-mz80
  3.2.1
-o <path/file>
  3.2.9
-pedantic-parse-number
  3.2.2
-S
  3.2.9
-Umacro
  3.2.2
-V
  3.2.9
-Wa asmOption[,asmOption]
  3.2.9
-Wl linkOption[,linkOption]
  3.2.3
-Wp preprocessorOption[,preprocessorOption]
  3.2.2
8031, 8032, 8051, 8052, mcs51 CPU
  1.1
<file> (no extension)
  3.1.1
<file>.adb
  3.1.1 | 5.1.1
<file>.asm
  3.1.1
<file>.cdb
  3.1.1 | 5.1.1
<file>.dump*
  3.1.1
<file>.ihx
  3.1.1 | 3.1.2
<file>.lib
  3.1.4
<file>.lnk
  3.1.3
<file>.lst
  3.1.1 | 3.5
<file>.map
  3.1.1 | 3.4.1.9 | 3.5
<file>.mem
  3.1.1 | 3.4.1.9
<file>.o
  3.1.1
<file>.rel
  3.1.1 | 3.1.3 | 3.1.4
<file>.rst
  3.1.1 | 3.5
<file>.sym
  3.1.1
<stdio.h>
  3.16.2.1.1
__ (prefix for extended keywords)
  8.2
__asm
  3.12.1 | 3.12.1 | 3.12.1 | 3.12.2 | 3.12.3
__at
  3.4.1.7 | 3.4.1.7 | 3.4.2.2 | 3.5 | 3.5 | 3.5 | 3.12.1
__bit
  no title
__code
  no title
__critical
  3.9.1
__data (hc08 storage class)
  no title
__data (mcs51, ds390 storage class)
  no title | 3.4.1.9
__ds390
  3.19
__endasm
  3.12.1 | 3.12.1 | 3.12.1 | 3.12.2 | 3.12.3 | 3.12.3
__far (storage class)
  no title | 3.12.1
__hc08
  3.19
__idata (mcs51, ds390 storage class)
  no title | 3.4.1.9
__interrupt
  3.4.1.9 | 3.8.1 | 3.12.2
__mcs51
  3.19
__naked
  3.12.2 | 3.18
__near (storage class)
  no title
__pdata (mcs51, ds390 storage class)
  no title
__sbit
  1.4 | no title
__sfr
  no title | no title | no title | no title
__sfr16
  no title
__sfr32
  no title
__using (mcs51, ds390 register bank)
  3.4.1.9 | 3.8.1 | 3.8.2 | 3.10
__xdata (hc08 storage class)
  no title
__xdata (mcs51, ds390 storage class)
  no title | 3.4.1.9 | 3.5
__z80
  3.19
_asm
  3.9.2 | 3.12.1 | 3.12.1 | 3.12.1 | 3.12.2 | 3.12.3
_endasm
  3.9.2 | 3.12.1 | 3.12.1 | 3.12.1 | 3.12.2 | 3.12.3 | 3.12.3
_naked
  3.12.2 | 3.18
_sdcc_external_startup()
  3.11.1
_XPAGE (mcs51)
  4.1.1
Absolute addressing
  no title | 3.6
ACC (mcs51, ds390 register)
  3.13.1
Aligned array
  3.5 | 3.12.1 | 3.12.1
Annotated syntax tree
  Parsing
ANSI-compliance
  1.4 | no title
Any Order Bit
  no title
AOMF, AOMF51
  3.1.1 | 3.2.9 | 5. | 5.
Application notes
  6.6
aslink
  1.1 | 6.3
Assembler documentation
  3.12.1 | 6.3
Assembler listing
  3.1.1 | 3.1.1
Assembler options
  3.2.9
Assembler routines
  3.9.2 | no title | no title | 8.1.13
Assembler routines (non-reentrant)
  3.13.3
Assembler routines (reentrant)
  3.13.4
Assembler source
  3.1.1
asXXXX (as-gbz80, as-hc08, asx8051, as-z80)
  1.1 | 3.12.1 | 6.3
at
  3.4.1.7 | 3.4.1.7 | 3.4.2.2 | 3.5 | 3.5 | 3.5 | 3.5 | 3.5 | 3.6 | 3.12.1
atomic
  3.8.1.2 | 3.9.3 | 3.9.3
AVR
  3.2.1
B (mcs51, ds390 register)
  3.13.1
backfill unused memory
  3.1.2
Basic blocks
  3.2.10 | 9.2
bit
  1.4 | 3.2.3 | no title | 3.4.1.9 | 3.5 | 3.5 | 6.1
Bit rotation
  no title
Bit shifting
  no title
Bit toggling
  1.4
bitfields
  3.4.1.6
block boundary
  3.5
Bug reporting
  no title
Building SDCC
  no title
Byte swapping
  8.1.10
C FAQ
  6.5
C Reference card
  6.5
Carry flag
  3.4.1.7
Changelog
  7.5
checksum
  3.1.2
code
  3.2.3 | 3.2.9 | no title
code banking (limited support)
  1.7
code page (pic14)
  no title
Command Line Options
  no title
Compatibility with previous versions
  no title
Compiler internals
  no title
compiler.h (include file)
  6.1
const
  3.2.9
Copy propagation
  no title
cpp
  see sdcpp
critical
  3.9.1
cvs
  see Subversion
Cyclomatic complexity
  3.2.9 | no title
data (hc08 storage class)
  no title
data (mcs51, ds390 storage class)
  3.2.3 | no title | 3.4.1.9
DDD (debugger)
  5.1.6 | 6.4
Dead-code elimination
  3.2.10 | no title | ICode
Debugger
  3.1.1 | 5.1
Defines created by the compiler
  3.19
DESTDIR
  2.2
Division
  3.7 | 3.8.1.4
Documentation
  no title | no title
double (not supported)
  8.2
download
  7. | 7.1
doxygen (source documentation tool)
  6.4
DPTR
  3.13.1 | 4.1.2 | 8.1.10
DPTR, DPH, DPL
  3.13.1 | 3.13.3
DS390
  no title
  Options
    --model-flat24
      3.2.5
    --protect-sp-update
      3.2.5
    --stack-10bit
      3.2.5
    --stack-probe
      3.2.5
    --tini-libid
      3.2.5
    --use-accelerator
      3.2.5
DS390 memory model
  no title
DS400
  4.2
DS80C390
  3.2.1
DS80C400
  3.2.1 | 4.2 | 6.6
DS89C4x0
  6.6
dynamic memory allocation (malloc)
  3.16.2.2
ELF format
  3.2.3
Emacs
  no title
Endianness
  8.1.10
Environment variables
  no title
Examples
  no title | 7.9
External stack (mcs51)
  no title
far (storage class)
  no title | 3.12.1
Feature request
  1.7 | no title
Flags
  3.4.1.7
Flat 24 (DS390 memory model)
  3.17.2
Floating point support
  3.8.1.4 | no title | 3.16.2.1.2 | 8.2
FPGA (field programmable gate array)
  2.6
FpgaC ((subset of) C to FPGA compiler)
  2.6
function epilogue
  3.2.9 | 3.12.2
function parameter
  no title | 3.6 | 3.13.3 | 3.13.4
function pointer
  3.4.1.8
function pointers
  3.13.1
function prologue
  3.2.9 | 3.12.2 | 3.18
GBZ80
  no title
  Options
    --callee-saves-bc
      3.2.7
    --codeseg <Value>
      3.2.7
    --constseg <Value>
      3.2.7
    -ba <Num>
      3.2.7
    -bo <Num>
      3.2.7
gbz80 (GameBoy Z80)
  3.2.1 | 4.3
gcc (GNU Compiler Collection)
  3.2.2
gdb
  5.1
generic pointer
  3.13.1
getchar()
  3.16.2.1.1
Global subexpression elimination
  3.2.10
GNU General Public License, GPL
  1.2
GNU Lesser General Public License, LGPL
  3.16.4
gpsim (pic simulator)
  6.4
gputils (pic tools)
  4.5.4 | 6.4
HC08
  3.2.1 | 3.2.3 | 3.4.3.1 | no title | 3.11.2 | 4.4
  interrupt
    3.8.3 | 3.9.2
  Options
    --out-fmt-elf
      3.2.3
  Storage class
    no title
HD64180 (see Z180)
  no title
Header files
  3.4.1.7 | 6.1 | 6.2
heap (malloc)
  3.16.2.2
Higher Order Byte
  no title
Higher Order Word
  no title
Highest Order Bit
  no title
HTML version of this document
  2.6
I/O memory (Z80, Z180)
  3.4.2.1
ICE (in circuit emulator)
  5.
iCode
  3.2.10 | no title | Code | Code | no title
idata (mcs51, ds390 storage class)
  3.2.3 | no title | 3.4.1.9
IDE
  3.2.9 | 6.6
Include files
  3.4.1.7 | 6.1 | 6.2
indent (source formatting tool)
  6.4
inline (not supported)
  8.2 | 8.2
Install paths
  no title
Install trouble-shooting
  no title
Installation
  no title
int (16 bit)
  no title
int (64 bit) (not supported)
  8.2
Intel hex format
  3.1.1 | no title | 3.2.3 | 5.1.3
Intermediate dump options
  no title
interrupt
  3.4.1.9 | 3.7 | 3.8.1 | 3.8.2 | 3.9.1 | 3.9.2 | 3.9.3 | 3.10 | 3.12.1 | 3.12.2 | 3.14 | 3.18 | 3.18
interrupt jitter
  3.9.2
interrupt latency
  3.9.2
interrupt mask
  3.9.2
interrupt priority
  3.9.2 | 3.10
interrupt vector table
  3.2.3 | 3.8.1 | 3.8.2 | 3.18
interrupts
  3.10
jump tables
  8.1.7
K&R style
  8.2
Labels
  3.12.3
Libraries
  no title | 3.2.3 | 3.2.9 | 3.4.1.8 | no title | 3.16.4
Linker
  3.1.3
Linker documentation
  6.3
Linker options
  no title
lint (syntax checking tool)
  3.2.9 | 5.
little-endian
  8.1.10
Live range analysis
  3.2.10 | 3.2.10 | 8.4 | no title | ICode
local variables
  no title | 3.6 | 3.7 | 3.17.1.2 | 6.
lock
  3.9.3
long (32 bit)
  no title
long long (not supported)
  8.2
Loop optimization
  3.2.10 | no title | ICode
Loop reversing
  3.2.8 | no title
Mailing list(s)
  7. | 7.4
main return
  3.2.9
malloc.h
  no title
MCS51
  3.2.1
MCS51 memory
  no title
MCS51 memory model
  no title
MCS51 options
  no title
MCS51 variants
  no title | 8.1.13
Memory bank (pic14)
  no title
Memory map
  3.1.1 | 6.1
Memory model
  3.4.1.8 | 3.7 | no title | no title
Microchip
  4.6
Modulus
  3.8.1.4
Motorola S19 format
  3.1.1 | 3.2.3
MSVC output style
  3.2.9
Multiplication
  3.7 | 3.8.1.4 | 8.1.4 | ICode
naked
  3.13.2
Naked functions
  no title
near (storage class)
  no title
Nibble swapping
  8.1.10
objdump (tool)
  3.1.1 | 6.4
Object file
  3.1.1
Optimization options
  no title
Optimizations
  no title | no title
Options assembler
  3.2.9
Options DS390
  no title
Options GBZ80
  no title
Options intermediate dump
  no title
Options linker
  no title
Options MCS51
  no title
Options optimization
  no title
Options other
  no title
Options PIC16
  no title
Options preprocessor
  no title
Options processor selection
  no title
Options SDCC configuration
  no title
Options Z80
  no title
Oscilloscope
  5.
Overlaying
  no title
P2 (mcs51 sfr)
  3.4.1.4 | 3.17.1.2 | 4.1.1
packihx (tool)
  3.1.2 | 6.2
Parameter passing
  no title
Parameters
  no title
Parsing
  no title
Patch submission
  7. | 7.3 | 7.9
pdata (mcs51, ds390 storage class)
  3.2.3 | 3.2.4 | no title | 3.17.1.2 | 4.1.1
PDF version of this document
  2.6
pedantic
  3.2.2 | 3.2.9 | 3.2.9 | 3.18 | 3.18
Peephole optimizer
  3.2.8 | 3.12.1 | no title
PIC14
  3.2.1 | 4.5 | 4.5.7.2
  interrupt
    4.5.3
  Options
    --debug-extra
      4.5.5
    --no-pcode-opt
      4.5.5
    --stack-loc
      4.5.5
    --stack-size
      4.5.5
PIC16
  3.2.1 | no title | 4.6 | 4.6.4 | 4.6.5 | 4.6.6 | 4.6.7 | 4.6.8 | 4.6.12 | 4.6.14 | 6.3
  Header files
    4.6.7
  interrupt
    4.6.14
  Libraries
    4.6.8
  MPLAB
    4.6.2.3
  Options
    --callee-saves
      4.6.1
    --fommit-frame-pointer
      4.6.1
  Pragmas
    #pragma code
      4.6.6
    #pragma stack
      4.6.6
  shadowregs
    4.6.12
  stack
    4.6.11 | 4.6.17.1
  wparam
    4.6.12
Pointer
  no title | 3.4.1.8
Pragmas
  no title
Preprocessor options
  no title
printf
  3.16.2.1.2
printf()
  3.16.2.1.2
printf_fast() (mcs51)
  3.16.2.1.2
printf_fast_f() (mcs51)
  3.16.2.1.2
printf_small()
  3.16.2.1.2
printf_tiny() (mcs51)
  3.16.2.1.2
Processor selection options
  no title
promotion to signed int
  3.12.1 | 3.12.1 | 6.
push/pop
  3.12.1 | 3.12.2 | 3.18 | 3.18
putchar()
  3.16.2.1.1
Quality control
  no title
reentrant
  3.2.9 | 3.2.9 | 3.6 | 3.6 | 3.7 | 3.13.3 | 3.13.4 | 3.14 | 3.17.1.1 | 8.2
Register allocation
  8.1.4 | no title | ICode
Register assignment
  3.2.10
register bank (mcs51, ds390)
  3.4.1.9 | 3.6 | 3.10
Regression test
  4.3 | 6.3 | 7.9 | 7.10
Regression test (PIC14)
  7.9
Regression test (PIC16)
  4.6.18
Related tools
  no title
Release policy
  no title
Release wiki
  7.7
Reporting bugs
  no title
Requesting features
  1.7 | no title
return value
  3.13.1 | 8.2
rotating bits
  8.1.9
Runtime library
  3.11.1 | 3.11.1
s51
  2.9.4 | 2.9.5
sbit
  1.4 | no title
SDCC
  3.19
SDCC_ds390
  3.19
SDCC_HOME
  3.3
SDCC_INCLUDE
  3.3
SDCC_LEAVE_SIGNALS
  3.3
SDCC_LIB
  3.3
SDCC_mcs51
  3.19
SDCC_MODEL_FLAT24
  3.19
SDCC_MODEL_LARGE
  3.19
SDCC_MODEL_MEDIUM
  3.19
SDCC_MODEL_SMALL
  3.19
SDCC_STACK_AUTO
  3.19
SDCC_STACK_TENBIT
  3.19
SDCC_USE_XSTACK
  3.19
SDCC_z80
  3.19
sdcclib
  no title | 3.1.5 | 3.1.5 | 3.1.5
SDCDB (debugger)
  2.9.5 | no title | 6.3 | 6.4
sdcpp (preprocessor)
  2.9.2 | no title | 3.2.2 | 3.18
Search path
  no title
semaphore
  no title
sfr
  no title | no title | no title | no title | 4.1.1
sfr16
  no title
sfr32
  no title
signal handler
  3.3
sloc (spill location)
  3.2.8
splint (syntax checking tool)
  3.2.9 | 5. | 6.4
srecord (bin, hex, ... tool)
  3.1.1 | 3.1.1 | 3.1.2 | 3.2.3 | 6.4
stack
  3.2.3 | 3.2.9 | 3.4.1.3 | 3.4.1.9 | 3.6 | 3.6 | 3.8.1.3 | 3.8.2 | 3.9.1 | 3.9.2 | no title | 8.1.4
stack overflow
  3.8.1.3
Startup code
  no title
static
  3.6
Status of documentation
  1.1 | 2.6
Storage class
  no title | 3.6 | 3.7 | 3.17.1.1
Strength reduction
  8.1.4 | ICode
struct
  8.2
Subexpression
  8.1.6
Subexpression elimination
  3.2.8 | no title
Subversion code repository
  7. | 7.6
Support
  no title
swapping nibbles/bytes
  8.1.10
switch statement
  3.2.8 | no title | 8.1.7
Symbol listing
  3.1.1
tabulator spacing (8 columns)
  2.4.4
Test suite
  7.9
Tinibios (DS390)
  3.17.2
TLCS-900H
  3.2.1
TMP, TEMP, TMPDIR
  3.3
Tools
  no title
Trademarks
  10.
type conversion
  1.4
type promotion
  1.4 | 3.8.1.4 | 3.12.1 | 3.12.1 | 6.
Typographic conventions
  no title
uCsim
  6.2 | 6.3
union
  8.2
UnxUtils
  2.4.5
USE_FLOATS
  3.16.2.1.2
using (mcs51, ds390 register bank)
  3.4.1.9 | 3.8.1 | 3.8.2 | 3.10
vararg, va_arg
  1.4 | 6.1
Variable initialization
  3.2.8 | 3.5 | 3.11.1
version
  2.7 | 7.5
volatile
  3.5 | 3.5 | 3.8.1.1 | 3.9.3 | 3.12.2
VPATH
  no title
Warnings
  3.2.9
warranty
  1.2
watchdog
  3.11.1
wiki
  7.7 | 8.4
XA51
  3.2.1
xdata (hc08 storage class)
  no title
xdata (mcs51, ds390 storage class)
  3.2.3 | no title | 3.4.1.9 | 3.5 | 3.5 | 3.11.1
XEmacs
  no title
xstack
  3.2.3
Z180
  no title
  I/O memory
    3.4.2.1
  Options
    --portmode
      3.4.2.3
  Pragmas
    #pragma portmode
      3.4.2.3
Z80
  3.2.1 | no title | 3.4.2.1 | 3.8.4 | 3.11.3 | 4.3
  I/O memory
    3.4.2.1
  interrupt
    3.8.4
  Options
    --asm=<Value>
      3.2.6
    --callee-saves-bc
      3.2.6
    --codeseg <Value>
      3.2.6
    --constseg <Value>
      3.2.6
    --no-std-crt0
      3.2.6
    --portmode=<Value>
      3.2.6
  return value
    4.3
  stack
    4.3
  Storage class
    no title