\begin_layout Date
\size normal
-SDCC 2.8.9
+SDCC 2.9.1
\size footnotesize
\newline
-$Date$
+$Date:: $
\newline
-$Revision: 5272$
+$Revision$
\end_layout
\begin_layout Standard
\end_inset
-, an open source retargetable assembler & linker.
+, an free open source retargetable assembler & linker.
SDCC has extensive language extensions suitable for utilizing various microcont
rollers and underlying hardware effectively.
\begin_layout Standard
All packages used in this compiler system are
\emph on
-open source
-\emph default
- and
-\emph on
-freeware
+free open source
\emph default
; source code for all the sub-packages (pre-processor, assemblers, linkers
etc.) is distributed with the package.
\family sans
\series bold
-"tar -xvzf sdcc-src-yyyymmdd-rrrr.tar.bz2
+"tar -xvjf sdcc-src-yyyymmdd-rrrr.tar.bz2
\begin_inset Quotes srd
\end_inset
\InsetSpace ~
\InsetSpace ~
\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
# cd $HOME
\end_layout
\begin_layout Standard
\family typewriter
-tar -xzf sdcc.src.tar.gz\InsetSpace ~
+tar -xjf sdcc-src-yyyymmdd-rrrr.tar.bz2\InsetSpace ~
# extract source to directory sdcc
\end_layout
\InsetSpace ~
\InsetSpace ~
\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
# put output in sdcc.build
\end_layout
\InsetSpace ~
\InsetSpace ~
\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
# configure is doing all the magic!
\end_layout
\end_inset
.
- SDCC uses an adapted version of the preprocessor
-\emph on
-cpp
-\emph default
- of the GNU Compiler Collection
+ SDCC uses an adapted version of the GNU Compiler Collection
\begin_inset LatexCommand index
name "gcc (GNU Compiler Collection)"
\end_inset
+ preprocessor
+\emph on
+cpp
+\emph default
(
\emph on
gcc
\end_inset
-), if you need more dedicated options please refer to the GCC\InsetSpace ~
-4.1.1\InsetSpace ~
+).
+ If you need more dedicated options please refer to the GCC\InsetSpace ~
CPP\InsetSpace ~
-Manual
- at
+Manual at
+
\begin_inset LatexCommand htmlurl
target "http://www.gnu.org/software/gcc/onlinedocs/"
\begin_inset LatexCommand index
-name "-L -\\/-lib-path"
+name "-L <path>"
\end_inset
\begin_layout List
\labelwidthstring 00.00.0000
+\series bold
+-v\InsetSpace ~
+-
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+/
+\end_layout
+
+\end_inset
+
+-version
+\begin_inset LatexCommand index
+name "-\\/-version"
+
+\end_inset
+
+
+\begin_inset LatexCommand index
+name "-v"
+
+\end_inset
+
+
+\series default
+ displays the sdcc version.
+\end_layout
+
+\begin_layout List
+\labelwidthstring 00.00.0000
+
\series bold
-c\InsetSpace ~
-
\begin_inset LatexCommand index
-name "-c -\\/-compile-only"
+name "-c"
\end_inset
\family typewriter
printf_large.c
\family default
- does not support float (except on ds390).
- To enable this, recompile it with the option
+ does not support float
+\begin_inset LatexCommand index
+name "Floating point support"
+
+\end_inset
+
+ (except on ds390), only <NO FLOAT>
+\begin_inset LatexCommand index
+name "<NO FLOAT>"
+
+\end_inset
+
+
+\begin_inset LatexCommand index
+name "printf floating point support"
+
+\end_inset
+
+ will be printed instead of the value.
+ To enable floating point output, recompile it with the option
\emph on
-
\begin_inset ERT
\emph on
-
\begin_inset ERT
-status collapsed
+status open
\begin_layout Standard
\begin_layout Standard
printf
\begin_inset LatexCommand index
-name "printf"
+name "printf()"
\end_inset
\begin_layout Verse
\family typewriter
-sdcc -c _heap.c -D HEAD_SIZE=2048
+sdcc -c _heap.c -D HEAP_SIZE=2048
\end_layout
\begin_layout Standard
\end_layout
\begin_layout Standard
-18F: 2220, 2221, 2320, 2321, 2331, 2410, 2420, 2423, 2431, 2450, 2455, 2480,
- 24j10
+18F: 2220, 2221, 2320, 2321, 2331, 23k20
+\end_layout
+
+\begin_layout Standard
+18F: 2410, 2420, 2423, 2431, 2450, 2455, 2480, 24j10, 24k20
+\end_layout
+
+\begin_layout Standard
+18F: 2510, 2515, 2520, 2523, 2525, 2550, 2580, 2585, 25j10, 25k20
\end_layout
\begin_layout Standard
-18F: (2510,) 2515, 2520, 2523, 2525, 2550, 2580, 2585, 25j10, 2610, 2620,
- 2680, 2682, 2685
+18F: 2610, 2620, 2680, 2682, 2685
\end_layout
\begin_layout Standard
-18F: 4220, 4221, 4320, 4321, 4331, 4410, 4420, 4423, 4431, 4450, 4455, 4480,
- 44j10
+18F: 4220, 4221, 4320, 4321, 4331, 43k20
\end_layout
\begin_layout Standard
-18F: 4510, 4515, 4520, 4523, 4525, 4550, 4580, 4585, 45j10, 4610, 4620,
- 4680, 4682, 4685
+18F: 4410, 4420, 4423, 4431, 4450, 4455, 4480, 44j10, 44k20
\end_layout
\begin_layout Standard
-18F: 6520, 6585, 6620, 6680, 66j60, 66j65, 6720, 67j60
+18F: 4510, 4515, 4520, 4523, 4525, 4550, 4580, 4585, 45j10, 45k20
\end_layout
\begin_layout Standard
-18F: 8520, 8585, 8620, 8680, 86j60, 86j65, 8720, 87j60
+18F: 4610, 4620, 4680, 4682, 4685, 46k20
+\end_layout
+
+\begin_layout Standard
+18F: 6520, 6585, 65j50, 6620, 6680, 66j50, 66j55, 66j60, 66j65, 6720, 67j50,
+ 67j60
+\end_layout
+
+\begin_layout Standard
+18F: 8520, 8585, 85j50, 8620, 8680, 86j50, 86j55, 86j60, 86j65, 8720, 87j50,
+ 87j60
\end_layout
\begin_layout Standard
\begin_layout Standard
The library is normally built without support for displaying float values,
- only <NO FLOAT> will appear instead of the value.
+ only <NO FLOAT>
+\begin_inset LatexCommand index
+name "<NO FLOAT>"
+
+\end_inset
+
+
+\begin_inset LatexCommand index
+name "printf floating point support"
+
+\end_inset
+
+ will appear instead of the value.
To change this, rebuild the library as stated above, but call
\family typewriter
./configure.gnu --enable-floats
\end_layout
\begin_layout Itemize
-or (8051 specific) use a freeware/commercial simulator which interfaces
+or (8051 specific) use a free open source/commercial simulator which interfaces
to the AOMF
\begin_inset LatexCommand index
name "AOMF, AOMF51"