advertisement
Chapter 10
Acknowledgments
http://sdcc.sourceforge.net#Who
Thanks to all the other volunteer developers who have helped with coding, testing, web-page creation, distribution sets, etc. You know who you are :-)
This document was initially written by Sandeep Dutta
All product names mentioned herein may be trademarks of their respective companies.
Alphabetical index
To avoid confusion, the installation and building options for SDCC itself (chapter 2) are not part of the index.
86
Index
-Aquestion(answer),
-C,
-D<macro[=value]>,
-E,
-I<path>,
-L --lib-path,
-M,
-MM,
-S,
-Umacro,
-V,
-Wa asmOption[,asmOption],
-Wl linkOption[,linkOption],
-Wp preprocessorOption[,preprocessorOption],
--c1mode,
--callee-saves,
--callee-saves-bc,
--code-loc <Value>,
--code-size <Value>,
--codeseg <Value>,
--compile-only,
--constseg <Value>,
--cyclomatic,
--data-loc <Value>,
--debug,
--disable-warning,
--dumlrange,
--dumpall,
--dumpdeadcode,
--dumpgcse,
--dumploop,
--dumplrange,
--dumprange,
--dumpraw,
--dumpregassign,
--float-reent,
--i-code-in-asm,
--idata-loc <Value>,
--int-long-reent,
--iram-size <Value>,
--less-pedantic,
--lib-path <path>,
--main-return,
--model-flat24,
--model-large,
--model-medium,
--model-small,
87
--no-c-code-in-asm,
--no-pack-iram,
--no-peep,
--no-peep-comments,
--no-std-crt0,
--no-xinit-opt,
--nogcse,
--noinduction,
--noinvariant,
--nojtbound,
--nolabelopt ,
--noloopreverse,
--nooverlay,
--nostdinc,
--nostdlib,
--opt-code-size,
--opt-code-speed,
--out-fmt-ihx,
--out-fmt-s19,
--pack-iram,
--peep-asm,
--peep-file,
--print-search-dirs,
--protect-sp-update,
--stack-10bit,
--stack-auto,
--stack-loc <Value>,
--stack-probe,
--stack-size <Value>,
--std-c89,
--std-c99,
--std-sdcc89,
--std-sdcc99,
--tini-libid,
--use-accelerator,
--use-stdout,
--vc,
--verbose,
--xdata-loc<Value>,
--xram-loc <Value>,
--xram-size <Value>,
--xstack,
-c --compile-only,
-dD,
-dM,
-dN,
-mavr,
INDEX
-mds390,
-mds400,
-mgbz80,
-mhc08,
-mmcs51,
-mpic14,
-mpic16,
-mxa51,
-mz80,
-o <path/file>,
<file> (no extension),
<file>.adb,
<file>.asm,
<file>.cdb,
<file>.dump*,
<file>.ihx,
<file>.lib,
<file>.lnk,
<file>.lst,
<file>.map,
<file>.mem,
<file>.o,
<file>.rel,
<file>.rst,
<file>.sym,
<stdio.h>,
#defines,
#pragma callee_saves,
#pragma codeseg,
#pragma constseg,
#pragma disable_warning,
#pragma exclude,
#pragma less_pedantic,
#pragma nogcse,
#pragma noinduction,
#pragma noinvariant,
#pragma noiv,
#pragma nojtbound,
#pragma noloopreverse,
#pragma nooverlay,
#pragma opt_code_balanced,
#pragma opt_code_size,
#pragma opt_code_speed,
#pragma portmode,
#pragma preproc_asm,
#pragma restore,
#pragma save,
#pragma stackauto,
#pragma std_c89,
#pragma std_c99,
#pragma std_sdcc89,
#pragma std_sdcc99,
_XPAGE (mcs51),
__ (prefix for extended keywords),
__asm,
__at,
88
INDEX
__bit,
__code,
__critical,
__data (hc08 storage class),
__data (mcs51, ds390 storage class),
__ds390,
__endasm,
__far (storage class),
__hc08,
__idata (mcs51, ds390 storage class),
__interrupt,
__mcs51,
__naked,
__near (storage class),
__pdata (mcs51, ds390 storage class),
__sbit,
__sfr,
__sfr16,
__sfr32,
__using (mcs51, ds390 register bank),
__xdata (hc08 storage class),
__xdata (mcs51, ds390 storage class),
__z80,
_asm,
_endasm,
_naked,
_sdcc_external_startup(),
8031, 8032, 8051, 8052, mcs51 CPU,
Absolute addressing,
ACC (mcs51, ds390 register),
Aligned array,
Annotated syntax tree,
ANSI-compliance,
Any Order Bit,
AOMF, AOMF51,
aslink,
Assembler documentation,
Assembler listing,
Assembler options,
Assembler routines,
Assembler routines (non-reentrant),
Assembler routines (reentrant),
Assembler source,
asXXXX (as-gbz80, as-hc08, asx8051, as-z80),
at,
atomic,
AVR,
B (mcs51, ds390 register),
Basic blocks,
bit,
Bit rotation,
Bit shifting,
Bit toggling,
bitfields,
INDEX block boundary,
Bug reporting,
Building SDCC,
Byte swapping,
C Reference card,
Carry flag,
Changelog,
code,
code banking (limited support),
code page (pic14),
Command Line Options,
Compatibility with previous versions,
Compiler internals,
Copy propagation,
critical,
cvs code repository,
Cyclomatic complexity,
data (hc08 storage class),
data (mcs51, ds390 storage class),
DDD (debugger),
ddd (debugger),
Dead-code elimination,
Debugger,
Defines created by the compiler,
DESTDIR,
Division,
Documentation,
double (not supported),
download,
doxygen (source documentation tool),
DPTR,
DPTR, DPH, DPL,
DS390 memory model,
DS390 options,
DS80C390,
DS80C400,
ELF format,
Emacs,
Endianness,
Environment variables,
Examples,
External stack (mcs51),
far (storage class),
Feature request,
Flags,
Flat 24 (DS390 memory model),
Floating point support,
fpga (field programmable gate array),
function epilogue,
function parameter,
function prologue,
gbz80 (GameBoy Z80),
gdb,
89
INDEX getchar(),
Global subexpression elimination,
GNU General Public License, GPL,
GNU Lesser General Public License, LGPL,
gpsim (pic simulator),
gputils (pic tools),
HC08,
HD64180,
Higher Order Byte,
Higher Order Word,
Highest Order Bit,
HTML version of this document,
I/O memory (Z80, Z180),
iCode,
idata (mcs51, ds390 storage class),
indent (source formatting tool),
Install paths,
Install trouble-shooting,
Installation,
int (16 bit),
int (64 bit) (not supported),
Intel hex format,
Intermediate dump options,
interrupt,
interrupt jitter,
interrupt latency,
interrupt mask,
interrupt priority,
interrupts,
jump tables,
K&R style,
Labels,
Libraries,
Linker,
Linker documentation,
Linker options,
lint (syntax checking tool),
little-endian,
Live range analysis,
local variables,
lock,
long (32 bit),
long long (not supported),
longjmp (not supported),
Loop optimization,
Loop reversing,
Mailing list(s),
main return,
MCS51,
MCS51 memory,
MCS51 memory model,
MCS51 options,
INDEX
MCS51 variants,
Memory map,
Memory model,
Microchip,
Modulus,
Motorola S19 format,
Multiplication,
Naked functions,
near (storage class),
Nibble swapping,
objdump (tool),
Object file,
Optimization options,
Optimizations,
Options assembler,
Options DS390,
Options intermediate dump,
Options linker,
Options MCS51,
Options optimization,
Options other,
Options PIC16,
Options preprocessor,
Options processor selection,
Options SDCC configuration,
Options Z80,
Overlaying,
P2 (mcs51 sfr),
Parameter passing,
Parameters,
Parsing,
Patch submission,
pdata (mcs51, ds390 storage class),
PDF version of this document,
Peephole optimizer,
PIC14,
PIC16,
Pointer,
Pragmas,
Preprocessor options,
printf(),
printf_fast() (mcs51),
printf_fast_f() (mcs51),
printf_small(),
printf_tiny() (mcs51),
Processor selection options,
push/pop,
putchar(),
Quality control,
RAM bank (pic14),
reentrant,
Register allocation,
Register assignment,
90 register bank (mcs51, ds390),
Regression test,
Related tools,
Release policy,
Reporting bugs,
Requesting features,
return value,
rotating bits,
Runtime library,
s51,
sbit,
SDCC,
SDCC_ds390,
SDCC_HOME,
SDCC_INCLUDE,
SDCC_LEAVE_SIGNALS,
SDCC_LIB,
SDCC_mcs51,
SDCC_MODEL_FLAT24,
SDCC_MODEL_LARGE,
SDCC_MODEL_MEDIUM,
SDCC_MODEL_SMALL,
SDCC_STACK_AUTO,
SDCC_STACK_TENBIT,
SDCC_USE_XSTACK,
SDCC_z80,
sdcclib,
sdcdb (debugger),
sdcpp (preprocessor),
Search path,
semaphore,
setjmp (not supported),
sfr,
sfr16,
sfr32,
signal handler,
sloc (spill location),
splint (syntax checking tool),
srecord (bin, hex, ... tool),
stack,
stack overflow,
Startup code,
static,
Status of documentation,
Storage class,
Strength reduction,
Subexpression,
Subexpression elimination,
Support,
swapping nibbles/bytes,
switch statement,
Symbol listing,
tabulator spacing (8 columns),
Test suite,
Tinibios (DS390),
INDEX
INDEX
TLCS-900H,
TMP, TEMP, TMPDIR,
Tools,
Trademarks,
type conversion,
type promotion,
Typographic conventions,
UnxUtils,
USE_FLOATS,
using (mcs51, ds390 register bank),
Variable initialization,
version,
volatile,
Warnings,
warranty,
XA51,
xdata (hc08 storage class),
xdata (mcs51, ds390 storage class),
XEmacs,
Z180,
Z80,
Z80 options,
INDEX
91
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Related manuals
advertisement
Table of contents
- 6 Introduction
- 6 About SDCC
- 7 Open Source
- 7 Typographic conventions
- 7 Compatibility with previous versions
- 8 System Requirements
- 8 Other Resources
- 8 Wishes for the future
- 9 Installing SDCC
- 9 Configure Options
- 11 Install paths
- 11 Search Paths
- 12 Building SDCC
- 12 Building SDCC on Linux
- 13 Building SDCC on OSX 2.x
- 13 Cross compiling SDCC on Linux for Windows
- 13 Building SDCC on Windows
- 13 Building SDCC using Cygwin and Mingw32
- 14 Building SDCC Using Microsoft Visual C++ 6.0/NET (MSVC)
- 15 Building SDCC Using Borland
- 15 Windows Install Using a ZIP Package
- 15 Windows Install Using the Setup Program
- 16 Building the Documentation
- 16 Reading the Documentation
- 16 Testing the SDCC Compiler
- 17 Install Trouble-shooting
- 17 If SDCC does not build correctly
- 17 What the ''./configure'' does
- 17 What the ''make'' does
- 17 What the ''make install'' command does.
- 17 Components of SDCC
- 18 sdcc - The Compiler
- 18 sdcpp - The C-Preprocessor
- 18 asxxxx, aslink, link-xxx - The Assemblers and Linkage Editors
- 18 s51 - The Simulator
- 19 sdcdb - Source Level Debugger
- 20 Using SDCC
- 20 Compiling
- 20 Single Source File Projects
- 20 Projects with Multiple Source Files
- 21 Projects with Additional Libraries
- 21 Using sdcclib to Create and Manage Libraries
- 22 Command Line Options
- 22 Processor Selection Options
- 23 Preprocessor Options
- 23 Linker Options
- 24 MCS51 Options
- 25 DS390 / DS400 Options
- 25 Z80 Options
- 25 Optimization Options
- 26 Other Options
- 28 Intermediate Dump Options
- 28 Redirecting output on Windows Shells
- 28 Environment variables
- 29 Storage Class Language Extensions
- 29 MCS51/DS390 Storage Class Language Extensions
- 29 data / near
- 29 xdata / far
- 29 idata
- 30 pdata
- 30 code
- 30 bit
- 31 sfr / sfr16 / sfr32 / sbit
- 31 Pointers to MCS51/DS390 specific memory spaces
- 31 Notes on MCS51 memory layout
- 32 Z80/Z180 Storage Class Language Extensions
- 32 sfr (in/out to 8-bit addresses)
- 32 banked sfr (in/out to 16-bit addresses)
- 32 sfr (in0/out0 to 8 bit addresses on Z180/HD64180)
- 33 HC08 Storage Class Language Extensions
- 33 data
- 33 xdata
- 33 Absolute Addressing
- 34 Parameters & Local Variables
- 35 Overlaying
- 35 Interrupt Service Routines
- 35 General Information
- 36 MCS51/DS390 Interrupt Service Routines
- 36 HC08 Interrupt Service Routines
- 36 Z80 Interrupt Service Routines
- 37 Enabling and Disabling Interrupts
- 37 Critical Functions and Critical Statements
- 37 Enabling and Disabling Interrupts directly
- 38 Semaphore locking (mcs51/ds390)
- 38 Functions using private register banks (mcs51/ds390)
- 38 Startup Code
- 38 MCS51/DS390 Startup Code
- 39 HC08 Startup Code
- 39 Z80 Startup Code
- 39 Inline Assembler Code
- 39 A Step by Step Introduction
- 40 Naked Functions
- 41 Use of Labels within Inline Assembler
- 42 Interfacing with Assembler Code
- 42 Global Registers used for Parameter Passing
- 42 Assembler Routine (non-reentrant)
- 43 Assembler Routine (reentrant)
- 44 int (16 bit) and long (32 bit) Support
- 44 Floating Point Support
- 45 Library Routines
- 45 Compiler support routines (_gptrget, _mulint etc.)
- 45 Stdclib functions (puts, printf, strcat etc.)
- 45 <stdio.h>
- 45 Math functions (sin, pow, sqrt etc.)
- 45 Other libraries
- 45 Memory Models
- 45 MCS51 Memory Models
- 45 Small, Medium and Large
- 45 External Stack
- 46 DS390 Memory Model
- 46 Pragmas
- 48 Defines Created by the Compiler
- 49 Notes on supported Processors
- 49 MCS51 variants
- 49 pdata access by SFR
- 49 Other Features available by SFR
- 49 DS400 port
- 49 The Z80 and gbz80 port
- 50 The HC08 port
- 50 The PIC14 port
- 50 C code and 14bit PIC code page and RAM banks
- 50 Creating a device include file
- 50 Interrupt code
- 50 Linking and assembling
- 51 Command-line options
- 51 The library
- 51 error: missing definition for symbol ''__gptrget1''
- 51 Processor mismatch in file ''XXX''.
- 51 Known bugs
- 51 initialized data
- 51 The PIC16 port
- 52 Global Options
- 52 Port Specific Options
- 52 General Options
- 52 Optimization Options
- 53 Linking Options
- 53 Debugging Options
- 53 Enviromental Variables
- 53 Preprocessor Macros
- 54 Directories
- 54 Pragmas
- 55 Header Files
- 55 Libraries
- 56 Memory Models
- 56 Stack
- 57 Functions
- 57 Function return values
- 58 Interrupts
- 58 Generic Pointers
- 59 PIC16 C Libraries
- 59 Standard I/O Streams
- 60 Printing functions
- 60 Signals
- 61 PIC16 Port -- Tips
- 61 Stack size
- 62 Debugging with SDCDB
- 62 Compiling for Debugging
- 62 How the Debugger Works
- 62 Starting the Debugger
- 62 Command Line Options
- 63 Debugger Commands
- 64 Interfacing with DDD
- 65 Interfacing with XEmacs
- 66 TIPS
- 67 Tools included in the distribution
- 67 Documentation included in the distribution
- 68 Related open source tools
- 68 Related documentation / recommended reading
- 68 Some Questions
- 69 Support
- 69 Reporting Bugs
- 69 Requesting Features
- 70 Submitting patches
- 70 Getting Help
- 70 ChangeLog
- 70 Release policy
- 70 Examples
- 70 Quality control
- 71 SDCC Technical Data
- 71 Optimizations
- 71 Sub-expression Elimination
- 71 Dead-Code Elimination
- 72 Copy-Propagation
- 72 Loop Optimizations
- 73 Loop Reversing
- 73 Algebraic Simplifications
- 73 'switch' Statements
- 75 Bit-shifting Operations.
- 75 Bit-rotation
- 76 Nibble and Byte Swapping
- 76 Highest Order Bit / Any Order Bit
- 77 Higher Order Byte / Higher Order Word
- 78 Peephole Optimizer
- 79 ANSI-Compliance
- 80 Cyclomatic Complexity
- 81 Retargetting for other Processors
- 82 Compiler internals
- 82 The anatomy of the compiler
- 86 A few words about basic block successors, predecessors and dominators
- 87 Acknowledgments