Index

—acall-ajmp
3.3.6 | 8.1.16
—all-callee-saves
3.3.4
—allow-unsafe-read
3.3.3
—c1mode
3.3.4
—callee-saves
3.3.4 | 4.1.5.2
—code-loc <Value>
3.3.5 | 3.5.1.9
—code-size <Value>
3.3.6 | 3.5.1.9
—codeseg <Value>
3.3.4
—compile-only
3.3.4
—constseg <Value>
3.3.4
—cyclomatic
3.3.4
—data-loc <Value>
3.3.5 | 3.5.1.9
—debug
3.2.1 | 3.3.3 | 3.3.3 | 3.3.4 | 4.7.2.5 | 5.1.1
—disable-warning
3.3.4
—dump-ast
3.3.12
—dump-graphs
3.3.12
—dump-i-code
3.3.12
—dumpall
7.1
—fdollars-in-identifiers
3.3.4
—float-reent
3.3.4
—fomit-frame-pointer
3.3.3
—fsigned-char
3.3.4
—i-code-in-asm
3.3.4
—idata-loc <Value>
3.3.5
—int-long-reent
3.3.4 | 3.8.1.4 | 3.12
—iram-size <Value>
3.3.6 | 3.5.1.9 | 4.1.4
—less-pedantic
3.3.4
—lib-path <path>
3.3.5
—max-allocs-per-node
3.3.3
—model-huge
3.3.6
—model-large
3.3.6 | 3.3.11 | 3.14.2.1.2
—model-medium
3.3.6 | 3.3.11
—model-small
3.3.6
—more-pedantic
3.3.4
—no-c-code-in-asm
3.3.4
—no-gen-comments
3.3.12
—no-peep
3.3.3
—no-peep-comments
3.3.4
—no-peep-return
3.3.3
—no-ret-without-call
3.3.6
—no-std-crt0
4.3.1
—no-xinit-opt
3.3.3 | 4.1.4
—nogcse
3.3.3
—noinduction
3.3.3
—noinvariant
3.3.3
—nolabelopt
3.3.3
—noloopreverse
3.3.3
—nolospre
3.3.3
—nooverlay
3.3.3
—nostdinc
3.3.4
—nostdlib
3.3.4
—nostdlibcall
3.3.3
—opt-code-size
3.3.3
—opt-code-speed
3.3.3
—out-fmt-ihx
3.3.5
—out-fmt-s19
3.2.1 | 3.3.5 | 3.3.5
—peep-asm
3.3.3 | 3.11.2
—peep-file
3.3.3 | 8.1.16
—peep-return
3.3.3
—print-search-dirs
2.7 | 3.3.4
—stack-auto
3.3.4 | 3.3.7 | 3.6 | 3.8.1.4 | 3.12 | 3.15.1.2 | 3.16
—stack-loc <Value>
3.3.5 | 3.5.1.9
—stack-size <Value>
3.3.6
—std-c11
1.5 | 1.5 | 3.1.4
—std-c2x
1.5 | 1.5 | 3.1.5
—std-c89
1.5 | 1.5 | 1.5 | 3.1.1 | 3.3.4
—std-c95
3.1.2
—std-c99
1.5 | 1.5 | 1.5 | 3.1.3
—std-sdcc11
3.3.4 | 3.3.4
—std-sdcc2x
3.3.4 | 3.3.4
—std-sdcc89
3.3.4
—std-sdcc99
3.3.4 | 3.3.4
—use-non-free
1.2 | 3.3.4 | 4.6.5 | 4.7.5 | 4.7.7
—use-stdout
3.3.4 | 3.3.13
—vc
3.3.4 | 3.3.13
—verbose
3.3.4
—version
3.3.4
—Werror
3.3.4
—xdata-loc<Value>
3.5.1.9
—xram-loc <Value>
3.3.5
—xram-size <Value>
3.3.6 | 3.5.1.9
—xstack
3.3.6 | 3.3.7 | 3.5.1.4 | 3.15.1.2
—xstack-loc <Value>
3.3.5
-Aquestion(answer)
3.3.2
-C
3.3.2 | 3.3.4
-D<macro[=value]>
3.3.2
-dD
3.3.2
-dM
3.3.2
-dN
3.3.2
-E
3.3.2 | 3.3.4
-I<path>
3.3.2
-L <path>
3.3.5
-M
3.3.2
-mds390
3.3.1
-mds400
3.3.1
-mez80_z80
3.3.1
-mhc08
3.3.1
-MM
3.3.2
-mmcs51
3.3.1
-mpdk13
3.3.1
-mpdk14
3.3.1
-mpdk15
3.3.1
-mpic14
3.3.1
-mpic16
3.3.1
-mr2k
3.3.1
-mr3ka
3.3.1
-ms08
3.3.1
-msm83
3.3.1
-mstm8
3.3.1
-mtlcs90
3.3.1
-mz180
3.3.1
-mz80
3.3.1
-o <path/file>
3.3.4
-pedantic-parse-number
3.3.2
-S
3.3.4
-Umacro
3.3.2
-v
3.3.4 | 3.3.4
-Wa asmOption[,asmOption]
3.3.4
-Wl linkOption[,linkOption]
3.3.5
-Wp preprocessorOption[,preprocessorOption]
3.3.2
8031, 8032, 8051, 8052, mcs51 CPU
1.1
<file>.adb
3.2.1 | 5.1.1
<file>.asm
3.2.1
<file>.cdb
3.2.1 | 5.1.1
<file>.dump*
3.2.1
<file>.ihx
3.2.1 | 3.2.2
<file>.lib
3.2.4
<file>.lnk
3.2.3
<file>.lst
3.2.1 | 3.5.6
<file>.map
3.2.1 | 3.5.1.9 | 3.5.6
<file>.mem
3.2.1 | 3.5.1.9
<file>.omf
3.2.1
<file>.rel
3.2.1 | 3.2.3 | 3.2.4
<file>.rst
3.2.1 | 3.5.6
<file>.sym
3.2.1
<NO FLOAT>
3.14.2.1.2 | Output
<stdio.h>
3.14.2.1.1
~ Operator
1.5 | 6.1
Absolute addressing
no title | 3.6
ACC (mcs51, ds390 register)
4.1.5.1
__addressmod
3.5.5 | 3.5.5
Aligned array
3.5.6 | 3.11.2 | 3.11.2
Annotated syntax tree
Parsing
Any Order Bit
no title
AOMF, AOMF51
3.2.1 | 3.3.4 | 5. | 5.
Application notes
6.7
__asm
3.9.2 | 3.11.2 | 3.11.2 | 3.11.2 | 3.11.3 | 3.11.4
Assembler documentation
3.11.2 | 6.3
Assembler listing
3.2.1 | 3.2.1
Assembler options
3.3.4
Assembler routines
3.9.2 | no title | no title | 8.1.16
Assembler routines (non-reentrant)
4.1.5.3
Assembler routines (reentrant)
4.1.5.4
Assembler source
3.2.1
__at
3.5.1.7 | 3.5.1.7 | 3.5.2.2 | 3.5.6 | 3.5.6 | 3.5.6 | 3.5.6 | 3.6 | 3.11.2
atomic
3.8.1.2 | 3.9.3 | 3.9.3
B (mcs51, ds390 register)
4.1.5.1
backfill unused memory
3.2.2
banked
4.1.3.2
Bankswitching
4.1.3
Basic blocks
9.2
Binary constants
no title
__bit
1.5 | 3.3.5 | no title | 3.5.1.9 | 3.5.6 | 3.5.6 | 6.1
Bit rotation
no title
Bit shifting
no title
Bit toggling
1.5
bit-fields
3.5.1.6
block boundary
3.5.6
Boost Software License 1.0 (BSL-1.0)
1.2
Bug reporting
no title
Building SDCC
no title
Byte swapping
8.1.10
C FAQ
6.6
C Reference card
6.6
Carry flag
3.5.1.7
Changelog
7.5
checksum
3.2.2
cmake
6.5
__code
3.3.4 | 3.3.5 | no title
code banking
4.1.3
code page (pic14)
no title
Command Line Options
no title
Communication
Bug report
no title
Feature request
no title
Forums
6.4
Mailing lists
6.4 | 7.4
Monitor
6.4
Patch submission
no title
RSS feed
6.4
Trackers
6.4
wiki
6.4
Compatibility with previous versions
no title
Compiler internals
no title
compiler.h (include file)
3.5.1.7 | 6.1
const
3.3.4
Copy propagation
no title
cpp
see sdcpp | see sdcpp
__critical
3.9.1 | 3.9.1
Cyclomatic complexity
3.3.4 | no title
d52
6.5
d52 (disassembler)
6.5
__data (hc08 named address space)
no title
__data (mcs51, ds390 named address space)
3.3.5 | no title | 3.5.1.9
DDD (debugger)
5.1.6 | 6.5
Dead-code elimination
no title | ICode
Debugger
3.2.1 | 5.1
#defines
3.17
Defines created by the compiler
3.17
DESTDIR
2.2
Division
3.7
Documentation
no title | no title
double (not supported)
3.1.1
download
7. | 7.1
doxygen (source documentation tool)
6.5
DPTR
4.1.2 | 4.1.5.1 | 8.1.10
DPTR, DPH, DPL
4.1.5.1 | 4.1.5.3
DS390
no title
Options
—model-flat24
3.3.7
—protect-sp-update
3.3.7
—stack-10bit
3.3.7
—stack-probe
3.3.7
—tini-libid
3.3.7
—use-accelerator
3.3.7
DS390 memory model
no title
DS400
4.2
DS80C390
3.3.1
DS80C400
3.3.1 | 4.2 | 6.7
DS89C4x0
6.7
dynamic memory allocation (malloc)
3.14.2.2
ELF format
3.3.5
Emacs
no title
__endasm
3.9.2 | 3.11.2 | 3.11.2 | 3.11.2 | 3.11.3 | 3.11.4 | 3.11.4
Endianness
6.1 | 8.1.10
Environment variables
no title
Examples
7.8 | no title
External stack (mcs51)
no title
__far (named address space)
no title | 3.11.2
Feature request
no title
Flags
3.5.1.7
Flat 24 (DS390 memory model)
3.15.2
Floating point support
3.1.1 | 3.8.1.4 | no title | 3.14.2.1.2 | 3.14.2.1.2
FPGA (field programmable gate array)
2.6
FpgaC ((subset of) C to FPGA compiler)
2.6
function epilogue
3.3.4 | 3.11.3
function parameter
no title | 3.6 | 4.1.5.3 | 4.1.5.4
function pointer
3.5.1.8
function pointers
4.1.5.1
function prologue
3.3.4 | 3.11.3 | 3.16
GBZ80
Options
-ba <Num>
3.3.10
-bo <Num>
3.3.10
gcc (GNU Compiler Collection)
3.3.2
gdb
5.1
generic pointer
4.1.5.1
getchar()
3.14.2.1.1
GPLv2 license
1.2
GPLv2+LE
1.2 | 3.14.4
GPLv3 license
1.2
gpsim (pic simulator)
6.5
gputils (pic tools)
4.6.5 | 6.5
HC08
3.3.1 | 3.3.5 | 3.5.3.1 | no title | 4.4 | 4.4.1
interrupt
3.8.3 | 3.9.2
Options
—out-fmt-elf
3.3.5
HD64180 (see Z180)
no title
Header files
3.5.1.7 | 6.1 | 6.2
heap (malloc)
3.14.2.2
Higher Order Byte
no title
Higher Order Word
no title
I/O memory (Z80, Z180)
3.5.2.1
ICE (in circuit emulator)
5.
iCode
3.3.12 | no title | Code | Code | no title
__idata (mcs51, ds390 named address space)
3.3.5 | no title | 3.5.1.9
IDE
3.3.4 | 6.7
Include files
3.5.1.7 | 6.1 | 6.2
indent (source formatting tool)
6.5
Infineon
3.3.6
Install paths
no title
Install trouble-shooting
no title
Installation
no title
instruction cycles (count)
6.5
Intel hex format
3.2.1 | no title | 3.3.5 | 5.1.3
Intermediate dump options
no title
__interrupt
3.5.1.9 | 3.5.1.9 | 3.7 | 3.8.1 | 3.8.1 | 3.8.2 | 3.8.7 | 3.9.1 | 3.9.2 | 3.9.3 | 3.10 | 3.11.2 | 3.11.3 | 3.11.3 | 3.12 | 3.16 | 3.16
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.3.5 | 3.8.1 | 3.8.2 | 3.16
interrupts
3.10
intrinsic named address space
3.7 | 3.15.1.1
jump tables
8.1.7
K&R style
3.1.1
Labels
3.11.4
LGPLv2.1 license
1.2
Libraries
no title | 3.3.4 | 3.3.5 | 3.5.1.8 | no title | 3.14.4
Linker
3.2.3
Linker documentation
6.3
Linker options
no title
lint (syntax checking tool)
3.3.4 | 5.
little-endian
8.1.10
Live range analysis
8.3 | no title | ICode
local variables
no title | 3.6 | 3.7 | 3.15.1.2 | 6.
lock
3.9.3
Loop optimization
no title | ICode
Loop reversing
3.3.3 | no title
mailing list
6.4
Mailing list(s)
7. | 7.4
Makefile
6.5
malloc.h
no title
MCS51
3.3.1
MCS51 memory
no title
MCS51 memory model
no title
MCS51 options
no title
MCS51 variants
no title | 8.1.16
Memory bank (pic14)
no title
Memory map
3.2.1 | 6.1
Memory model
3.5.1.8 | 3.7 | no title | no title | no title
Microchip
4.6 | 4.7
Motorola S19 format
3.2.1 | 3.3.5
MSVC output style
3.3.4
msys
2.4.5
msys2
2.4.5
Multiplication
3.7 | 8.1.4 | ICode
__naked
3.11.3 | 3.11.3 | 3.16 | 3.16 | 4.1.5.2
Naked functions
no title
__near (named address space)
no title
Nibble swapping
8.1.10
Non-intrinsic named address spaces
no title
objdump (tool)
3.2.1 | 6.5
Object file
3.2.1
Optimization options
no title
Optimizations
no title | no title
Options assembler
3.3.4
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 STM8
no title
Options Z80
no title
Oscilloscope
5.
Overlaying
no title
P2 (mcs51 sfr)
3.5.1.4 | 3.15.1.2 | 4.1.1
packihx (tool)
3.2.2 | 6.2
Parameter passing
no title
Parameters
no title
Parsing
no title
Patch submission
7. | 7.3 | 7.8
__pdata (mcs51, ds390 named address space)
3.3.5 | 3.3.6 | no title | 3.15.1.2 | 4.1.1
PDF version of this document
2.6
pedantic
3.3.2 | 3.3.4 | 3.3.4 | 3.16 | 3.16
Peephole optimizer
3.3.3 | 3.11.2 | no title
PIC
4.7
PIC14
3.3.1 | no title | 4.6 | 4.6.8.5
Environment variables
SDCC_PIC14_SPLIT_LOCALS
4.6.7
interrupt
4.6.3
Options
—debug-extra
4.6.6
—no-pcode-opt
4.6.6
—stack-loc
4.6.6
—stack-size
4.6.6
—use-non-free
4.6.6
PIC16
3.3.1 | no title | 4.7.4 | 4.7.5 | 4.7.6 | 4.7.8 | 4.7.9 | 4.7.13 | 4.7.15 | 6.3
Defines
__pic18fxxxx
4.7.4 | 4.7.4
STACK_MODEL_nnn
4.7.4
Environment variables
NO_REG_OPT
4.7.3
OPTIMIZE_BITFIELD_POINTER_GET
4.7.3
Header files
4.7.8
interrupt
4.7.15
Libraries
4.7.9
MPLAB
4.7.2.3
Options
—callee-saves
4.7.1
—use-non-free
4.7.1
Pragmas
#pragma code
4.7.6
#pragma config
4.7.6
#pragma library
4.7.6
#pragma stack
4.7.6
#pragma udata
4.7.6
shadowregs
4.7.13
stack
4.7.12 | 4.7.19.1
wparam
4.7.13
Pointer
no title | 3.5.1.8
#pragma callee_saves
3.3.4 | 3.16 | 3.16
#pragma codeseg
3.16
#pragma constseg
3.16
#pragma disable_warning
3.16
#pragma exclude
3.11.3 | 3.16 | 3.16
#pragma less_pedantic
3.16
#pragma nogcse
3.3.3 | 3.16 | 3.16
#pragma noinduction
3.3.3 | 3.16 | 3.16 | 8.1.4
#pragma noinvariant
3.3.3 | 3.16
#pragma noiv
3.16
#pragma noloopreverse
3.16
#pragma nooverlay
3.7 | 3.7 | 3.8.1.4 | 3.16
#pragma opt_code_balanced
3.16
#pragma opt_code_size
3.16
#pragma opt_code_speed
3.16
#pragma pedantic_parse_number
3.16 | 3.16
#pragma preproc_asm
3.16 | 3.16
#pragma restore
3.16 | 3.16
#pragma save
3.16 | 3.16
#pragma sdcc_hash
3.16 | 3.16
#pragma stackauto
3.6 | 3.16
#pragma std_c89
3.16
#pragma std_c99
3.16
#pragma std_sdcc89
3.16
#pragma std_sdcc99
3.16
Pragmas
no title
Preprocessor
no title | 3.3.4 | 3.16
Options
no title
PIC16 Macros
no title
printf()
3.14.2.1.2 | 3.14.2.1.2
floating point support
3.14.2.1.2
parameters
6.1
PIC16
4.7.18.2
PIC16 Floating point support
Building | Output
printf_fast() (mcs51)
3.14.2.1.2
printf_fast_f() (mcs51)
3.14.2.1.2
printf_small()
3.14.2.1.2
printf_tiny() (mcs51)
3.14.2.1.2
putchar()
3.14.2.1.1 | 6.1
Processor selection options
no title
project workspace
6.5
promotion to signed int
3.11.2 | 3.11.2 | 6.
push/pop
3.11.2 | 3.11.3 | 3.16 | 3.16
putchar()
3.14.2.1.1
Quality control
no title
reentrant
3.3.4 | 3.3.4 | 3.6 | 3.6 | 3.7 | 3.12 | 3.15.1.1 | 4.1.5.3 | 4.1.5.4
Register allocation
8.1.4 | no title | ICode
register bank (mcs51, ds390)
3.5.1.9 | 3.6 | 3.10
Register-Allocation
no title
Regression test
6.3 | 7.8 | 7.10
Regression test (PIC14)
7.8
Regression test (PIC16)
4.7.20.2
Related tools
no title
Release policy
no title
Reporting bugs
no title
Requesting features
no title
return value
3.1.1 | 4.1.5.1
rotating bits
8.1.9
RSS feed
6.4
Runtime library
4.1.4 | 4.1.4
S08
3.3.1
s51 (simulator)
2.9.4 | 2.9.5
__sbit
1.5 | no title
sdar
no title
sdas (sdasgb, sdas6808, sdas8051, sdasz80)
1.1 | 3.11.2 | 6.3
SDCC
Defines
__SDCC (version macro)
3.17
__SDCC_ds390
3.17
__SDCC_mcs51
3.17
__SDCC_pic16
4.7.4
__SDCC_z80
3.17
SDCC_ALL_CALLEE_SAVES
3.17
SDCCCALL
3.17
SDCC_FLOAT_REENT
3.17
SDCC_INT_LONG_REENT
3.17
SDCC_MODEL_FLAT24 (ds390)
3.17
SDCC_MODEL_LARGE
3.17 | 3.17
SDCC_MODEL_MEDIUM
3.17
SDCC_MODEL_SMALL
3.17
SDCC_OPTIMIZE_SIZE
3.17
SDCC_OPTIMIZE_SPEED
3.17
SDCC_PARMS_IN_BANK1
3.17
SDCC_REVISION (svn revision number)
3.17
SDCC_STACK_AUTO
3.17
SDCC_STACK_TENBIT (ds390)
3.17
SDCC_USE_XSTACK
3.17
Environment variables
NO_REG_OPT
4.7.3
OPTIMIZE_BITFIELD_POINTER_GET (PIC16)
4.7.3
SDCC_HOME
3.4
SDCC_INCLUDE
3.4
SDCC_LEAVE_SIGNALS
3.4
SDCC_LIB
3.4
SDCC_PIC14_SPLIT_LOCALS
4.6.7
TMP, TEMP, TMPDIR
3.4
undocumented
3.4
SDCC Wiki
7.7
_sdcc_external_startup()
4.1.4
SDCDB (debugger)
2.9.5 | no title | 6.3 | 6.5
sdcpp (preprocessor)
2.9.2 | no title | 3.3.2 | 3.16
sdld
1.1 | 6.3
Search path
no title
semaphore
no title
__sfr
no title | no title | no title | no title | no title | 4.1.1
__sfr16
no title | no title
__sfr32
no title
shc08 (simulator)
2.9.4
signal handler
3.4
sloc (spill location)
3.3.3
SM83
no title
sm83 (GameBoy Z80)
3.3.1 | 4.3
splint (syntax checking tool)
3.3.4 | 5. | 6.5
srecord (bin, hex, ... tool)
3.2.1 | 3.2.1 | 3.2.2 | 3.3.5 | 6.5
sstm8 (simulator)
2.9.4
stack
3.3.4 | 3.5.1.3 | 3.5.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
Standard-compliance
1.5 | no title
static
3.6
Status of documentation
1.1 | 2.6
STM8
1.1
STM8 memory models
no title
STM8 options
no title
Strength reduction
8.1.4 | ICode
struct
3.1.1
Subexpression
8.1.6
Subexpression elimination
3.3.3 | no title
Subversion code repository
7. | 7.6
Support
no title
swapping nibbles/bytes
8.1.10
switch statement
no title
Symbol listing
3.2.1
sz80 (simulator)
2.9.4
tabulator spacing (8 columns)
2.4.4
Tinibios (DS390)
3.15.2
Tools
no title
Trademarks
10.
type conversion
1.5
type promotion
1.5 | 3.8.1.4 | 3.11.2 | 3.11.2 | 6.
Typographic conventions
no title
uCsim
6.2 | 6.3
union
3.1.1
UnxUtils
2.4.5
USE_FLOATS
3.14.2.1.2
__using (mcs51, ds390 register bank)
3.5.1.9 | 3.8.1 | 3.8.2 | 3.8.2 | 3.10 | 3.10
vararg, va_arg
1.5 | 1.5 | 6.1
Variable initialization
3.3.3 | 3.5.6 | 4.1.4
version
2.7 | 7.5
version macro
3.17
volatile
3.5.6 | 3.5.6 | 3.8.1.1 | 3.9.3 | 3.11.3 | 6.1
VPATH
no title
Warnings
3.3.4
watchdog
4.1.4 | 6.1
wiki
6.4 | 7.7 | 8.3
__xdata (hc08 named address space)
no title
__xdata (mcs51, ds390 named address space
4.1.4
__xdata (mcs51, ds390 named address space)
3.3.5 | no title | 3.5.1.9 | 3.5.6
XEmacs
no title
_XPAGE (mcs51)
4.1.1
xstack
3.3.5
Z180
3.3.1 | no title
I/O memory
3.5.2.1
Options
—portmode
3.5.2.3
Pragmas
#pragma portmode
3.5.2.3
Z80
3.3.1 | no title | 3.5.2.1 | 3.8.4 | 4.3 | 4.3.1
I/O memory
3.5.2.1
interrupt
3.8.4
Options
—asm=<Value>
3.3.9
—callee-saves-bc
3.3.8
—codeseg <Value>
3.3.8
—constseg <Value>
3.3.8
—fno-omit-frame-pointer
3.3.9
—no-std-crt0
3.3.8
—portmode=<Value>
3.3.9
—reserve-regs-iy
3.3.9
Z80, Z180, SM83, Rabbit 2000/3000, Rabbit 3000A CPU
1.1
zlib/libpng License
1.2