SDCC Compiler User Guide Manual
User Manual:
Open the PDF directly: View PDF
Page Count: 124 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- Introduction
- Installing SDCC
- Using SDCC
- Standard-Compliance
- Compiling
- Single Source File Projects
- Postprocessing the Intel Hex file
- Projects with Multiple Source Files
- Projects with Additional Libraries
- Using sdar to Create and Manage Libraries
- Using sdcclib to Create and Manage Libraries (deprecated)With sdcc version 3.2.0 the sdcclib utility is deprecated. Sdar utility should be used to create sdcc object file archives. Sdcclib utility will become obsolete in one of next sdcc releases and will be removed from sdcc packages.
- Command Line Options
- Processor Selection Options
- Preprocessor Options
- Optimization Options
- Other Options
- Linker Options
- MCS51 Options
- DS390 / DS400 Options
- Options common to all z80-related ports (z80, z180, r2k, r3ka, gbz80)
- Z80 Options (apply to z80, z180, r2k and r3ka port)
- GBZ80 Options
- Intermediate Dump Options
- Redirecting output on Windows Shells
- Environment variables
- Storage Class Language Extensions
- Other SDCC language extensions
- Absolute Addressing
- Parameters & Local Variables
- Overlaying
- Interrupt Service Routines
- Enabling and Disabling Interrupts
- Functions using private register banks (mcs51/ds390)
- Startup Code
- Inline Assembler Code
- Interfacing with Assembler Code
- int (16 bit) and long (32 bit) Support
- Floating Point Support
- Library Routines
- Memory Models
- Pragmas
- Defines Created by the Compiler
- Notes on supported Processors
- MCS51 variants
- DS400 port
- The Z80, Z180, Rabbit 2000/3000, Rabbit 3000A and GBZ80 ports
- The HC08 and S08 ports
- The PIC14 port
- The PIC16 port
- Global Options
- Port Specific Options
- Environment Variables
- Preprocessor Macros
- Directories
- Pragmas
- Header Files and Libraries
- Header Files
- Libraries
- Adding New Devices to the Port
- Memory Models
- Stack
- Functions
- Function return values
- Interrupts
- Generic Pointers
- Configuration Bits
- PIC16 C Libraries
- PIC16 Port -- Tips
- Known Bugs
- Debugging
- TIPS
- Support
- SDCC Technical Data
- Optimizations
- Sub-expression Elimination
- Dead-Code Elimination
- Copy-Propagation
- Loop Optimizations
- Loop Reversing
- Algebraic Simplifications
- 'switch' Statements
- Bit-shifting Operations.
- Bit-rotation
- Nibble and Byte Swapping
- Highest Order Bit / Any Order Bit
- Higher Order Byte / Higher Order Word
- Register Allocation
- Peephole Optimizer
- Cyclomatic Complexity
- Retargetting for other Processors
- Optimizations
- Compiler internals
- Acknowledgments