doc/sdccman.lyx: there's a dedicated wiki page for cmake and sdcc, thanks Alexander...
[fw/sdcc] / doc / sdccman.lyx
index a4be8f0a2e87cb27c64ff0e863375bf94ac2b334..077a92400dc924cecf08829366008b07c38ac81f 100644 (file)
@@ -1,4 +1,4 @@
-#LyX 1.4.3 created this file. For more info see http://www.lyx.org/
+#LyX 1.4.2 created this file. For more info see http://www.lyx.org/
 \lyxformat 245
 \begin_document
 \begin_header
@@ -104,7 +104,7 @@ SDCC Compiler User Guide
 \begin_layout Date
 
 \size normal
-SDCC 2.7.0
+SDCC 2.7.3
 \size footnotesize
 
 \newline
@@ -730,7 +730,7 @@ open source
 freeware
 \emph default
 ; source code for all the sub-packages (pre-processor, assemblers, linkers
- etc) is distributed with the package.
+ etc.) is distributed with the package.
  This documentation is maintained using a free open source word processor
  (LyX).
 \newline
@@ -836,8 +836,20 @@ It would be fine to add to each item, in which version was it changed.
 \begin_layout Itemize
 short is now equivalent to int (16 bits), it used to be equivalent to char
  (8 bits) which is not ANSI compliant.
- To maintain compatibility, old programs may be compiled using the --short-is-8b
-its commandline option (see 
+ To maintain compatibility, old programs may be compiled using the -
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+/
+\end_layout
+
+\end_inset
+
+-short-is-8bits commandline option (see 
 \begin_inset LatexCommand \vref{lyx:--short-is-8bits}
 
 \end_inset
@@ -1404,7 +1416,25 @@ status collapsed
 
 \end_inset
 
--disable-pic-port Excludes the PIC port
+-disable-pic-port Excludes the PIC14 port
+\end_layout
+
+\begin_layout List
+\labelwidthstring 00.00.0000
+-
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+/
+\end_layout
+
+\end_inset
+
+-disable-pic16-port Excludes the PIC16 port
 \end_layout
 
 \begin_layout List
@@ -1534,14 +1564,14 @@ status collapsed
 
 \end_inset
 
--help` and the man/info pages of `configure` for details.
+-help' and the man/info pages of `configure' for details.
 \newline
 
 \newline
 The names of the
  standard libraries STD_LIB, STD_INT_LIB, STD_LONG_LIB, STD_FP_LIB, STD_DS390_LI
 B, STD_XA51_LIB and the environment variables SDCC_DIR_NAME, SDCC_INCLUDE_NAME,
- SDCC_LIB_NAME are defined by `configure` too.
+ SDCC_LIB_NAME are defined by `configure' too.
  At the moment it's not possible to change the default settings (it was
  simply never required).
 \newline
@@ -2811,7 +2841,7 @@ model
 
 \begin_layout Standard
 \noindent
-The install paths can still be changed during `make install` with e.g.:
+The install paths can still be changed during `make install' with e.g.:
 \end_layout
 
 \begin_layout LyX-Code
@@ -4611,8 +4641,8 @@ This is not only usefull for building different binaries, e.g.
  generated files are not scattered between the source files.
  And the best thing is: if you want to change a file you can leave the original
  file untouched in the source directory.
- Simply copy it to the build directory, edit it, enter `make clean`, `rm
- Makefile.dep` and `make`.
+ Simply copy it to the build directory, edit it, enter `make clean', `rm
+ Makefile.dep' and `make'.
  
 \series bold
 make
@@ -6249,6 +6279,28 @@ sdcclib libint.lib _moduint.rel
 \family sans
 \series bold
 sdcclib libint.lib _mulint.rel
+\family default
+\series default
+
+\newline
+
+\end_layout
+
+\begin_layout Standard
+Or, if you preffer:
+\family sans
+\series bold
+
+\newline
+
+\end_layout
+
+\begin_layout Standard
+
+\family sans
+\series bold
+sdcclib libint.lib _divsint.rel _divuint.rel _modsint.rel _moduint.rel _mulint.rel
+\family default
 \series default
 
 \newline
@@ -6257,7 +6309,110 @@ sdcclib libint.lib _mulint.rel
 
 \begin_layout Standard
 If the file already exists in the library, it will be replaced.
- To see what modules and symbols are included in the library, options -s
+ If a list of .rel files is available, you can tell sdcclib to add those
+ files to a library.
+ For example, if the file 'myliblist.txt' contains
+\family sans
+\series bold
+
+\newline
+
+\end_layout
+
+\begin_layout Standard
+
+\family sans
+\series bold
+_divsint.rel
+\end_layout
+
+\begin_layout Standard
+
+\family sans
+\series bold
+_divuint.rel
+\end_layout
+
+\begin_layout Standard
+
+\family sans
+\series bold
+_modsint.rel
+\end_layout
+
+\begin_layout Standard
+
+\family sans
+\series bold
+_moduint.rel
+\end_layout
+
+\begin_layout Standard
+
+\family sans
+\series bold
+_mulint.rel
+\family default
+\series default
+
+\newline
+
+\end_layout
+
+\begin_layout Standard
+Use
+\family sans
+\series bold
+
+\newline
+
+\end_layout
+
+\begin_layout Standard
+
+\family sans
+\series bold
+sdcclib -l libint.lib myliblist.txt
+\family default
+\series default
+
+\newline
+
+\end_layout
+
+\begin_layout Standard
+Additionally, you can instruct sdcclib to compiles the files before adding
+ them to the library.
+ This is achieved using the environment variables SDCCLIB_CC and/or SDCCLIB_AS.
+ For example:
+\family sans
+\series bold
+
+\newline
+
+\end_layout
+
+\begin_layout Standard
+
+\family sans
+\series bold
+set SDCCLIB_CC=sdcc -c
+\end_layout
+
+\begin_layout Standard
+
+\family sans
+\series bold
+sdcclib -l libint.lib myliblist.txt
+\family default
+\series default
+
+\newline
+
+\end_layout
+
+\begin_layout Standard
+To see what modules and symbols are included in the library, options -s
  and -m are available.
  For example:
 \newline
@@ -8060,6 +8215,38 @@ status collapsed
  Causes the linker to use old style for allocating memory areas.
 \end_layout
 
+\begin_layout List
+\labelwidthstring 00.00.0000
+
+\series bold
+-
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+/
+\end_layout
+
+\end_inset
+
+-acall-ajmp
+\series default
+\InsetSpace ~
+
+\begin_inset LatexCommand \index{-\/-acall-ajmp}
+
+\end_inset
+
+ Replaces the three byte instructions lcall/ljmp with the two byte instructions
+ acall/ajmp.
+ Only use this option if your code is in the same 2k block of memory.
+ You may need to use this option for some 8051 derivatives which lack the
+ lcall/ljmp instructions..
+\end_layout
+
 \begin_layout Standard
 \begin_inset VSpace bigskip
 \end_inset
@@ -8265,7 +8452,20 @@ status collapsed
 \labelwidthstring 00.00.0000
 
 \series bold
---stack-8-bit - switches off the 10-bit mode
+-
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+/
+\end_layout
+
+\end_inset
+
+-stack-8-bit - switches off the 10-bit mode
 \end_layout
 
 \end_inset
@@ -8306,7 +8506,7 @@ status collapsed
 \series bold
 -
 \begin_inset ERT
-status collapsed
+status open
 
 \begin_layout Standard
 
@@ -9404,7 +9604,41 @@ reentrant
  Parameters and Local Variables for more details.
  If this option is used all source files in the project should be compiled
  with this option.
- It automatically implies --int-long-reent and --float-reent.
+ It automatically implies -
+\series bold
+
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+/
+\end_layout
+
+\end_inset
+
+
+\series default
+-int-long-reent and -
+\series bold
+
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+/
+\end_layout
+
+\end_inset
+
+
+\series default
+-float-reent.
  
 \end_layout
 
@@ -9749,7 +9983,24 @@ status collapsed
  unsigned
 \family default
 .
- To set the signess for characters to unsigned, use the option --funsigned-char.
+ To set the signess for characters to unsigned, use the option -
+\series bold
+
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+/
+\end_layout
+
+\end_inset
+
+
+\series default
+-funsigned-char.
  If this option is set and no signedness keyword (unsigned/signed) is given,
  a char will be signed.
  All other types are unaffected.
@@ -9977,8 +10228,24 @@ status collapsed
 
 
 \series default
- Don't include peep-hole comments in the generated asm files even if --fverbose-
-asm option is specified.
+ Don't include peep-hole comments in the generated asm files even if -
+\series bold
+
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+/
+\end_layout
+
+\end_inset
+
+
+\series default
+-fverbose-asm option is specified.
 \end_layout
 
 \begin_layout List
@@ -10696,7 +10963,7 @@ status collapsed
 
 
 \series default
- Will create a dump of iCode's, after global subexpression elimination
+ Will create a dump of iCodes, after global subexpression elimination
 \begin_inset LatexCommand \index{Global subexpression elimination}
 
 \end_inset
@@ -10730,7 +10997,7 @@ status collapsed
 
 
 \series default
- Will create a dump of iCode's, after deadcode elimination
+ Will create a dump of iCodes, after deadcode elimination
 \begin_inset LatexCommand \index{Dead-code elimination}
 
 \end_inset
@@ -10767,7 +11034,7 @@ status collapsed
 \size large
  
 \size default
-Will create a dump of iCode's, after loop optimizations
+Will create a dump of iCodes, after loop optimizations
 \begin_inset LatexCommand \index{Loop optimization}
 
 \end_inset
@@ -10804,7 +11071,7 @@ status collapsed
 \size large
  
 \size default
-Will create a dump of iCode's, after live range analysis
+Will create a dump of iCodes, after live range analysis
 \begin_inset LatexCommand \index{Live range analysis}
 
 \end_inset
@@ -10873,7 +11140,7 @@ status collapsed
  
 \series default
 \bar default
-Will create a dump of iCode's, after register assignment
+Will create a dump of iCodes, after register assignment
 \begin_inset LatexCommand \index{Register assignment}
 
 \end_inset
@@ -10954,7 +11221,7 @@ Redirecting output on Windows Shells
 \end_layout
 
 \begin_layout Standard
-By default SDCC writes it's error messages to 
+By default SDCC writes its error messages to 
 \begin_inset Quotes sld
 \end_inset
 
@@ -15114,7 +15381,24 @@ The compiler triggers the linker to link certain initialization modules
 
  called crt<something>.
  Only the necessary ones are linked, for instance crtxstack.asm (GSINIT1,
- GSINIT5) is not linked unless the --xstack option is used.
+ GSINIT5) is not linked unless the -
+\series bold
+
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+/
+\end_layout
+
+\end_inset
+
+
+\series default
+-xstack option is used.
  These modules are highly entangled by the use of special segments/areas,
  but a common layout is shown below:
 \end_layout
@@ -15614,6 +15898,17 @@ mov a,r0
 \InsetSpace ~
 \InsetSpace ~
 \InsetSpace ~
+orl a,#(l_PSEG
+ >> 8)
+\newline
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
 jz 00006$
 \newline
 \InsetSpace ~
@@ -15624,8 +15919,7 @@ jz 00006$
 \InsetSpace ~
 \InsetSpace ~
 \InsetSpace ~
-mov
- r1,#s_PSEG
+mov r1,#s_PSEG
 \newline
 \InsetSpace ~
 \InsetSpace ~
@@ -15648,7 +15942,8 @@ mov __XPAGE,#(s_PSEG >> 8)
 clr a
 \newline
 00005$:\InsetSpace ~
-movx @r1,a
+movx
+ @r1,a
 \newline
 \InsetSpace ~
 \InsetSpace ~
@@ -15670,8 +15965,7 @@ inc r1
 \InsetSpace ~
 djnz r0,00005$
 \newline
-0
-0006$:
+00006$:
 \newline
 \InsetSpace ~
 \InsetSpace ~
@@ -15701,7 +15995,8 @@ mov a,r0
 \InsetSpace ~
 \InsetSpace ~
 \InsetSpace ~
-orl a,#(l_XSEG >> 8)
+orl a,#(l_XSEG >>
+ 8)
 \newline
 \InsetSpace ~
 \InsetSpace ~
@@ -15721,8 +16016,7 @@ jz 00008$
 \InsetSpace ~
 \InsetSpace ~
 \InsetSpace ~
-mov r1,#((l_XSEG
- + 255) >> 8)
+mov r1,#((l_XSEG + 255) >> 8)
 \newline
 \InsetSpace ~
 \InsetSpace ~
@@ -15745,7 +16039,8 @@ mov dptr,#s_XSEG
 clr a
 \newline
 00007$:\InsetSpace ~
-movx @dptr,a
+movx
+ @dptr,a
 \newline
 \InsetSpace ~
 \InsetSpace ~
@@ -15775,8 +16070,7 @@ djnz r0,00007$
 \InsetSpace ~
 \InsetSpace ~
 \InsetSpace ~
-djnz
- r1,00007$
+djnz r1,00007$
 \newline
 00008$:
 \end_layout
@@ -16069,6 +16363,75 @@ status collapsed
 \end_inset
 
  about MCS51-variants.
+\newline
+
+\end_layout
+
+\begin_layout Standard
+While these initialization modules are meant as generic startup code there
+ might be the need for customization.
+ Let's assume the return value of 
+\emph on
+_sdcc_external_startup()
+\emph default
+ in 
+\emph on
+crtstart.asm
+\emph default
+ should not be checked (or 
+\emph on
+_sdcc_external_startup()
+\emph default
+ should not be called at all).
+ The recommended way would be to copy 
+\emph on
+crtstart.asm
+\emph default
+ (f.e.
+ from 
+\begin_inset LatexCommand \url{http://sdcc.svn.sourceforge.net/viewvc/*checkout*/sdcc/trunk/sdcc/device/lib/mcs51/crtstart.asm}
+
+\end_inset
+
+) into the source directory, adapt it there, then assemble it with 
+\emph on
+asx8051 -plosgff
+\begin_inset Foot
+status open
+
+\begin_layout Standard
+\begin_inset Quotes sld
+\end_inset
+
+-plosgff
+\begin_inset Quotes srd
+\end_inset
+
+ are the assembler options used in 
+\begin_inset LatexCommand \url{http://sdcc.svn.sourceforge.net/viewvc/sdcc/trunk/sdcc/device/lib/mcs51/Makefile.in?view=markup }
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+ crtstart.asm
+\emph default
+ and when linking your project explicitely specify 
+\emph on
+crtstart.rel
+\emph default
+.
+ As a bonus a listing of the relocated object file 
+\emph on
+crtstart.rst
+\emph default
+ is generated.
+\end_layout
+
+\begin_layout Standard
 \begin_inset VSpace bigskip
 \end_inset
 
@@ -21368,7 +21731,7 @@ less_pedantic
 
 \end_inset
 
-- the compiler will not warn you anymore for obvious mistakes, you'r on
+- the compiler will not warn you anymore for obvious mistakes, you're on
  your own now ;-( .
  See also the command line option -
 \begin_inset ERT
@@ -22133,7 +22496,7 @@ int foo ()
 
 \begin_layout Standard
 The compiler will generate a warning message when extra space is allocated.
- It is strongly recommended that the save and restore pragma's be used when
+ It is strongly recommended that the save and restore pragmas be used when
  changing options for a function.
 \newline
 
@@ -22837,29 +23200,34 @@ The HC08 port passes the regression test suite (see section
 \end_layout
 
 \begin_layout Section
-The PIC14 port
-\end_layout
+The PIC14
+\begin_inset LatexCommand \index{PIC14}
 
-\begin_layout Standard
-The PIC14 port adds support for Microchip(TM)'s 14
-\begin_inset ERT
-status open
+\end_inset
+
+ port
+\end_layout
 
 \begin_layout Standard
+The PIC14 port adds support for Microchip
+\begin_inset LatexCommand \index{Microchip}
 
+\end_inset
 
-\backslash
-,
-\end_layout
 
+\begin_inset Formula $^{\text{TM}}$
 \end_inset
 
-bit PIC
+ PIC
 \begin_inset LatexCommand \index{PIC14}
 
 \end_inset
 
- MCUs.
+
+\begin_inset Formula $^{\text{TM}}$
+\end_inset
+
+ MCUs with 14 bit wide instructions.
  This port is not yet mature and still lacks many features.
  However, it can work for simple code.
 \end_layout
@@ -22972,7 +23340,7 @@ For devices that have multiple code pages it is more efficient to use the
 
 \begin_layout Enumerate
 And as for any 8 bit micro (especially for PIC14 as they have a very simple
- instruction set), use 'unsigned char' wherever possible instead of 'int'.
+ instruction set), use `unsigned char' wherever possible instead of `int'.
 \end_layout
 
 \begin_layout Subsection
@@ -23045,7 +23413,7 @@ Interrupt Code
 \end_layout
 
 \begin_layout Standard
-For the interrupt function, use the keyword '__interrupt'
+For the interrupt function, use the keyword `__interrupt'
 \begin_inset LatexCommand \index{PIC14!interrupt}
 
 \end_inset
@@ -23329,15 +23697,7 @@ device/lib
 \end_layout
 
 \begin_layout Subsubsection
-error: missing definition for symbol 
-\begin_inset Quotes sld
-\end_inset
-
-__gptrget1
-\begin_inset Quotes srd
-\end_inset
-
-
+error: missing definition for symbol ``__gptrget1''
 \end_layout
 
 \begin_layout Standard
@@ -23360,15 +23720,7 @@ libsdcc.lib
 \end_layout
 
 \begin_layout Subsubsection
-Processor mismatch in file 
-\begin_inset Quotes sld
-\end_inset
-
-XXX
-\begin_inset Quotes srd
-\end_inset
-
-.
+Processor mismatch in file ``XXX''.
 \end_layout
 
 \begin_layout Standard
@@ -23452,20 +23804,27 @@ The PIC16
 \end_layout
 
 \begin_layout Standard
-The PIC16
-\begin_inset LatexCommand \index{PIC16}
+The PIC16 port adds support for Microchip
+\begin_inset LatexCommand \index{Microchip}
 
 \end_inset
 
- port is the portion of SDCC that is responsible to produce code for the
- Microchip
-\begin_inset LatexCommand \index{Microchip}
 
+\begin_inset Formula $^{\text{TM}}$
 \end_inset
 
-(TM) microcontrollers with 16 bit core.
- Currently this family of microcontrollers contains the PIC18Fxxx and PIC18Fxxxx.
- Currently supported devices are:
+ PIC
+\begin_inset LatexCommand \index{PIC}
+
+\end_inset
+
+
+\begin_inset Formula $^{\text{TM}}$
+\end_inset
+
+ MCUs with 16 bit wide instructions.
+ Currently this family of microcontrollers contains the PIC18Fxxx and PIC18Fxxxx
+; devices supported by the port include:
 \end_layout
 
 \begin_layout Standard
@@ -23477,11 +23836,13 @@ The PIC16
 \end_layout
 
 \begin_layout Standard
-18F: 2220, 2221, 2320, 2321, 2331, 2431, 2455, 2525, 2550, 2620
+18F: 2220, 2221, 2320, 2321, 2331, 2431, 2455, 24j10, 2525, 2550, 25j10,
+ 2620
 \end_layout
 
 \begin_layout Standard
-18F: 4220, 4221, 4320, 4321, 4331, 4431, 4455, 4520, 4525, 4550, 4620
+18F: 4220, 4221, 4320, 4321, 4331, 4431, 4455, 44j10, 4520, 4525, 4550,
+ 45j10, 4620
 \end_layout
 
 \begin_layout Standard
@@ -26093,7 +26454,7 @@ not
  Address of the specific interrupt.
  This is not a problem for the LOW priority interrupts, but it is a problem
  for the RESET and the HIGH priority interrupts because code may be written
- at the next interrupt´s vector address and cause undeterminate program
+ at the next interrupt's vector address and cause undeterminate program
  behaviour if that interrupt is raised.
 \begin_inset Foot
 status open
@@ -26111,7 +26472,7 @@ disabled
 \end_layout
 
 \begin_layout Enumerate
-when the ISR is small enough not to reach the next interrupt´s vector address.
+when the ISR is small enough not to reach the next interrupt's vector address.
 \end_layout
 
 \end_inset
@@ -26124,7 +26485,7 @@ when the ISR is small enough not to reach the next interrupt
 \emph on
 n
 \emph default
is possible to be omitted.
may be omitted.
  This way a function is generated similar to an ISR, but it is not assigned
  to any interrupt.
 \end_layout
@@ -30711,11 +31072,11 @@ Related open source tools
 \begin_layout Standard
 \align left
 \begin_inset Tabular
-<lyxtabular version="3" rows="14" columns="3">
+<lyxtabular version="3" rows="16" columns="3">
 <features>
 <column alignment="left" valignment="top" leftline="true" width="0pt">
 <column alignment="block" valignment="top" leftline="true" width="30line%">
-<column alignment="left" valignment="top" leftline="true" rightline="true" width="0pt">
+<column alignment="left" valignment="top" leftline="true" rightline="true" width="40col%">
 <row topline="true" bottomline="true">
 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
 \begin_inset Text
@@ -31222,6 +31583,111 @@ Debugger, serves nicely as GUI to SDCDB
 \end_inset
 
 
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+d52
+\begin_inset LatexCommand \index{d52}
+
+\end_inset
+
+
+\begin_inset LatexCommand \index{d52 (disassembler)}
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Disassembler, can count instruction cycles
+\begin_inset LatexCommand \index{instruction cycles (count)}
+
+\end_inset
+
+, use with options -pnd
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset LatexCommand \url{http://www.8052.com/users/disasm/}
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+</row>
+<row bottomline="true">
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+cmake
+\begin_inset LatexCommand \index{cmake}
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+Cross platform build system, generates Makefiles
+\begin_inset LatexCommand \index{Makefile}
+
+\end_inset
+
+ and project workspaces
+\begin_inset LatexCommand \index{project workspace}
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+</cell>
+<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+\begin_inset Text
+
+\begin_layout Standard
+\begin_inset LatexCommand \url{http://www.cmake.org}
+
+\end_inset
+
+ \InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+\InsetSpace ~
+and a dedicated wiki entry: 
+\begin_inset LatexCommand \url{http://www.cmake.org/Wiki/CmakeSdcc}
+
+\end_inset
+
+
 \end_layout
 
 \end_inset
@@ -32248,7 +32714,24 @@ Subversion Source Code Repository
 The output of 
 \family sans
 \series bold
-sdcc --version
+sdcc -
+\family default
+
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+/
+\end_layout
+
+\end_inset
+
+
+\family sans
+-version
 \family default
 \series default
  or the filenames of the snapshot versions of SDCC include date and its
@@ -32305,18 +32788,18 @@ Historically there often were long delays between official releases and
 \end_inset
 
 .
A release wiki
The SDCC Wiki
 \begin_inset LatexCommand \index{wiki}
 
 \end_inset
 
 
-\begin_inset LatexCommand \index{Release wiki}
+\begin_inset LatexCommand \index{SDCC Wiki}
 
 \end_inset
 
  at 
-\begin_inset LatexCommand \url{http://sdcc.sf.net/release_wiki/}
+\begin_inset LatexCommand \url{http://sdcc.wiki.sourceforge.net/}
 
 \end_inset
 
@@ -35476,6 +35959,34 @@ replace { lcall %1 } by { acall %1 }
 replace { ljmp %1 } by { ajmp %1 }
 \end_layout
 
+\begin_layout Standard
+(NOTE: from version 2.7.3 on, you can use option -
+\emph on
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+/
+\end_layout
+
+\end_inset
+
+
+\emph default
+-acall-ajmp
+\begin_inset LatexCommand \index{-\/-acall-ajmp}
+
+\end_inset
+
+, which also takes care of aligning the interrupt vectors properly.)
+\newline
+
+\end_layout
+
 \begin_layout Standard
 The 
 \emph on
@@ -36230,13 +36741,13 @@ As mentioned in the optimization section the peep-hole optimizer is rule
 \end_layout
 
 \begin_layout Standard
-More information is available in a wiki
+More information is available on SDCC Wiki
 \begin_inset LatexCommand \index{wiki}
 
 \end_inset
 
  (preliminary link 
-\begin_inset LatexCommand \url{http://sdcc.sourceforge.net/release_wiki/index.php?page=SDCC+internals+and+porting}
+\begin_inset LatexCommand \url{http://sdcc.wiki.sourceforge.net/SDCC+internals+and+porting}
 
 \end_inset