* .version: changed to version 2.5.3
[fw/sdcc] / doc / sdccman.lyx
index 6b0c34f62e2481a33e6cecbd3b8fdd88f1bcff4b..31ab8d0d037da4e501d6e3247155842b76ff2cbb 100644 (file)
@@ -82,7 +82,7 @@ SDCC Compiler User Guide
 
 
 \size normal 
 
 
 \size normal 
-SDCC 2.5.2
+SDCC 2.5.3
 \size footnotesize 
 
 \newline 
 \size footnotesize 
 
 \newline 
@@ -557,8 +557,8 @@ char KernelFunction3(char p) at 0x340;
 
 
 \family typewriter 
 
 
 \family typewriter 
-code banking
-\begin_inset LatexCommand \index{code banking (not supported)}
+better code banking
+\begin_inset LatexCommand \index{code banking (limited support)}
 
 \end_inset 
 
 
 \end_inset 
 
@@ -3268,8 +3268,10 @@ bin before running SDCC.
 \newline 
 WARNING: Visual studio is very picky with line terminations; it expects
  the 0x0d, 0x0a DOS style line endings, not the 0x0a Unix style line endings.
 \newline 
 WARNING: Visual studio is very picky with line terminations; it expects
  the 0x0d, 0x0a DOS style line endings, not the 0x0a Unix style line endings.
- If you are getting a message such as "This makefile was not generated by
- Developer Studio etc.
+ When using the CVS repository it's easiest to configure the cvs client
+ to convert automatically for you.
+ If however you are getting a message such as "This makefile was not generated
+ by Developer Studio etc.
  etc.
 \begin_inset Quotes srd
 \end_inset 
  etc.
 \begin_inset Quotes srd
 \end_inset 
@@ -6065,6 +6067,7 @@ status Collapsed
  details.
  If this option is used all source files in the project have to be compiled
  with this option.
  details.
  If this option is used all source files in the project have to be compiled
  with this option.
+ It must also be used when invoking the linker.
 \layout List
 \labelwidthstring 00.00.0000
 
 \layout List
 \labelwidthstring 00.00.0000
 
@@ -7796,6 +7799,74 @@ status Collapsed
 \labelwidthstring 00.00.0000
 
 
 \labelwidthstring 00.00.0000
 
 
+\series bold 
+-
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash 
+/
+\end_inset 
+
+-codeseg
+\series default 
+
+\begin_inset LatexCommand \index{-\/-codeseg <Value>}
+
+\end_inset 
+
+\SpecialChar ~
+<Name> The name to be used for the code
+\begin_inset LatexCommand \index{code}
+
+\end_inset 
+
+ segment, default CSEG.
+ This is useful if you need to tell the compiler to put the code in a special
+ segment so you can later on tell the linker to put this segment in a special
+ place in memory.
+ Can be used for instance when using bank switching to put the code in a
+ bank.
+\layout List
+\labelwidthstring 00.00.0000
+
+
+\series bold 
+-
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash 
+/
+\end_inset 
+
+-constseg
+\series default 
+
+\begin_inset LatexCommand \index{-\/-constseg <Value>}
+
+\end_inset 
+
+\SpecialChar ~
+<Name> The name to be used for the const
+\begin_inset LatexCommand \index{code}
+
+\end_inset 
+
+ segment, default CONST.
+ This is useful if you need to tell the compiler to put the const data in
+ a special segment so you can later on tell the linker to put this segment
+ in a special place in memory.
+ Can be used for instance when using bank switching to put the const data
+ in a bank.
+\layout List
+\labelwidthstring 00.00.0000
+
+
 \series bold 
 more-pedantic
 \series default 
 \series bold 
 more-pedantic
 \series default 
@@ -10331,6 +10402,13 @@ Parameters
 
 , (storage classes for parameters will be ignored), their allocation is
  governed by the memory model in use, and the reentrancy options.
 
 , (storage classes for parameters will be ignored), their allocation is
  governed by the memory model in use, and the reentrancy options.
+\layout Standard
+
+It is however allowed to use bit parameters in reentrant functions and also
+ non-static local bit variables are supported.
+ Efficient use is limited to 8 semi-bitregisters in bit space.
+ They are pushed and popped to stack as a single byte just like the normal
+ registers.
 \layout Section
 
 Overlaying
 \layout Section
 
 Overlaying
@@ -15217,6 +15295,24 @@ std_c99
 
 - Follow the C99 standard and disable SDCC features that conflict with the
  standard (incomplete support).
 
 - Follow the C99 standard and disable SDCC features that conflict with the
  standard (incomplete support).
+\layout Itemize
+
+codeseg <name>
+\begin_inset LatexCommand \index{\#pragma codeseg}
+
+\end_inset 
+
+- Use this name (max.
+ 8 characters) for the code segment.
+\layout Itemize
+
+constseg <name>
+\begin_inset LatexCommand \index{\#pragma constseg}
+
+\end_inset 
+
+- Use this name (max.
+ 8 characters) for the const segment.
 \layout Standard
 
 SDCPP supports the following #pragma directives:
 \layout Standard
 
 SDCPP supports the following #pragma directives: