These defaults are:
\newline
-\newline
+\layout Standard
+\align center
\begin_inset Tabular
<lyxtabular version="3" rows="8" columns="3">
\newline
-\newline
-
-\newline
+\layout Standard
+\noindent
'configure' also computes relative paths.
This is needed for full relocatability of a binary package and to complete
search paths (see section search paths below):
\newline
-\newline
+\layout Standard
+\align center
\begin_inset Tabular
<lyxtabular version="3" rows="4" columns="3">
\newline
-\newline
+\layout Standard
+\noindent
Examples:
\layout LyX-Code
\layout Standard
-
-1.
- Binary files (preprocessor, assembler and linker)
-\layout Standard
-
+\added_space_top medskip \align center
\begin_inset Tabular
-<lyxtabular version="3" rows="2" columns="3">
+<lyxtabular version="3" rows="5" columns="4">
<features>
-<column alignment="block" valignment="top" leftline="true" width="0in">
-<column alignment="block" valignment="top" leftline="true" width="0in">
-<column alignment="block" valignment="top" leftline="true" rightline="true" width="0in">
+<column alignment="center" valignment="top" leftline="true" width="0(null)">
+<column alignment="center" valignment="top" leftline="true" width="0(null)">
+<column alignment="center" valignment="top" leftline="true" width="0(null)">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0(null)">
<row topline="true" bottomline="true">
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
+
+\series bold
+Description
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\series bold
Path
\end_inset
</cell>
\layout Standard
-default
+
+\series bold
+Default
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\layout Standard
+
+\series bold
Win32 builds
\end_inset
</cell>
</row>
-<row topline="true" bottomline="true">
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+Binary files*
+\end_inset
+</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\end_inset
</cell>
</row>
-</lyxtabular>
-
-\end_inset
-
-
-\newline
-
-\newline
-2.
- Include files
-\layout Standard
-
-
-\begin_inset Tabular
-<lyxtabular version="3" rows="2" columns="3">
-<features>
-<column alignment="block" valignment="top" leftline="true" width="1.6in">
-<column alignment="block" valignment="top" leftline="true" width="0in">
-<column alignment="block" valignment="top" leftline="true" rightline="true" width="0in">
-<row topline="true" bottomline="true">
+<row topline="true">
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
-Path
+Include files
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\layout Standard
-default
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\layout Standard
-
-Win32 builds
-\end_inset
-</cell>
-</row>
-<row topline="true" bottomline="true">
-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\layout Standard
-
\emph on
-$DATADIR/
-\newline
-$INCLUDE_DIR_SUFFIX
+$DATADIR/ $INCLUDE_DIR_SUFFIX
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\end_inset
</cell>
</row>
-</lyxtabular>
-
-\end_inset
-
-
-\newline
-
-\newline
-3.
- Library files (the
-\shape italic
-model
-\shape default
- is auto-appended by the compiler, e.g.
- small, large, z80, ds390 etc.)
-\layout Standard
-
-
-\begin_inset Tabular
-<lyxtabular version="3" rows="2" columns="3">
-<features>
-<column alignment="block" valignment="top" leftline="true" width="0in">
-<column alignment="block" valignment="top" leftline="true" width="0in">
-<column alignment="block" valignment="top" leftline="true" rightline="true" width="0in">
-<row topline="true" bottomline="true">
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\layout Standard
-
-Path
-\end_inset
-</cell>
+<row topline="true">
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
-default
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\layout Standard
-
-Win32 builds
+Library file**
\end_inset
</cell>
-</row>
-<row topline="true" bottomline="true">
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\end_inset
</cell>
</row>
-</lyxtabular>
-
-\end_inset
-
-
-\newline
-
-\newline
-4.
- Documentation
-\layout Standard
-
-
-\begin_inset Tabular
-<lyxtabular version="3" rows="2" columns="3">
-<features>
-<column alignment="block" valignment="top" leftline="true" width="0in">
-<column alignment="block" valignment="top" leftline="true" width="0in">
-<column alignment="block" valignment="top" leftline="true" rightline="true" width="0in">
<row topline="true" bottomline="true">
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\layout Standard
-Path
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
-\begin_inset Text
-
-\layout Standard
-
-default
-\end_inset
-</cell>
-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
-\begin_inset Text
-
-\layout Standard
-
-Win32 builds
+Documentation
\end_inset
</cell>
-</row>
-<row topline="true" bottomline="true">
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\end_inset
-\newline
+\layout Verse
+
+\size footnotesize
+*compiler, preprocessor, assembler, and linker
\newline
+**the
+\shape italic
+model
+\shape default
+ is auto-appended by the compiler, e.g.
+ small, large, z80, ds390 etc
+\layout Standard
+\noindent
The install paths can still be changed during `make install` with e.g.:
\layout LyX-Code
1.
Binary files (preprocessor, assembler and linker)
\newline
-
+
+\layout Standard
+\align center
+
\begin_inset Tabular
<lyxtabular version="3" rows="4" columns="3">
<features>
\newline
-\newline
+\layout Standard
+\noindent
2.
Include files
\newline
-
+
+\layout Standard
+\align center
+
\begin_inset Tabular
<lyxtabular version="3" rows="6" columns="3">
<features>
\newline
-\newline
- The option -
+\layout Standard
+\noindent
+The option -
\begin_inset ERT
status Collapsed
3.
Library files
\newline
+
+\layout Standard
+
With the exception of
\begin_inset Quotes sld
\end_inset
\newline
+\layout Standard
+\align center
+
\begin_inset Tabular
<lyxtabular version="3" rows="6" columns="3">
<features>
\end_inset
+\newline
+
\layout Comment
Don't delete any of the stray spaces in the table above without checking
\series medium
(see the Install trouble-shooting section for suggestions).
+
+\series default
+ Use option
+\series bold
+-
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+/
+\end_inset
+
+-print-search-dirs
+\series default
+
+\begin_inset LatexCommand \index{-\/-print-search-dirs}
+
+\end_inset
+
+ to find exactly where SDCC is looking for the include and lib files.
\layout Subsection
Install Trouble-shooting
\noun default
file specified in the command line, since the linkage editor processes
file in the order they are presented to it.
+ The linker is invoked from sdcc using a script file with extension .lnk
+\begin_inset LatexCommand \index{.lnk}
+
+\end_inset
+
+.
+ You can view this file to troubleshoot linking problems such as those arising
+ from missing libraries.
\layout Subsubsection
Projects with Additional Libraries
\newline
The most efficient way to use libraries is to keep separate modules in separate
source files.
- The lib file now should name all the modules.rel files.
+ The lib file now should name all the modules.rel
+\begin_inset LatexCommand \index{rel}
+
+\end_inset
+
+ files.
For an example see the standard library file
\emph on
libsdcc.lib
).
\layout Subsubsection
-Optimization Options
-\begin_inset LatexCommand \index{Options optimization}
+Z80 Options
+\begin_inset LatexCommand \index{Options Z80}
\end_inset
-\begin_inset LatexCommand \index{Optimization options}
+\begin_inset LatexCommand \index{Z80 options}
\end_inset
/
\end_inset
--nogcse
-\begin_inset LatexCommand \index{-\/-nogcse}
-
-\end_inset
-
-
+-callee-saves-bc
\series default
- Will not do global subexpression elimination, this option may be used when
- the compiler creates undesirably large stack/data spaces to store compiler
- temporaries.
- A warning message will be generated when this happens and the compiler
- will indicate the number of extra bytes it allocated.
- It recommended that this option NOT be used, #pragma\SpecialChar ~
-NOGCSE
-\begin_inset LatexCommand \index{\#pragma NOGCSE}
-
-\end_inset
- can be used to turn off global subexpression elimination
-\begin_inset LatexCommand \index{Subexpression elimination}
+\begin_inset LatexCommand \index{-\/-callee-saves-bc}
\end_inset
- for a given function only.
+
+\size large
+\emph on
+
+\size default
+\emph default
+Force a called function to always save BC.
+\layout List
+\labelwidthstring 00.00.0000
+
+
+\series bold
+-
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+/
+\end_inset
+
+-no-std-crt0
+\series default
+
+\begin_inset LatexCommand \index{-\/-no-std-crt0}
+
+\end_inset
+
+ When linking, skip the standard crt0.o object file.
+ You must provide your own crt0.o for your system when linking.
+
+\layout Subsubsection
+
+Optimization Options
+\begin_inset LatexCommand \index{Options optimization}
+
+\end_inset
+
+
+\begin_inset LatexCommand \index{Optimization options}
+
+\end_inset
+
+
+\layout List
+\labelwidthstring 00.00.0000
+
+
+\series bold
+-
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+/
+\end_inset
+
+-nogcse
+\begin_inset LatexCommand \index{-\/-nogcse}
+
+\end_inset
+
+
+\series default
+ Will not do global subexpression elimination, this option may be used when
+ the compiler creates undesirably large stack/data spaces to store compiler
+ temporaries.
+ A warning message will be generated when this happens and the compiler
+ will indicate the number of extra bytes it allocated.
+ It recommended that this option NOT be used, #pragma\SpecialChar ~
+NOGCSE
+\begin_inset LatexCommand \index{\#pragma NOGCSE}
+
+\end_inset
+
+ can be used to turn off global subexpression elimination
+\begin_inset LatexCommand \index{Subexpression elimination}
+
+\end_inset
+
+ for a given function only.
\layout List
\labelwidthstring 00.00.0000
\series default
Display the directories in the compiler's search path
+\layout List
+\labelwidthstring 00.00.0000
+
+
+\series bold
+-
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+/
+\end_inset
+
+-vc
+\begin_inset LatexCommand \index{-\/-vc}
+
+\end_inset
+
+
+\series default
+ Display errors and warnings using MSVC style, so you can use SDCC with
+ visual studio
+\layout List
+\labelwidthstring 00.00.0000
+
+
+\series bold
+-
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+/
+\end_inset
+
+-use-stderr
+\begin_inset LatexCommand \index{-\/-use-stdout}
+
+\end_inset
+
+
+\series default
+ Send errors and warnings to stdout instead of stderr
\layout Subsubsection
Intermediate Dump Options
\newline
\layout Standard
-
+\align center
\begin_inset Tabular
<lyxtabular version="3" rows="6" columns="3">
<features>
-<column alignment="block" valignment="top" leftline="true" width="0in">
-<column alignment="block" valignment="top" leftline="true" width="0in">
-<column alignment="block" valignment="top" leftline="true" rightline="true" width="0in">
+<column alignment="center" valignment="top" leftline="true" width="0in">
+<column alignment="center" valignment="top" leftline="true" width="0in">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0in">
<row topline="true" bottomline="true">
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\begin_inset Text
\newline
-\newline
+\layout Standard
+
If the interrupt service routine is defined without
\emph on
using
in <installdir>/share/sdcc/lib.
\newline
-\newline
-
+\layout Standard
+\align center
+
\begin_inset Tabular
<lyxtabular version="3" rows="11" columns="2">
<features>
\newline
-\size footnotesize
-
-\newline
+\layout Standard
-\size default
Since they are compiled as
\emph on
non-reentrant
\layout Standard
-SDCC supports IEEE (single precision 4bytes) floating point numbers.The floating
- point support routines are derived from gcc's floatlib.c and consists of
- the following routines:
+SDCC supports IEEE (single precision 4 bytes) floating point numbers.The
+ floating point support routines are derived from gcc's floatlib.c and consists
+ of the following routines:
\newline
-\newline
+\layout Standard
+\align center
\size footnotesize
-
+
\begin_inset Tabular
<lyxtabular version="3" rows="17" columns="2">
<features>
\newline
-\size default
+\layout Standard
-\newline
Note if all these routines are used simultaneously the data space might
overflow.
For serious floating point usage it is strongly recommended that the large
\end_inset
-.
-\layout Itemize
+:
+\newline
+
+\layout Standard
+
+
+\begin_inset Tabular
+<lyxtabular version="3" rows="10" columns="2">
+<features>
+<column alignment="center" valignment="top" leftline="true" width="0(null)">
+<column alignment="center" valignment="top" leftline="true" rightline="true" width="0(null)">
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\series bold
+#define
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+
+\series bold
+Description
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
SDCC
\begin_inset LatexCommand \index{SDCC}
\end_inset
- - this Symbol is always defined.
-\layout Itemize
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+this Symbol is always defined
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
SDCC_mcs51
\begin_inset LatexCommand \index{SDCC\_mcs51}
\end_inset
-, etc - depending on the model used (e.g.: -mds390)
-\layout Itemize
+, etc
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+depending on the model used (e.g.: -mds390
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
__mcs51
\begin_inset LatexCommand \index{\_\_mcs51}
\end_inset
-, etc - depending on the model used (e.g.
+, etc
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+depending on the model used (e.g.
-mz80)
-\layout Itemize
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
SDCC_STACK_AUTO
\begin_inset LatexCommand \index{SDCC\_STACK\_AUTO}
\end_inset
- - this symbol is defined when
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+when
\emph on
-
\begin_inset ERT
-stack-auto
\emph default
- option is used.
-\layout Itemize
+ option is used
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
SDCC_MODEL_SMALL
\begin_inset LatexCommand \index{SDCC\_MODEL\_SMALL}
\end_inset
- - when
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+when
\emph on
-
\begin_inset ERT
-model-small
\emph default
- is used.
-\layout Itemize
+ is used
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
SDCC_MODEL_LARGE
\begin_inset LatexCommand \index{SDCC\_MODEL\_LARGE}
\end_inset
- - when
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+when
\emph on
-
\begin_inset ERT
-model-large
\emph default
- is used.
-\layout Itemize
+ is used
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
SDCC_USE_XSTACK
\begin_inset LatexCommand \index{SDCC\_USE\_XSTACK}
\end_inset
- - when
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+when
\emph on
-
\begin_inset ERT
-xstack
\emph default
- option is used.
-\layout Itemize
+ option is used
+\end_inset
+</cell>
+</row>
+<row topline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
SDCC_STACK_TENBIT
\begin_inset LatexCommand \index{SDCC\_STACK\_TENBIT}
\end_inset
- - when
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+when
\emph on
-mds390
\emph default
is used
-\layout Itemize
+\end_inset
+</cell>
+</row>
+<row topline="true" bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
SDCC_MODEL_FLAT24
\begin_inset LatexCommand \index{SDCC\_MODEL\_FLAT24}
\end_inset
- - when
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+\begin_inset Text
+
+\layout Standard
+
+when
\emph on
-mds390
\emph default
is used
+\end_inset
+</cell>
+</row>
+</lyxtabular>
+
+\end_inset
+
+
+\newline
+
+\layout Subsection
+
+Redirecting output on Windows Shells
+\layout Standard
+
+By default SDCC writes it's error messages to
+\begin_inset Quotes sld
+\end_inset
+
+standard error
+\begin_inset Quotes srd
+\end_inset
+
+.
+ To force all messages to
+\begin_inset Quotes sld
+\end_inset
+
+standard output
+\begin_inset Quotes srd
+\end_inset
+
+ use
+\series bold
+-
+\series default
+\emph on
+
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+/
+\end_inset
+
+
+\series bold
+\emph default
+-
+\series default
+use-stdout
+\begin_inset LatexCommand \index{-\/-use-stdout}
+
+\end_inset
+
+.
+ Aditionaly, if you happen to have visual studio installed in your windows
+ machine, you can use it to compile your sources using a custom build and
+ the SDCC -
+\emph on
+
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+/
+\end_inset
+
+
+\emph default
+-vc
+\begin_inset LatexCommand \index{-\/-vc}
+
+\end_inset
+
+ option.
+ Something like this should work:
+\newline
+
+\newline
+
+\series bold
+c:
+\backslash
+sdcc
+\backslash
+bin
+\backslash
+sdcc.exe -
+\series default
+\emph on
+
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+/
+\end_inset
+
+
+\series bold
+\emph default
+-vc -
+\series default
+\emph on
+
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+/
+\end_inset
+
+
+\series bold
+\emph default
+-model-large -c $(InputPath)
\layout Section
\pagebreak_top
SDCC Technical Data
int f() {
\newline
\SpecialChar ~
- \SpecialChar ~
- int i,j;
+\SpecialChar ~
+int i, j;
\newline
\SpecialChar ~
- \SpecialChar ~
- i = 10;
+\SpecialChar ~
+i = 10;
\newline
\SpecialChar ~
- \SpecialChar ~
- j = 10;
+\SpecialChar ~
+j = 10;
\newline
\SpecialChar ~
- \SpecialChar ~
- return 10;
+\SpecialChar ~
+return 10;
\newline
}
\layout Standard
\family typewriter
for (i = 0 ; i < 100 ; i ++)
\newline
- \SpecialChar ~
- \SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
f += k + l;
\layout Standard
\newline
for (i=0;i< 100;i++) {
\newline
- \SpecialChar ~
- \SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
ar[itemp1] = itemp2;
\newline
- \SpecialChar ~
- \SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
itemp1 += 5;
\newline
- \SpecialChar ~
- \SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
itemp2 += 3;
\newline
}
\family typewriter
switch(i) {\SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
-switch (i) {
-\newline
-case 4:...
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+switch (i) {
+\newline
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+case 4: ...\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
case 1: ...
\newline
-case 5:...
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+case 5: ...\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
case 2: ...
\newline
-case 3:...
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+case 3: ...\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
case 3: ...
\newline
-case 6:...
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+case 6: ...\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
case 4: ...
\newline
}\SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
- \SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
+\SpecialChar ~
}
\layout Standard
\end_inset
included in the distribution
-\layout Standard
+\newline
+\layout Standard
+\align center
\begin_inset Tabular
<lyxtabular version="3" rows="12" columns="3">
\end_inset
+\newline
+
\layout Subsection
Related open source tools
\end_inset
-\layout Standard
+\newline
+\layout Standard
+\align center
\begin_inset Tabular
<lyxtabular version="3" rows="7" columns="3">
\end_inset
+\newline
+
\layout Subsection
Related documentation / recommended reading
-\layout Standard
+\newline
+\layout Standard
+\align center
\begin_inset Tabular
<lyxtabular version="3" rows="5" columns="3">
\end_inset
+\newline
+
\layout Section
\pagebreak_top
Retargetting for other MCUs.
Bug reports are automatically forwarded to the developer mailing list and
will be fixed ASAP.
When reporting a bug, it is very useful to include a small test program
- which reproduces the problem.
+ (the smaller the better) which reproduces the problem.
If you can isolate the problem by looking at the generated assembly code,
this can be very helpful.
Compiling your program with the -
\end_inset
option can sometimes be useful in locating optimization problems.
+ When reporting a bug please maker sure you:
+\layout Enumerate
+
+Attach the code you are compiling with SDCC.
+
+\layout Enumerate
+
+Specify the exact command you use to run SDCC, or attach your Makefile.
+
+\layout Enumerate
+
+Specify the SDCC version (type "sdcc -v"), your platform, and operating
+ system.
+
+\layout Enumerate
+
+Provide an exact copy of any error message or incorrect output.
+
+\layout Enumerate
+
+Put something meaningful in the subject of your message.
+\layout Standard
+
+Please attempt to include these 5 important parts, as applicable, in all
+ requests for support or when reporting any problems or bugs with SDCC.
+ Though this will make your message lengthy, it will greatly improve your
+ chance that SDCC users and developers will be able to help you.
+ Some SDCC developers are frustrated by bug reports without code provided
+ that they can use to reproduce and ultimately fix the problem, so please
+ be sure to provide sample code if you are reporting a bug!
\layout Standard
Please have a short check that you are using a recent version of SDCC and
Current excuses might refer to problems with live range analysis, but if
this is fixed, the next problem rising is that another excuse will have
to be found.
- Kidding aside, we have to get better there!
+ Kidding aside, we have to get better there! On the other hand there are
+ daily snapshots available at
+\begin_inset LatexCommand \htmlurl[snap]{http://sdcc.sourceforge.net/snap.php}
+
+\end_inset
+
+, and you can always built the very last version (hopefully with many bugs
+ fixed, and features added) from the source code available at
+\begin_inset LatexCommand \htmlurl[Source]{http://sdcc.sourceforge.net/snap.php#Source}
+
+\end_inset
+
+.
\layout Subsection
Examples