delete files compiled from lyx
authorbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 8 Feb 2003 22:02:32 +0000 (22:02 +0000)
committerbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 8 Feb 2003 22:02:32 +0000 (22:02 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2226 4a8a32a2-be11-0410-ad9d-d568d2c75423

85 files changed:
doc/Makefile
doc/sdccman.html/WARNINGS [deleted file]
doc/sdccman.html/contents_motif.gif [deleted file]
doc/sdccman.html/footnode.html [deleted file]
doc/sdccman.html/index.html [deleted file]
doc/sdccman.html/index_motif.gif [deleted file]
doc/sdccman.html/next_motif.gif [deleted file]
doc/sdccman.html/next_motif_gr.gif [deleted file]
doc/sdccman.html/node1.html [deleted file]
doc/sdccman.html/node10.html [deleted file]
doc/sdccman.html/node11.html [deleted file]
doc/sdccman.html/node12.html [deleted file]
doc/sdccman.html/node13.html [deleted file]
doc/sdccman.html/node14.html [deleted file]
doc/sdccman.html/node15.html [deleted file]
doc/sdccman.html/node16.html [deleted file]
doc/sdccman.html/node17.html [deleted file]
doc/sdccman.html/node18.html [deleted file]
doc/sdccman.html/node19.html [deleted file]
doc/sdccman.html/node2.html [deleted file]
doc/sdccman.html/node20.html [deleted file]
doc/sdccman.html/node21.html [deleted file]
doc/sdccman.html/node22.html [deleted file]
doc/sdccman.html/node23.html [deleted file]
doc/sdccman.html/node24.html [deleted file]
doc/sdccman.html/node25.html [deleted file]
doc/sdccman.html/node26.html [deleted file]
doc/sdccman.html/node27.html [deleted file]
doc/sdccman.html/node28.html [deleted file]
doc/sdccman.html/node29.html [deleted file]
doc/sdccman.html/node3.html [deleted file]
doc/sdccman.html/node30.html [deleted file]
doc/sdccman.html/node31.html [deleted file]
doc/sdccman.html/node32.html [deleted file]
doc/sdccman.html/node33.html [deleted file]
doc/sdccman.html/node34.html [deleted file]
doc/sdccman.html/node35.html [deleted file]
doc/sdccman.html/node36.html [deleted file]
doc/sdccman.html/node37.html [deleted file]
doc/sdccman.html/node38.html [deleted file]
doc/sdccman.html/node39.html [deleted file]
doc/sdccman.html/node4.html [deleted file]
doc/sdccman.html/node40.html [deleted file]
doc/sdccman.html/node41.html [deleted file]
doc/sdccman.html/node42.html [deleted file]
doc/sdccman.html/node43.html [deleted file]
doc/sdccman.html/node44.html [deleted file]
doc/sdccman.html/node45.html [deleted file]
doc/sdccman.html/node46.html [deleted file]
doc/sdccman.html/node47.html [deleted file]
doc/sdccman.html/node48.html [deleted file]
doc/sdccman.html/node49.html [deleted file]
doc/sdccman.html/node5.html [deleted file]
doc/sdccman.html/node50.html [deleted file]
doc/sdccman.html/node51.html [deleted file]
doc/sdccman.html/node52.html [deleted file]
doc/sdccman.html/node53.html [deleted file]
doc/sdccman.html/node54.html [deleted file]
doc/sdccman.html/node55.html [deleted file]
doc/sdccman.html/node56.html [deleted file]
doc/sdccman.html/node57.html [deleted file]
doc/sdccman.html/node58.html [deleted file]
doc/sdccman.html/node59.html [deleted file]
doc/sdccman.html/node6.html [deleted file]
doc/sdccman.html/node60.html [deleted file]
doc/sdccman.html/node61.html [deleted file]
doc/sdccman.html/node62.html [deleted file]
doc/sdccman.html/node7.html [deleted file]
doc/sdccman.html/node8.html [deleted file]
doc/sdccman.html/node9.html [deleted file]
doc/sdccman.html/previous_motif.gif [deleted file]
doc/sdccman.html/previous_motif_gr.gif [deleted file]
doc/sdccman.html/sdccman.html [deleted file]
doc/sdccman.html/up_motif.gif [deleted file]
doc/sdccman.html/up_motif_gr.gif [deleted file]
doc/sdccman.pdf [deleted file]
doc/sdccman.txt [deleted file]
doc/test_suite_spec.html/WARNINGS [deleted file]
doc/test_suite_spec.html/index.html [deleted file]
doc/test_suite_spec.html/next_group_motif_gr.gif [deleted file]
doc/test_suite_spec.html/previous_motif_gr.gif [deleted file]
doc/test_suite_spec.html/test_suite_spec.html [deleted file]
doc/test_suite_spec.html/up_motif_gr.gif [deleted file]
doc/test_suite_spec.pdf [deleted file]
doc/test_suite_spec.txt [deleted file]

index 72b79f61bd24486920837f4f97b8f25791156f53..6f1b3cee755bd65d3954ac850b79b4af536b5ac2 100644 (file)
@@ -15,16 +15,18 @@ uninstall:
 
 
 $(MANUAL).html: $(MANUAL).tex $(MANUAL).ind ;#$(MANUAL).glo
+       mkdir -p $@
        latex2html -split 5 -show_section_numbers -dir $(MANUAL).html $(MANUAL)
 
 $(TSS).html: $(TSS).tex
+       mkdir -p $@
        latex2html -split 0 -dir $(TSS).html $(TSS)
 
 %.txt: %.lyx
        lyx -e text $<
 
 %.pdf: %.dvi
-       pdflatex $*
+       which pdflatex > /dev/null && pdflatex $* || dvipdf $*
 
 %.dvi: %.tex
        latex $<
@@ -39,4 +41,22 @@ $(TSS).html: $(TSS).tex
        # the glossary, not implemented yet
        # makeindex -s l2hglo.ist -o $@ $<
 
-include clean.mk
+# Deleting all files created by building the program
+# --------------------------------------------------
+clean:
+       rm -rf $(MANUAL).html $(TSS).html
+       rm -f $(MANUAL).txt $(TSS).txt *.pdf *.dvi *.tex *.ind *.glo *.aux *.idx *.ilg *.log *.toc
+
+# Deleting all files created by configuring or building the program
+# -----------------------------------------------------------------
+distclean: clean
+
+# Like clean but some files may still exist
+# -----------------------------------------
+mostlyclean: clean
+
+# Deleting everything that can reconstructed by this Makefile. It deletes
+# everything deleted by distclean plus files created by bison, etc.
+# -----------------------------------------------------------------------
+realclean: distclean
+
diff --git a/doc/sdccman.html/WARNINGS b/doc/sdccman.html/WARNINGS
deleted file mode 100644 (file)
index 56ef1e5..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-No implementation found for style `fontenc'
-No implementation found for style `fancyhdr'
-No implementation found for style `url'
-
-redefining command \url 
-
-previous meaning of \url will be lost
-
-There is no author for this document.
diff --git a/doc/sdccman.html/contents_motif.gif b/doc/sdccman.html/contents_motif.gif
deleted file mode 100644 (file)
index 7b3c904..0000000
Binary files a/doc/sdccman.html/contents_motif.gif and /dev/null differ
diff --git a/doc/sdccman.html/footnode.html b/doc/sdccman.html/footnode.html
deleted file mode 100644 (file)
index 1788fc8..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Footnotes</TITLE>
-<META NAME="description" CONTENT="Footnotes">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="previous" HREF="node61.html">
-<LINK REL="up" HREF="sdccman.html">
-</HEAD>
-
-<BODY >
-
-<DL>
-<DT><A NAME="foot531">...
-anyway</A><A NAME="foot531"
- HREF="node29.html#tex2html1"><SUP>1</SUP></A>
-<DD>possible exception: if a function is called ONLY from 'interrupt'
-functions using a particular bank, it can be declared with the same
-'using' attribute as the calling 'interrupt' functions. For instance,
-if you have several ISRs using bank one, and all of them call memcpy(),
-it might make sense to create a specialized version of memcpy() 'using
-1', since this would prevent the ISR from having to save bank zero
-to the stack on entry and switch to bank zero before calling the function
-
-<PRE>.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-</PRE>
-</DL>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/index.html b/doc/sdccman.html/index.html
deleted file mode 100644 (file)
index de73f32..0000000
+++ /dev/null
@@ -1,348 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>SDCC Compiler User Guide</TITLE>
-<META NAME="description" CONTENT="SDCC Compiler User Guide">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node1.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html6"
- HREF="node1.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif_gr.gif"> 
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif_gr.gif"> 
-<A NAME="tex2html2"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html4"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html7"
- HREF="node1.html">Contents</A>
- &nbsp <B>  <A NAME="tex2html3"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html5"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<P>
-
-<P>
-<H1 ALIGN="CENTER">SDCC Compiler User Guide</H1>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"></A>
-
-<UL>
-<LI><A NAME="tex2html8"
- HREF="node1.html">Contents</A>
-<LI><A NAME="tex2html9"
- HREF="node2.html">1. Introduction</A>
-<UL>
-<LI><A NAME="tex2html10"
- HREF="node3.html">1.1 About SDCC</A>
-<LI><A NAME="tex2html11"
- HREF="node4.html">1.2 Open Source</A>
-<LI><A NAME="tex2html12"
- HREF="node5.html">1.3 Typographic conventions</A>
-<LI><A NAME="tex2html13"
- HREF="node6.html">1.4 Compatibility with previous versions</A>
-<LI><A NAME="tex2html14"
- HREF="node7.html">1.5 System Requirements</A>
-<LI><A NAME="tex2html15"
- HREF="node8.html">1.6 Other Resources</A>
-<LI><A NAME="tex2html16"
- HREF="node9.html">1.7 Wishes for the future</A>
-</UL>
-<LI><A NAME="tex2html17"
- HREF="node10.html">2. Installation</A>
-<UL>
-<LI><A NAME="tex2html18"
- HREF="node11.html">2.1 Linux/Unix Installation</A>
-<LI><A NAME="tex2html19"
- HREF="node12.html">2.2 Windows Installation</A>
-<UL>
-<LI><A NAME="tex2html20"
- HREF="node12.html#SECTION00032100000000000000">2.2.1 Windows Install Using a Binary Package</A>
-<LI><A NAME="tex2html21"
- HREF="node12.html#SECTION00032200000000000000">2.2.2 Windows Install Using Cygwin</A>
-</UL>
-<LI><A NAME="tex2html22"
- HREF="node13.html">2.3 Testing out the SDCC Compiler</A>
-<LI><A NAME="tex2html23"
- HREF="node14.html">2.4 Install Trouble-shooting</A>
-<UL>
-<LI><A NAME="tex2html24"
- HREF="node14.html#SECTION00034100000000000000">2.4.1 SDCC cannot find libraries or header files.</A>
-<LI><A NAME="tex2html25"
- HREF="node14.html#SECTION00034200000000000000">2.4.2 SDCC does not compile correctly.</A>
-<LI><A NAME="tex2html26"
- HREF="node14.html#SECTION00034300000000000000">2.4.3 What the ''./configure'' does</A>
-<LI><A NAME="tex2html27"
- HREF="node14.html#SECTION00034400000000000000">2.4.4 What the ''make'' does.</A>
-<LI><A NAME="tex2html28"
- HREF="node14.html#SECTION00034500000000000000">2.4.5 What the ''make install'' command does.</A>
-</UL>
-<LI><A NAME="tex2html29"
- HREF="node15.html">2.5 Additional Information for Windows Users</A>
-<UL>
-<LI><A NAME="tex2html30"
- HREF="node15.html#SECTION00035100000000000000">2.5.1 Getting started with Cygwin</A>
-<LI><A NAME="tex2html31"
- HREF="node15.html#SECTION00035200000000000000">2.5.2 Running SDCC as Native Compiled Executables</A>
-</UL>
-<LI><A NAME="tex2html32"
- HREF="node16.html">2.6 SDCC on Other Platforms</A>
-<LI><A NAME="tex2html33"
- HREF="node17.html">2.7 Advanced Install Options</A>
-<LI><A NAME="tex2html34"
- HREF="node18.html">2.8 Components of SDCC</A>
-<UL>
-<LI><A NAME="tex2html35"
- HREF="node18.html#SECTION00038100000000000000">2.8.1 sdcc - The Compiler</A>
-<LI><A NAME="tex2html36"
- HREF="node18.html#SECTION00038200000000000000">2.8.2 sdcpp (C-Preprocessor)</A>
-<LI><A NAME="tex2html37"
- HREF="node18.html#SECTION00038300000000000000">2.8.3 asx8051, as-z80, as-gbz80, aslink, link-z80, link-gbz80 (The Assemblers
-and Linkage Editors)</A>
-<LI><A NAME="tex2html38"
- HREF="node18.html#SECTION00038400000000000000">2.8.4 s51 - Simulator</A>
-<LI><A NAME="tex2html39"
- HREF="node18.html#SECTION00038500000000000000">2.8.5 sdcdb - Source Level Debugger</A>
-</UL>
-</UL>
-<LI><A NAME="tex2html40"
- HREF="node19.html">3. Using SDCC</A>
-<UL>
-<LI><A NAME="tex2html41"
- HREF="node20.html">3.1 Compiling</A>
-<UL>
-<LI><A NAME="tex2html42"
- HREF="node20.html#SECTION00041100000000000000">3.1.1 Single Source File Projects</A>
-<LI><A NAME="tex2html43"
- HREF="node20.html#SECTION00041200000000000000">3.1.2 Projects with Multiple Source Files</A>
-<LI><A NAME="tex2html44"
- HREF="node20.html#SECTION00041300000000000000">3.1.3 Projects with Additional Libraries</A>
-</UL>
-<LI><A NAME="tex2html45"
- HREF="node21.html">3.2 Command Line Options</A>
-<UL>
-<LI><A NAME="tex2html46"
- HREF="node21.html#SECTION00042100000000000000">3.2.1 Processor Selection Options</A>
-<LI><A NAME="tex2html47"
- HREF="node21.html#SECTION00042200000000000000">3.2.2 Preprocessor Options</A>
-<LI><A NAME="tex2html48"
- HREF="node21.html#SECTION00042300000000000000">3.2.3 Linker Options</A>
-<LI><A NAME="tex2html49"
- HREF="node21.html#SECTION00042400000000000000">3.2.4 MCS51 Options</A>
-<LI><A NAME="tex2html50"
- HREF="node21.html#SECTION00042500000000000000">3.2.5 DS390 Options</A>
-<LI><A NAME="tex2html51"
- HREF="node21.html#SECTION00042600000000000000">3.2.6 Optimization Options</A>
-<LI><A NAME="tex2html52"
- HREF="node21.html#SECTION00042700000000000000">3.2.7 Other Options</A>
-<LI><A NAME="tex2html53"
- HREF="node21.html#SECTION00042800000000000000">3.2.8 Intermediate Dump Options</A>
-</UL>
-<LI><A NAME="tex2html54"
- HREF="node22.html">3.3 MCS51/DS390 Storage Class Language Extensions</A>
-<UL>
-<LI><A NAME="tex2html55"
- HREF="node22.html#SECTION00043100000000000000">3.3.1 xdata</A>
-<LI><A NAME="tex2html56"
- HREF="node22.html#SECTION00043200000000000000">3.3.2 data</A>
-<LI><A NAME="tex2html57"
- HREF="node22.html#SECTION00043300000000000000">3.3.3 idata</A>
-<LI><A NAME="tex2html58"
- HREF="node22.html#SECTION00043400000000000000">3.3.4 bit</A>
-<LI><A NAME="tex2html59"
- HREF="node22.html#SECTION00043500000000000000">3.3.5 sfr / sbit</A>
-</UL>
-<LI><A NAME="tex2html60"
- HREF="node23.html">3.4 Pointers</A>
-<LI><A NAME="tex2html61"
- HREF="node24.html">3.5 Parameters &amp; Local Variables</A>
-<LI><A NAME="tex2html62"
- HREF="node25.html">3.6 Overlaying</A>
-<LI><A NAME="tex2html63"
- HREF="node26.html">3.7 Interrupt Service Routines</A>
-<LI><A NAME="tex2html64"
- HREF="node27.html">3.8 Critical Functions</A>
-<LI><A NAME="tex2html65"
- HREF="node28.html">3.9 Naked Functions</A>
-<LI><A NAME="tex2html66"
- HREF="node29.html">3.10 Functions using private banks</A>
-<LI><A NAME="tex2html67"
- HREF="node30.html">3.11 Absolute Addressing</A>
-<LI><A NAME="tex2html68"
- HREF="node31.html">3.12 Startup Code</A>
-<LI><A NAME="tex2html69"
- HREF="node32.html">3.13 Inline Assembler Code</A>
-<LI><A NAME="tex2html70"
- HREF="node33.html">3.14 int(16 bit) and long (32 bit) Support</A>
-<LI><A NAME="tex2html71"
- HREF="node34.html">3.15 Floating Point Support</A>
-<LI><A NAME="tex2html72"
- HREF="node35.html">3.16 MCS51 Memory Models</A>
-<LI><A NAME="tex2html73"
- HREF="node36.html">3.17 DS390 Memory Models</A>
-<LI><A NAME="tex2html74"
- HREF="node37.html">3.18 Defines Created by the Compiler</A>
-</UL>
-<LI><A NAME="tex2html75"
- HREF="node38.html">4. SDCC Technical Data</A>
-<UL>
-<LI><A NAME="tex2html76"
- HREF="node39.html">4.1 Optimizations</A>
-<UL>
-<LI><A NAME="tex2html77"
- HREF="node39.html#SECTION00051100000000000000">4.1.1 Sub-expression Elimination</A>
-<LI><A NAME="tex2html78"
- HREF="node39.html#SECTION00051200000000000000">4.1.2 Dead-Code Elimination</A>
-<LI><A NAME="tex2html79"
- HREF="node39.html#SECTION00051300000000000000">4.1.3 Copy-Propagation</A>
-<LI><A NAME="tex2html80"
- HREF="node39.html#SECTION00051400000000000000">4.1.4 Loop Optimizations</A>
-<LI><A NAME="tex2html81"
- HREF="node39.html#SECTION00051500000000000000">4.1.5 Loop Reversing</A>
-<LI><A NAME="tex2html82"
- HREF="node39.html#SECTION00051600000000000000">4.1.6 Algebraic Simplifications</A>
-<LI><A NAME="tex2html83"
- HREF="node39.html#SECTION00051700000000000000">4.1.7 'switch' Statements</A>
-<LI><A NAME="tex2html84"
- HREF="node39.html#SECTION00051800000000000000">4.1.8 Bit-shifting Operations.</A>
-<LI><A NAME="tex2html85"
- HREF="node39.html#SECTION00051900000000000000">4.1.9 Bit-rotation</A>
-<LI><A NAME="tex2html86"
- HREF="node39.html#SECTION000511000000000000000">4.1.10 Highest Order Bit</A>
-<LI><A NAME="tex2html87"
- HREF="node39.html#SECTION000511100000000000000">4.1.11 Peep-hole Optimizer</A>
-</UL>
-<LI><A NAME="tex2html88"
- HREF="node40.html">4.2 Pragmas</A>
-<LI><A NAME="tex2html89"
- HREF="node41.html">4.3 <I>&lt;pending: this is messy and incomplete&gt;</I> Library Routines</A>
-<LI><A NAME="tex2html90"
- HREF="node42.html">4.4 Interfacing with Assembly Routines</A>
-<UL>
-<LI><A NAME="tex2html91"
- HREF="node42.html#SECTION00054100000000000000">4.4.1 Global Registers used for Parameter Passing</A>
-<LI><A NAME="tex2html92"
- HREF="node42.html#SECTION00054200000000000000">4.4.2 Assembler Routine(non-reentrant)</A>
-<LI><A NAME="tex2html93"
- HREF="node42.html#SECTION00054300000000000000">4.4.3 Assembler Routine(reentrant)</A>
-</UL>
-<LI><A NAME="tex2html94"
- HREF="node43.html">4.5 External Stack</A>
-<LI><A NAME="tex2html95"
- HREF="node44.html">4.6 ANSI-Compliance</A>
-<LI><A NAME="tex2html96"
- HREF="node45.html">4.7 Cyclomatic Complexity</A>
-</UL>
-<LI><A NAME="tex2html97"
- HREF="node46.html">5. TIPS</A>
-<UL>
-<LI><A NAME="tex2html98"
- HREF="node47.html">5.1 Notes on MCS51 memory layout</A>
-</UL>
-<LI><A NAME="tex2html99"
- HREF="node48.html">6. Retargetting for other MCUs.</A>
-<LI><A NAME="tex2html100"
- HREF="node49.html">7. SDCDB - Source Level Debugger</A>
-<UL>
-<LI><A NAME="tex2html101"
- HREF="node50.html">7.1 Compiling for Debugging</A>
-<LI><A NAME="tex2html102"
- HREF="node51.html">7.2 How the Debugger Works</A>
-<LI><A NAME="tex2html103"
- HREF="node52.html">7.3 Starting the Debugger</A>
-<LI><A NAME="tex2html104"
- HREF="node53.html">7.4 Command Line Options.</A>
-<LI><A NAME="tex2html105"
- HREF="node54.html">7.5 Debugger Commands.</A>
-<UL>
-<LI><A NAME="tex2html106"
- HREF="node54.html#SECTION00085100000000000000">7.5.1 break [line | file:line | function | file:function]</A>
-<LI><A NAME="tex2html107"
- HREF="node54.html#SECTION00085200000000000000">7.5.2 clear [line | file:line | function | file:function ]</A>
-<LI><A NAME="tex2html108"
- HREF="node54.html#SECTION00085300000000000000">7.5.3 continue</A>
-<LI><A NAME="tex2html109"
- HREF="node54.html#SECTION00085400000000000000">7.5.4 finish</A>
-<LI><A NAME="tex2html110"
- HREF="node54.html#SECTION00085500000000000000">7.5.5 delete [n]</A>
-<LI><A NAME="tex2html111"
- HREF="node54.html#SECTION00085600000000000000">7.5.6 info [break | stack | frame | registers ]</A>
-<LI><A NAME="tex2html112"
- HREF="node54.html#SECTION00085700000000000000">7.5.7 step</A>
-<LI><A NAME="tex2html113"
- HREF="node54.html#SECTION00085800000000000000">7.5.8 next</A>
-<LI><A NAME="tex2html114"
- HREF="node54.html#SECTION00085900000000000000">7.5.9 run</A>
-<LI><A NAME="tex2html115"
- HREF="node54.html#SECTION000851000000000000000">7.5.10 ptype variable </A>
-<LI><A NAME="tex2html116"
- HREF="node54.html#SECTION000851100000000000000">7.5.11 print variable</A>
-<LI><A NAME="tex2html117"
- HREF="node54.html#SECTION000851200000000000000">7.5.12 file filename</A>
-<LI><A NAME="tex2html118"
- HREF="node54.html#SECTION000851300000000000000">7.5.13 frame</A>
-<LI><A NAME="tex2html119"
- HREF="node54.html#SECTION000851400000000000000">7.5.14 set srcmode</A>
-<LI><A NAME="tex2html120"
- HREF="node54.html#SECTION000851500000000000000">7.5.15 ! simulator command</A>
-<LI><A NAME="tex2html121"
- HREF="node54.html#SECTION000851600000000000000">7.5.16 quit.</A>
-</UL>
-<LI><A NAME="tex2html122"
- HREF="node55.html">7.6 Interfacing with XEmacs.</A>
-</UL>
-<LI><A NAME="tex2html123"
- HREF="node56.html">8. Other Processors</A>
-<UL>
-<LI><A NAME="tex2html124"
- HREF="node57.html">8.1 The Z80 and gbz80 port</A>
-</UL>
-<LI><A NAME="tex2html125"
- HREF="node58.html">9. Support</A>
-<UL>
-<LI><A NAME="tex2html126"
- HREF="node59.html">9.1 Reporting Bugs</A>
-</UL>
-<LI><A NAME="tex2html127"
- HREF="node60.html">10. Acknowledgments</A>
-<LI><A NAME="tex2html128"
- HREF="node61.html">Index</A>
-<LI><A NAME="tex2html129"
- HREF="node62.html">About this document ...</A>
-</UL>
-<!--End of Table of Child-Links-->
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/index_motif.gif b/doc/sdccman.html/index_motif.gif
deleted file mode 100644 (file)
index b9b3108..0000000
Binary files a/doc/sdccman.html/index_motif.gif and /dev/null differ
diff --git a/doc/sdccman.html/next_motif.gif b/doc/sdccman.html/next_motif.gif
deleted file mode 100644 (file)
index 928a32d..0000000
Binary files a/doc/sdccman.html/next_motif.gif and /dev/null differ
diff --git a/doc/sdccman.html/next_motif_gr.gif b/doc/sdccman.html/next_motif_gr.gif
deleted file mode 100644 (file)
index 011fa04..0000000
Binary files a/doc/sdccman.html/next_motif_gr.gif and /dev/null differ
diff --git a/doc/sdccman.html/node1.html b/doc/sdccman.html/node1.html
deleted file mode 100644 (file)
index 403f432..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Contents</TITLE>
-<META NAME="description" CONTENT="Contents">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node2.html">
-<LINK REL="previous" HREF="sdccman.html">
-<LINK REL="up" HREF="sdccman.html">
-<LINK REL="next" HREF="node2.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html140"
- HREF="node2.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html136"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html130"
- HREF="sdccman.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>  
-<A NAME="tex2html138"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html141"
- HREF="node2.html">1. Introduction</A>
-<B> Up:</B> <A NAME="tex2html137"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html131"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
- &nbsp <B>  <A NAME="tex2html139"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-<BR>
-
-<H2><A NAME="SECTION00010000000000000000">
-Contents</A>
-</H2>
-<!--Table of Contents-->
-
-<UL>
-<LI><A NAME="tex2html142"
- HREF="node1.html">Contents</A>
-<LI><A NAME="tex2html143"
- HREF="node2.html">1. Introduction</A>
-<UL>
-<LI><A NAME="tex2html144"
- HREF="node3.html">1.1 About SDCC</A>
-<LI><A NAME="tex2html145"
- HREF="node4.html">1.2 Open Source</A>
-<LI><A NAME="tex2html146"
- HREF="node5.html">1.3 Typographic conventions</A>
-<LI><A NAME="tex2html147"
- HREF="node6.html">1.4 Compatibility with previous versions</A>
-<LI><A NAME="tex2html148"
- HREF="node7.html">1.5 System Requirements</A>
-<LI><A NAME="tex2html149"
- HREF="node8.html">1.6 Other Resources</A>
-<LI><A NAME="tex2html150"
- HREF="node9.html">1.7 Wishes for the future</A>
-</UL>
-<LI><A NAME="tex2html151"
- HREF="node10.html">2. Installation</A>
-<UL>
-<LI><A NAME="tex2html152"
- HREF="node11.html">2.1 Linux/Unix Installation</A>
-<LI><A NAME="tex2html153"
- HREF="node12.html">2.2 Windows Installation</A>
-<LI><A NAME="tex2html154"
- HREF="node13.html">2.3 Testing out the SDCC Compiler</A>
-<LI><A NAME="tex2html155"
- HREF="node14.html">2.4 Install Trouble-shooting</A>
-<LI><A NAME="tex2html156"
- HREF="node15.html">2.5 Additional Information for Windows Users</A>
-<LI><A NAME="tex2html157"
- HREF="node16.html">2.6 SDCC on Other Platforms</A>
-<LI><A NAME="tex2html158"
- HREF="node17.html">2.7 Advanced Install Options</A>
-<LI><A NAME="tex2html159"
- HREF="node18.html">2.8 Components of SDCC</A>
-</UL>
-<LI><A NAME="tex2html160"
- HREF="node19.html">3. Using SDCC</A>
-<UL>
-<LI><A NAME="tex2html161"
- HREF="node20.html">3.1 Compiling</A>
-<LI><A NAME="tex2html162"
- HREF="node21.html">3.2 Command Line Options</A>
-<LI><A NAME="tex2html163"
- HREF="node22.html">3.3 MCS51/DS390 Storage Class Language Extensions</A>
-<LI><A NAME="tex2html164"
- HREF="node23.html">3.4 Pointers</A>
-<LI><A NAME="tex2html165"
- HREF="node24.html">3.5 Parameters &amp; Local Variables</A>
-<LI><A NAME="tex2html166"
- HREF="node25.html">3.6 Overlaying</A>
-<LI><A NAME="tex2html167"
- HREF="node26.html">3.7 Interrupt Service Routines</A>
-<LI><A NAME="tex2html168"
- HREF="node27.html">3.8 Critical Functions</A>
-<LI><A NAME="tex2html169"
- HREF="node28.html">3.9 Naked Functions</A>
-<LI><A NAME="tex2html170"
- HREF="node29.html">3.10 Functions using private banks</A>
-<LI><A NAME="tex2html171"
- HREF="node30.html">3.11 Absolute Addressing</A>
-<LI><A NAME="tex2html172"
- HREF="node31.html">3.12 Startup Code</A>
-<LI><A NAME="tex2html173"
- HREF="node32.html">3.13 Inline Assembler Code</A>
-<LI><A NAME="tex2html174"
- HREF="node33.html">3.14 int(16 bit) and long (32 bit) Support</A>
-<LI><A NAME="tex2html175"
- HREF="node34.html">3.15 Floating Point Support</A>
-<LI><A NAME="tex2html176"
- HREF="node35.html">3.16 MCS51 Memory Models</A>
-<LI><A NAME="tex2html177"
- HREF="node36.html">3.17 DS390 Memory Models</A>
-<LI><A NAME="tex2html178"
- HREF="node37.html">3.18 Defines Created by the Compiler</A>
-</UL>
-<LI><A NAME="tex2html179"
- HREF="node38.html">4. SDCC Technical Data</A>
-<UL>
-<LI><A NAME="tex2html180"
- HREF="node39.html">4.1 Optimizations</A>
-<LI><A NAME="tex2html181"
- HREF="node40.html">4.2 Pragmas</A>
-<LI><A NAME="tex2html182"
- HREF="node41.html">4.3 &lt;pending: this is messy and incomplete&gt; Library Routines</A>
-<LI><A NAME="tex2html183"
- HREF="node42.html">4.4 Interfacing with Assembly Routines</A>
-<LI><A NAME="tex2html184"
- HREF="node43.html">4.5 External Stack</A>
-<LI><A NAME="tex2html185"
- HREF="node44.html">4.6 ANSI-Compliance</A>
-<LI><A NAME="tex2html186"
- HREF="node45.html">4.7 Cyclomatic Complexity</A>
-</UL>
-<LI><A NAME="tex2html187"
- HREF="node46.html">5. TIPS</A>
-<UL>
-<LI><A NAME="tex2html188"
- HREF="node47.html">5.1 Notes on MCS51 memory layout</A>
-</UL>
-<LI><A NAME="tex2html189"
- HREF="node48.html">6. Retargetting for other MCUs.</A>
-<LI><A NAME="tex2html190"
- HREF="node49.html">7. SDCDB - Source Level Debugger</A>
-<UL>
-<LI><A NAME="tex2html191"
- HREF="node50.html">7.1 Compiling for Debugging</A>
-<LI><A NAME="tex2html192"
- HREF="node51.html">7.2 How the Debugger Works</A>
-<LI><A NAME="tex2html193"
- HREF="node52.html">7.3 Starting the Debugger</A>
-<LI><A NAME="tex2html194"
- HREF="node53.html">7.4 Command Line Options.</A>
-<LI><A NAME="tex2html195"
- HREF="node54.html">7.5 Debugger Commands.</A>
-<LI><A NAME="tex2html196"
- HREF="node55.html">7.6 Interfacing with XEmacs.</A>
-</UL>
-<LI><A NAME="tex2html197"
- HREF="node56.html">8. Other Processors</A>
-<UL>
-<LI><A NAME="tex2html198"
- HREF="node57.html">8.1 The Z80 and gbz80 port</A>
-</UL>
-<LI><A NAME="tex2html199"
- HREF="node58.html">9. Support</A>
-<UL>
-<LI><A NAME="tex2html200"
- HREF="node59.html">9.1 Reporting Bugs</A>
-</UL>
-<LI><A NAME="tex2html201"
- HREF="node60.html">10. Acknowledgments</A>
-<LI><A NAME="tex2html202"
- HREF="node61.html">Index</A>
-</UL>
-<!--End of Table of Contents--> 
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node10.html b/doc/sdccman.html/node10.html
deleted file mode 100644 (file)
index b321e25..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>2. Installation</TITLE>
-<META NAME="description" CONTENT="2. Installation">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node19.html">
-<LINK REL="previous" HREF="node2.html">
-<LINK REL="up" HREF="sdccman.html">
-<LINK REL="next" HREF="node11.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html332"
- HREF="node11.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html326"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html320"
- HREF="node9.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html328"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html330"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html333"
- HREF="node11.html">2.1 Linux/Unix Installation</A>
-<B> Up:</B> <A NAME="tex2html327"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html321"
- HREF="node9.html">1.7 Wishes for the</A>
- &nbsp <B>  <A NAME="tex2html329"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html331"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00030000000000000000">
-2. Installation</A>
-</H1>
-
-<P>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html334"
- HREF="node11.html">2.1 Linux/Unix Installation</A>
-<LI><A NAME="tex2html335"
- HREF="node12.html">2.2 Windows Installation</A>
-<UL>
-<LI><A NAME="tex2html336"
- HREF="node12.html#SECTION00032100000000000000">2.2.1 Windows Install Using a Binary Package</A>
-<LI><A NAME="tex2html337"
- HREF="node12.html#SECTION00032200000000000000">2.2.2 Windows Install Using Cygwin</A>
-</UL>
-<LI><A NAME="tex2html338"
- HREF="node13.html">2.3 Testing out the SDCC Compiler</A>
-<LI><A NAME="tex2html339"
- HREF="node14.html">2.4 Install Trouble-shooting</A>
-<UL>
-<LI><A NAME="tex2html340"
- HREF="node14.html#SECTION00034100000000000000">2.4.1 SDCC cannot find libraries or header files.</A>
-<LI><A NAME="tex2html341"
- HREF="node14.html#SECTION00034200000000000000">2.4.2 SDCC does not compile correctly.</A>
-<LI><A NAME="tex2html342"
- HREF="node14.html#SECTION00034300000000000000">2.4.3 What the ''./configure'' does</A>
-<LI><A NAME="tex2html343"
- HREF="node14.html#SECTION00034400000000000000">2.4.4 What the ''make'' does.</A>
-<LI><A NAME="tex2html344"
- HREF="node14.html#SECTION00034500000000000000">2.4.5 What the ''make install'' command does.</A>
-</UL>
-<LI><A NAME="tex2html345"
- HREF="node15.html">2.5 Additional Information for Windows Users</A>
-<UL>
-<LI><A NAME="tex2html346"
- HREF="node15.html#SECTION00035100000000000000">2.5.1 Getting started with Cygwin</A>
-<LI><A NAME="tex2html347"
- HREF="node15.html#SECTION00035200000000000000">2.5.2 Running SDCC as Native Compiled Executables</A>
-</UL>
-<LI><A NAME="tex2html348"
- HREF="node16.html">2.6 SDCC on Other Platforms</A>
-<LI><A NAME="tex2html349"
- HREF="node17.html">2.7 Advanced Install Options</A>
-<LI><A NAME="tex2html350"
- HREF="node18.html">2.8 Components of SDCC</A>
-<UL>
-<LI><A NAME="tex2html351"
- HREF="node18.html#SECTION00038100000000000000">2.8.1 sdcc - The Compiler</A>
-<LI><A NAME="tex2html352"
- HREF="node18.html#SECTION00038200000000000000">2.8.2 sdcpp (C-Preprocessor)</A>
-<LI><A NAME="tex2html353"
- HREF="node18.html#SECTION00038300000000000000">2.8.3 asx8051, as-z80, as-gbz80, aslink, link-z80, link-gbz80 (The Assemblers
-and Linkage Editors)</A>
-<LI><A NAME="tex2html354"
- HREF="node18.html#SECTION00038400000000000000">2.8.4 s51 - Simulator</A>
-<LI><A NAME="tex2html355"
- HREF="node18.html#SECTION00038500000000000000">2.8.5 sdcdb - Source Level Debugger</A>
-</UL></UL>
-<!--End of Table of Child-Links-->
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node11.html b/doc/sdccman.html/node11.html
deleted file mode 100644 (file)
index 9fb745a..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>2.1 Linux/Unix Installation</TITLE>
-<META NAME="description" CONTENT="2.1 Linux/Unix Installation">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node12.html">
-<LINK REL="previous" HREF="node10.html">
-<LINK REL="up" HREF="node10.html">
-<LINK REL="next" HREF="node12.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html368"
- HREF="node12.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html362"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html356"
- HREF="node10.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html364"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html366"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html369"
- HREF="node12.html">2.2 Windows Installation</A>
-<B> Up:</B> <A NAME="tex2html363"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html357"
- HREF="node10.html">2. Installation</A>
- &nbsp <B>  <A NAME="tex2html365"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html367"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00031000000000000000">
-2.1 Linux/Unix Installation</A>
-</H2>
-
-<P>
-
-<OL>
-<LI>Download the source package, it will be named something like sdcc-2.x.x.tgz.</LI>
-<LI>Bring up a command line terminal, such as xterm.</LI>
-<LI>Unpack the file using a command like: <I><B>&#34;tar
--xzf sdcc-2.x.x.tgz</B></I>&#34;, this will create a sub-directory
-called sdcc with all of the sources.</LI>
-<LI>Change directory into the main SDCC directory, for example type: <I><B>&#34;cd
-sdcc</B></I><I>&#34;.</I></LI>
-<LI>Type <I><B>&#34;./configure</B></I>&#34;. This configures
-the package for compilation on your system.</LI>
-<LI>Type <I><B>&#34;make</B></I>&#34;. All of the source
-packages will compile, this can take a while.</LI>
-<LI>Type <I><B>&#34;make install&#34;</B></I> as root. This
-copies the binary executables, the include files, the libraries and
-the documentation to the install directories.</LI>
-</OL>
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node12.html b/doc/sdccman.html/node12.html
deleted file mode 100644 (file)
index 30b48b9..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>2.2 Windows Installation</TITLE>
-<META NAME="description" CONTENT="2.2 Windows Installation">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node13.html">
-<LINK REL="previous" HREF="node11.html">
-<LINK REL="up" HREF="node10.html">
-<LINK REL="next" HREF="node13.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html382"
- HREF="node13.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html376"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html370"
- HREF="node11.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html378"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html380"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html383"
- HREF="node13.html">2.3 Testing out the</A>
-<B> Up:</B> <A NAME="tex2html377"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html371"
- HREF="node11.html">2.1 Linux/Unix Installation</A>
- &nbsp <B>  <A NAME="tex2html379"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html381"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html384"
- HREF="node12.html#SECTION00032100000000000000">2.2.1 Windows Install Using a Binary Package</A>
-<LI><A NAME="tex2html385"
- HREF="node12.html#SECTION00032200000000000000">2.2.2 Windows Install Using Cygwin</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-
-<H2><A NAME="SECTION00032000000000000000">
-2.2 Windows Installation</A>
-</H2>
-
-<P>
-<I>&lt;pending: is this complete? where is borland, mingw&gt;</I>
-<BR>
-<BR>
-For installation under Windows you first need to pick between a pre-compiled
-binary package, or installing the source package along with the Cygwin
-package. The binary package is the quickest to install, while the
-Cygwin package includes all of the open source power tools used to
-compile the complete SDCC source package in the Windows environment.
-If you are not familiar with the Unix command line environment, you
-may want to read the section on additional information for Windows
-users prior to your initial installation.
-
-<P>
-
-<H3><A NAME="SECTION00032100000000000000">
-2.2.1 Windows Install Using a Binary Package</A>
-</H3>
-
-<P>
-
-<OL>
-<LI>Download the binary package and unpack it using your favorite unpacking
-tool (gunzip, WinZip, etc). This should unpack to a group of sub-directories.
-An example directory structure after unpacking is: c:&#92;usr&#92;local&#92;bin
-for the executables, c:&#92;usr&#92;local&#92;share&#92;sdcc&#92;include
-and c:&#92;usr&#92;local&#92;share&#92;sdcc&#92;lib
-for the include and libraries.</LI>
-<LI>Adjust your environment PATH to include the location of the bin directory.
-For example, make a setsdcc.bat file with the following: set PATH=c:&#92;usr&#92;local&#92;bin;%PATH%</LI>
-<LI>When you compile with sdcc, you may need to specify the location of
-the lib and include folders. For example, sdcc -I c:&#92;usr&#92;local&#92;share&#92;sdcc&#92;include
--L c:&#92;usr&#92;local&#92;share&#92;sdcc&#92;lib&#92;small
-test.c</LI>
-</OL>
-
-<P>
-
-<H3><A NAME="SECTION00032200000000000000">
-2.2.2 Windows Install Using Cygwin</A>
-</H3>
-
-<P>
-
-<OL>
-<LI>Download and install the cygwin package from the redhat site http://sources.redhat.com/cygwin/.
-Currently, this involved downloading a small install program which
-then automates downloading and installing selected parts of the package
-(a large 80M byte sized dowload for the whole thing). </LI>
-<LI>Bring up a Unix/Bash command line terminal from the Cygwin menu.</LI>
-<LI>Follow the instructions in the preceding Linux/Unix installation section.</LI>
-</OL>
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html382"
- HREF="node13.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html376"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html370"
- HREF="node11.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html378"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html380"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html383"
- HREF="node13.html">2.3 Testing out the</A>
-<B> Up:</B> <A NAME="tex2html377"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html371"
- HREF="node11.html">2.1 Linux/Unix Installation</A>
- &nbsp <B>  <A NAME="tex2html379"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html381"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node13.html b/doc/sdccman.html/node13.html
deleted file mode 100644 (file)
index 64daa55..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>2.3 Testing out the SDCC Compiler</TITLE>
-<META NAME="description" CONTENT="2.3 Testing out the SDCC Compiler">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node14.html">
-<LINK REL="previous" HREF="node12.html">
-<LINK REL="up" HREF="node10.html">
-<LINK REL="next" HREF="node14.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html398"
- HREF="node14.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html392"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html386"
- HREF="node12.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html394"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html396"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html399"
- HREF="node14.html">2.4 Install Trouble-shooting</A>
-<B> Up:</B> <A NAME="tex2html393"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html387"
- HREF="node12.html">2.2 Windows Installation</A>
- &nbsp <B>  <A NAME="tex2html395"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html397"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00033000000000000000">
-2.3 Testing out the SDCC Compiler</A>
-</H2>
-
-<P>
-The first thing you should do after installing your SDCC compiler
-is to see if it runs. Type <I><B>&#34;sdcc -version&#34;</B></I>
-at the prompt, and the program should run and tell you the version.
-If it doesn't run, or gives a message about not finding sdcc program,
-then you need to check over your installation. Make sure that the
-sdcc bin directory is in your executable search path defined by the
-PATH environment setting (see the Trouble-shooting section for suggestions).
-Make sure that the sdcc program is in the bin folder, if not perhaps
-something did not install correctly.
-<BR>
-
-<BR>
-SDCC binaries are commonly installed in a directory arrangement like
-this:
-<BR>
-
-<BR>
-<TABLE CELLPADDING=3 BORDER="1">
-<TR><TD ALIGN="LEFT">/usr/local/bin</TD>
-<TD ALIGN="LEFT">Holds executables(sdcc, s51, aslink, ...)</TD>
-</TR>
-<TR><TD ALIGN="LEFT">/usr/local/share/sdcc/lib</TD>
-<TD ALIGN="LEFT">Holds common C libraries</TD>
-</TR>
-<TR><TD ALIGN="LEFT">/usr/local/share/sdcc/include</TD>
-<TD ALIGN="LEFT">Holds common C header files</TD>
-</TR>
-</TABLE>
-<BR>
-
-<BR>
-Make sure the compiler works on a very simple example. Type in the
-following test.c program using your favorite editor:
-<BR>
-<BR>
-<TT>int test(int t) {</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;return t+3;</TT>&nbsp;
-<BR>
-<TT>}</TT>
-<BR>
-<BR>
-Compile this using the following command: <I><B>&#34;sdcc
--c test.c&#34;.</B></I> If all goes well, the compiler will generate
-a test.asm and test.rel file. Congratulations, you've just compiled
-your first program with SDCC. We used the -c option to tell SDCC not
-to link the generated code, just to keep things simple for this step.
-<BR>
-
-<BR>
-The next step is to try it with the linker. Type in <I><B>&#34;sdcc
-test.c</B></I>&#34;. If all goes well the compiler will link with the
-libraries and produce a test.ihx output file. If this step fails (no
-test.ihx, and the linker generates warnings), then the problem is
-most likely that sdcc cannot find the /usr/local/share/sdcc/lib directory
-(see the Install trouble-shooting section for suggestions).
-<BR>
-
-<BR>
-The final test is to ensure sdcc can use the standard header files
-and libraries. Edit test.c and change it to the following:
-<BR>
-
-<BR>
-#include &lt;string.h&gt;
-<BR>
-main() {
-<BR>
-<TT>char str1[10];</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;strcpy(str1, &#34;testing&#34;);</TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-Compile this by typing <I><B>&#34;sdcc test.c&#34;</B></I>.
-This should generate a test.ihx output file, and it should give no
-warnings such as not finding the string.h file. If it cannot find
-the string.h file, then the problem is that sdcc cannot find the /usr/local/share/sdcc/include
-directory (see the Install trouble-shooting section for suggestions).
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html398"
- HREF="node14.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html392"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html386"
- HREF="node12.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html394"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html396"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html399"
- HREF="node14.html">2.4 Install Trouble-shooting</A>
-<B> Up:</B> <A NAME="tex2html393"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html387"
- HREF="node12.html">2.2 Windows Installation</A>
- &nbsp <B>  <A NAME="tex2html395"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html397"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node14.html b/doc/sdccman.html/node14.html
deleted file mode 100644 (file)
index c2bcf67..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>2.4 Install Trouble-shooting</TITLE>
-<META NAME="description" CONTENT="2.4 Install Trouble-shooting">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node15.html">
-<LINK REL="previous" HREF="node13.html">
-<LINK REL="up" HREF="node10.html">
-<LINK REL="next" HREF="node15.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html412"
- HREF="node15.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html406"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html400"
- HREF="node13.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html408"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html410"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html413"
- HREF="node15.html">2.5 Additional Information for</A>
-<B> Up:</B> <A NAME="tex2html407"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html401"
- HREF="node13.html">2.3 Testing out the</A>
- &nbsp <B>  <A NAME="tex2html409"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html411"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html414"
- HREF="node14.html#SECTION00034100000000000000">2.4.1 SDCC cannot find libraries or header files.</A>
-<LI><A NAME="tex2html415"
- HREF="node14.html#SECTION00034200000000000000">2.4.2 SDCC does not compile correctly.</A>
-<LI><A NAME="tex2html416"
- HREF="node14.html#SECTION00034300000000000000">2.4.3 What the ''./configure'' does</A>
-<LI><A NAME="tex2html417"
- HREF="node14.html#SECTION00034400000000000000">2.4.4 What the ''make'' does.</A>
-<LI><A NAME="tex2html418"
- HREF="node14.html#SECTION00034500000000000000">2.4.5 What the ''make install'' command does.</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-
-<H2><A NAME="SECTION00034000000000000000">
-2.4 Install Trouble-shooting</A>
-</H2>
-
-<P>
-
-<H3><A NAME="SECTION00034100000000000000">
-2.4.1 SDCC cannot find libraries or header files.</A>
-</H3>
-
-<P>
-The default installation assumes the libraries and header files are
-located at ``/usr/local/share/sdcc/lib'' and ``/usr/local/share/sdcc/include''.
-An alternative is to specify these locations as compiler options like
-this: <I><B>&#34;sdcc&nbsp;-L&nbsp;/usr/local/sdcc/lib/small&nbsp;-I&nbsp;/usr/local/sdcc/include&nbsp;test.c&#34;</B></I>.
-
-<P>
-
-<H3><A NAME="SECTION00034200000000000000">
-2.4.2 SDCC does not compile correctly.</A>
-</H3>
-
-<P>
-A thing to try is starting from scratch by unpacking the .tgz source
-package again in an empty directory. Confure it again and build like:
-<BR>
-
-<BR>
-<I><B>make 2SPMamp;&gt;1 | tee make.log</B></I>
-<BR>
-
-<BR>
-After this you can review the make.log file to locate the problem.
-Or a relevant part of this be attached to an email that could be helpful
-when requesting help from the mailing list.
-
-<P>
-
-<H3><A NAME="SECTION00034300000000000000">
-2.4.3 What the ''./configure'' does</A>
-</H3>
-
-<P>
-The ''./configure'' command is a script that analyzes your system
-and performs some configuration to ensure the source package compiles
-on your system. It will take a few minutes to run, and will compile
-a few tests to determine what compiler features are installed.
-
-<P>
-
-<H3><A NAME="SECTION00034400000000000000">
-2.4.4 What the ''make'' does.</A>
-</H3>
-
-<P>
-This runs the GNU make tool, which automatically compiles all the
-source packages into the final installed binary executables.
-
-<P>
-
-<H3><A NAME="SECTION00034500000000000000">
-2.4.5 What the ''make install'' command does.</A>
-</H3>
-
-<P>
-This will install the compiler, other executables and libraries in
-to the appropriate system directories. The default is to copy the
-executables to /usr/local/bin and the libraries and header files to
-/usr/local/share/sdcc/lib and /usr/local/share/sdcc/include.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html412"
- HREF="node15.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html406"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html400"
- HREF="node13.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html408"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html410"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html413"
- HREF="node15.html">2.5 Additional Information for</A>
-<B> Up:</B> <A NAME="tex2html407"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html401"
- HREF="node13.html">2.3 Testing out the</A>
- &nbsp <B>  <A NAME="tex2html409"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html411"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node15.html b/doc/sdccman.html/node15.html
deleted file mode 100644 (file)
index cfb91e6..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>2.5 Additional Information for Windows Users</TITLE>
-<META NAME="description" CONTENT="2.5 Additional Information for Windows Users">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node16.html">
-<LINK REL="previous" HREF="node14.html">
-<LINK REL="up" HREF="node10.html">
-<LINK REL="next" HREF="node16.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html431"
- HREF="node16.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html425"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html419"
- HREF="node14.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html427"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html429"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html432"
- HREF="node16.html">2.6 SDCC on Other</A>
-<B> Up:</B> <A NAME="tex2html426"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html420"
- HREF="node14.html">2.4 Install Trouble-shooting</A>
- &nbsp <B>  <A NAME="tex2html428"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html430"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html433"
- HREF="node15.html#SECTION00035100000000000000">2.5.1 Getting started with Cygwin</A>
-<LI><A NAME="tex2html434"
- HREF="node15.html#SECTION00035200000000000000">2.5.2 Running SDCC as Native Compiled Executables</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-
-<H2><A NAME="SECTION00035000000000000000">
-2.5 Additional Information for Windows Users</A>
-</H2>
-
-<P>
-<I>&lt;pending: is this up to date?&gt;</I>
-<BR>
-<BR>
-The standard method of installing on a Unix system involves compiling
-the source package. This is easily done under Unix, but under Windows
-it can be a more difficult process. The Cygwin is a large package
-to download, and the compilation runs considerably slower under Windows
-due to the overhead of the Cygwin tool set. An alternative is to install
-a pre-compiled Windows binary package. There are various trade-offs
-between each of these methods. 
-
-<P>
-The Cygwin package allows a Windows user to run a Unix command line
-interface (bash shell) and also implements a Unix like file system
-on top of Windows. Included are many of the famous GNU software development
-tools which can augment the SDCC compiler.This is great if you have
-some experience with Unix command line tools and file system conventions,
-if not you may find it easier to start by installing a binary Windows
-package. The binary packages work with the Windows file system conventions.
-
-<P>
-
-<H3><A NAME="SECTION00035100000000000000">
-2.5.1 Getting started with Cygwin</A>
-</H3>
-
-<P>
-SDCC is typically distributed as a tarred/gzipped file (.tgz). This
-is a packed file similar to a .zip file. Cygwin includes the tools
-you will need to unpack the SDCC distribution (tar and gzip). To unpack
-it, simply follow the instructions under the Linux/Unix install section.
-Before you do this you need to learn how to start a cygwin shell and
-some of the basic commands used to move files, change directory, run
-commands and so on. The change directory command is <I><B>``cd''</B></I>,
-the move command is <I><B>``mv''</B></I>. To print the current
-working directory, type <I><B>``pwd''</B></I>. To make a directory,
-use <I><B>``mkdir''</B></I>.
-
-<P>
-There are some basic differences between Unix and Windows file systems
-you should understand. When you type in directory paths, Unix and
-the Cygwin bash prompt uses forward slashes '/' between directories
-while Windows traditionally uses '&#92;' backward slashes.
-So when you work at the Cygwin bash prompt, you will need to use the
-forward '/' slashes. Unix does not have a concept of drive letters,
-such as ``c:``, instead all files systems attach and appear
-as directories.
-
-<P>
-
-<H3><A NAME="SECTION00035200000000000000">
-2.5.2 Running SDCC as Native Compiled Executables</A>
-</H3>
-
-<P>
-If you use the pre-compiled binaries, the install directories for
-the libraries and header files may need to be specified on the sdcc
-command line like this: <I><B>&#34;sdcc -L c:&#92;usr&#92;local&#92;sdcc&#92;lib&#92;small
--I c:&#92;usr&#92;local&#92;sdcc&#92;include
-test.c&#34;</B></I> if you are running outside of a Unix bash shell.
-
-<P>
-If you have successfully installed and compiled SDCC with the Cygwin
-package, it is possible to compile into native .exe files by using
-the additional makefiles included for this purpose. For example, with
-the Borland 32-bit compiler you would run <I><B>&#34;make
--f Makefile.bcc&#34;</B></I>. A command line version of the Borland
-32-bit compiler can be downloaded from the Inprise web site.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html431"
- HREF="node16.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html425"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html419"
- HREF="node14.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html427"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html429"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html432"
- HREF="node16.html">2.6 SDCC on Other</A>
-<B> Up:</B> <A NAME="tex2html426"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html420"
- HREF="node14.html">2.4 Install Trouble-shooting</A>
- &nbsp <B>  <A NAME="tex2html428"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html430"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node16.html b/doc/sdccman.html/node16.html
deleted file mode 100644 (file)
index 4d1ab70..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>2.6 SDCC on Other Platforms</TITLE>
-<META NAME="description" CONTENT="2.6 SDCC on Other Platforms">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node17.html">
-<LINK REL="previous" HREF="node15.html">
-<LINK REL="up" HREF="node10.html">
-<LINK REL="next" HREF="node17.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html447"
- HREF="node17.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html441"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html435"
- HREF="node15.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html443"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html445"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html448"
- HREF="node17.html">2.7 Advanced Install Options</A>
-<B> Up:</B> <A NAME="tex2html442"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html436"
- HREF="node15.html">2.5 Additional Information for</A>
- &nbsp <B>  <A NAME="tex2html444"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html446"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00036000000000000000">
-2.6 SDCC on Other Platforms</A>
-</H2>
-
-<P>
-
-<UL>
-<LI><B>FreeBSD and other non-GNU Unixes</B> - Make sure the GNU make
-is installed as the default make tool.</LI>
-<LI>SDCC has been ported to run under a variety of operating systems and
-processors. If you can run GNU GCC/make then chances are good SDCC
-can be compiled and run on your system.</LI>
-</UL>
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node17.html b/doc/sdccman.html/node17.html
deleted file mode 100644 (file)
index 1d146b1..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>2.7 Advanced Install Options</TITLE>
-<META NAME="description" CONTENT="2.7 Advanced Install Options">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node18.html">
-<LINK REL="previous" HREF="node16.html">
-<LINK REL="up" HREF="node10.html">
-<LINK REL="next" HREF="node18.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html461"
- HREF="node18.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html455"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html449"
- HREF="node16.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html457"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html459"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html462"
- HREF="node18.html">2.8 Components of SDCC</A>
-<B> Up:</B> <A NAME="tex2html456"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html450"
- HREF="node16.html">2.6 SDCC on Other</A>
- &nbsp <B>  <A NAME="tex2html458"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html460"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00037000000000000000">
-2.7 Advanced Install Options</A>
-</H2>
-
-<P>
-The ``configure'' command has several options. The most commonly
-used option is -prefix=&lt;directory name&gt;, where &lt;directory name&gt; is
-the final location for the sdcc executables and libraries, (default
-location is /usr/local). The installation process will create the
-following directory structure under the &lt;directory name&gt; specified
-(if they do not already exist). 
-<BR>
-
-<BR>
-bin/ - binary exectables (add to PATH environment variable)
-<BR>
-bin/share/
-<BR>
-bin/share/sdcc/include/ - include header files
-<BR>
-bin/share/sdcc/lib/
-<BR>
-bin/share/sdcc/lib/small/ - Object &amp; library files for small model
-library
-<BR>
-bin/share/sdcc/lib/large/ - Object &amp; library files for large model
-library
-<BR>
-bin/share/sdcc/lib/ds390/ - Object &amp; library files forDS80C390 library
-<BR>
-
-<BR>
-The command <I><B>''./configure -prefix=/usr/local''</B></I>
-will configure the compiler to be installed in directory /usr/local.
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node18.html b/doc/sdccman.html/node18.html
deleted file mode 100644 (file)
index eb14aa9..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>2.8 Components of SDCC</TITLE>
-<META NAME="description" CONTENT="2.8 Components of SDCC">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="previous" HREF="node17.html">
-<LINK REL="up" HREF="node10.html">
-<LINK REL="next" HREF="node19.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html473"
- HREF="node19.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html467"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html463"
- HREF="node17.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html469"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html471"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html474"
- HREF="node19.html">3. Using SDCC</A>
-<B> Up:</B> <A NAME="tex2html468"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html464"
- HREF="node17.html">2.7 Advanced Install Options</A>
- &nbsp <B>  <A NAME="tex2html470"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html472"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html475"
- HREF="node18.html#SECTION00038100000000000000">2.8.1 sdcc - The Compiler</A>
-<LI><A NAME="tex2html476"
- HREF="node18.html#SECTION00038200000000000000">2.8.2 sdcpp (C-Preprocessor)</A>
-<LI><A NAME="tex2html477"
- HREF="node18.html#SECTION00038300000000000000">2.8.3 asx8051, as-z80, as-gbz80, aslink, link-z80, link-gbz80 (The Assemblers
-and Linkage Editors)</A>
-<LI><A NAME="tex2html478"
- HREF="node18.html#SECTION00038400000000000000">2.8.4 s51 - Simulator</A>
-<LI><A NAME="tex2html479"
- HREF="node18.html#SECTION00038500000000000000">2.8.5 sdcdb - Source Level Debugger</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-
-<H2><A NAME="SECTION00038000000000000000">
-2.8 Components of SDCC</A>
-</H2>
-
-<P>
-SDCC is not just a compiler, but a collection of tools by various
-developers. These include linkers, assemblers, simulators and other
-components. Here is a summary of some of the components. Note that
-the included simulator and assembler have separate documentation which
-you can find in the source package in their respective directories.
-As SDCC grows to include support for other processors, other packages
-from various developers are included and may have their own sets of
-documentation.
-<BR>
-
-<BR>
-You might want to look at the files which are installed in &lt;installdir&gt;.
-At the time of this writing, we find the following programs:
-<BR>
-<BR>
-In &lt;installdir&gt;/bin:
-
-<P>
-
-<UL>
-<LI>sdcc - The compiler.</LI>
-<LI>sdcpp - The C preprocessor.</LI>
-<LI>asx8051 - The assembler for 8051 type processors.</LI>
-<LI>as-z80<B>,</B> as-gbz80 - The Z80 and GameBoy Z80 assemblers.</LI>
-<LI>aslink -The linker for 8051 type processors.</LI>
-<LI>link-z80<B>,</B> link-gbz80 - The Z80 and GameBoy Z80 linkers.</LI>
-<LI>s51 - The ucSim 8051 simulator.</LI>
-<LI>sdcdb - The source debugger.</LI>
-<LI>packihx - A tool to pack Intel hex files.</LI>
-</UL>
-In &lt;installdir&gt;/share/sdcc/include
-
-<P>
-
-<UL>
-<LI>the include files</LI>
-</UL>
-In &lt;installdir&gt;/share/sdcc/lib
-
-<P>
-
-<UL>
-<LI>the sources of the runtime library and the subdirs small large and
-ds390 with the precompiled relocatables.</LI>
-</UL>
-In &lt;installdir&gt;/share/sdcc/doc
-
-<P>
-
-<UL>
-<LI>the documentation</LI>
-</UL>
-As development for other processors proceeds, this list will expand
-to include executables to support processors like AVR, PIC, etc.
-
-<P>
-
-<H3><A NAME="SECTION00038100000000000000">
-2.8.1 sdcc - The Compiler</A>
-</H3>
-
-<P>
-This is the actual compiler, it in turn uses the c-preprocessor and
-invokes the assembler and linkage editor.
-
-<P>
-
-<H3><A NAME="SECTION00038200000000000000">
-2.8.2 sdcpp (C-Preprocessor)</A>
-</H3>
-
-<P>
-The preprocessor is a modified version of the GNU preprocessor. The
-C preprocessor is used to pull in #include sources, process #ifdef
-statements, #defines and so on.
-
-<P>
-
-<H3><A NAME="SECTION00038300000000000000">
-2.8.3 asx8051, as-z80, as-gbz80, aslink, link-z80, link-gbz80 (The Assemblers
-and Linkage Editors)</A>
-</H3>
-
-<P>
-This is retargettable assembler &amp; linkage editor, it was developed
-by Alan Baldwin. John Hartman created the version for 8051, and I
-(Sandeep) have made some enhancements and bug fixes for it to work
-properly with the SDCC.
-
-<P>
-
-<H3><A NAME="SECTION00038400000000000000">
-2.8.4 s51 - Simulator</A>
-</H3>
-
-<P>
-S51 is a freeware, opensource simulator developed by Daniel Drotos
-( mailto:drdani@mazsola.iit.uni-miskolc.hu). The simulator is
-built as part of the build process. For more information visit Daniel's
-website at:  http://mazsola.iit.uni-miskolc.hu/&nbsp;drdani/embedded/s51
-.
-
-<P>
-
-<H3><A NAME="SECTION00038500000000000000">
-2.8.5 sdcdb - Source Level Debugger</A>
-</H3>
-
-<P>
-Sdcdb is the companion source level debugger. The current version
-of the debugger uses Daniel's Simulator S51, but can be easily changed
-to use other simulators.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html473"
- HREF="node19.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html467"
- HREF="node10.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html463"
- HREF="node17.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html469"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html471"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html474"
- HREF="node19.html">3. Using SDCC</A>
-<B> Up:</B> <A NAME="tex2html468"
- HREF="node10.html">2. Installation</A>
-<B> Previous:</B> <A NAME="tex2html464"
- HREF="node17.html">2.7 Advanced Install Options</A>
- &nbsp <B>  <A NAME="tex2html470"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html472"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node19.html b/doc/sdccman.html/node19.html
deleted file mode 100644 (file)
index c86e282..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3. Using SDCC</TITLE>
-<META NAME="description" CONTENT="3. Using SDCC">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node38.html">
-<LINK REL="previous" HREF="node10.html">
-<LINK REL="up" HREF="sdccman.html">
-<LINK REL="next" HREF="node20.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html492"
- HREF="node20.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html486"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html480"
- HREF="node18.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html488"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html490"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html493"
- HREF="node20.html">3.1 Compiling</A>
-<B> Up:</B> <A NAME="tex2html487"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html481"
- HREF="node18.html">2.8 Components of SDCC</A>
- &nbsp <B>  <A NAME="tex2html489"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html491"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00040000000000000000">
-3. Using SDCC</A>
-</H1>
-
-<P>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html494"
- HREF="node20.html">3.1 Compiling</A>
-<UL>
-<LI><A NAME="tex2html495"
- HREF="node20.html#SECTION00041100000000000000">3.1.1 Single Source File Projects</A>
-<LI><A NAME="tex2html496"
- HREF="node20.html#SECTION00041200000000000000">3.1.2 Projects with Multiple Source Files</A>
-<LI><A NAME="tex2html497"
- HREF="node20.html#SECTION00041300000000000000">3.1.3 Projects with Additional Libraries</A>
-</UL>
-<LI><A NAME="tex2html498"
- HREF="node21.html">3.2 Command Line Options</A>
-<UL>
-<LI><A NAME="tex2html499"
- HREF="node21.html#SECTION00042100000000000000">3.2.1 Processor Selection Options</A>
-<LI><A NAME="tex2html500"
- HREF="node21.html#SECTION00042200000000000000">3.2.2 Preprocessor Options</A>
-<LI><A NAME="tex2html501"
- HREF="node21.html#SECTION00042300000000000000">3.2.3 Linker Options</A>
-<LI><A NAME="tex2html502"
- HREF="node21.html#SECTION00042400000000000000">3.2.4 MCS51 Options</A>
-<LI><A NAME="tex2html503"
- HREF="node21.html#SECTION00042500000000000000">3.2.5 DS390 Options</A>
-<LI><A NAME="tex2html504"
- HREF="node21.html#SECTION00042600000000000000">3.2.6 Optimization Options</A>
-<LI><A NAME="tex2html505"
- HREF="node21.html#SECTION00042700000000000000">3.2.7 Other Options</A>
-<LI><A NAME="tex2html506"
- HREF="node21.html#SECTION00042800000000000000">3.2.8 Intermediate Dump Options</A>
-</UL>
-<LI><A NAME="tex2html507"
- HREF="node22.html">3.3 MCS51/DS390 Storage Class Language Extensions</A>
-<UL>
-<LI><A NAME="tex2html508"
- HREF="node22.html#SECTION00043100000000000000">3.3.1 xdata</A>
-<LI><A NAME="tex2html509"
- HREF="node22.html#SECTION00043200000000000000">3.3.2 data</A>
-<LI><A NAME="tex2html510"
- HREF="node22.html#SECTION00043300000000000000">3.3.3 idata</A>
-<LI><A NAME="tex2html511"
- HREF="node22.html#SECTION00043400000000000000">3.3.4 bit</A>
-<LI><A NAME="tex2html512"
- HREF="node22.html#SECTION00043500000000000000">3.3.5 sfr / sbit</A>
-</UL>
-<LI><A NAME="tex2html513"
- HREF="node23.html">3.4 Pointers</A>
-<LI><A NAME="tex2html514"
- HREF="node24.html">3.5 Parameters &amp; Local Variables</A>
-<LI><A NAME="tex2html515"
- HREF="node25.html">3.6 Overlaying</A>
-<LI><A NAME="tex2html516"
- HREF="node26.html">3.7 Interrupt Service Routines</A>
-<LI><A NAME="tex2html517"
- HREF="node27.html">3.8 Critical Functions</A>
-<LI><A NAME="tex2html518"
- HREF="node28.html">3.9 Naked Functions</A>
-<LI><A NAME="tex2html519"
- HREF="node29.html">3.10 Functions using private banks</A>
-<LI><A NAME="tex2html520"
- HREF="node30.html">3.11 Absolute Addressing</A>
-<LI><A NAME="tex2html521"
- HREF="node31.html">3.12 Startup Code</A>
-<LI><A NAME="tex2html522"
- HREF="node32.html">3.13 Inline Assembler Code</A>
-<LI><A NAME="tex2html523"
- HREF="node33.html">3.14 int(16 bit) and long (32 bit) Support</A>
-<LI><A NAME="tex2html524"
- HREF="node34.html">3.15 Floating Point Support</A>
-<LI><A NAME="tex2html525"
- HREF="node35.html">3.16 MCS51 Memory Models</A>
-<LI><A NAME="tex2html526"
- HREF="node36.html">3.17 DS390 Memory Models</A>
-<LI><A NAME="tex2html527"
- HREF="node37.html">3.18 Defines Created by the Compiler</A>
-</UL>
-<!--End of Table of Child-Links-->
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node2.html b/doc/sdccman.html/node2.html
deleted file mode 100644 (file)
index b51405c..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>1. Introduction</TITLE>
-<META NAME="description" CONTENT="1. Introduction">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node10.html">
-<LINK REL="previous" HREF="node1.html">
-<LINK REL="up" HREF="sdccman.html">
-<LINK REL="next" HREF="node3.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html215"
- HREF="node3.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html209"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html203"
- HREF="node1.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html211"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html213"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html216"
- HREF="node3.html">1.1 About SDCC</A>
-<B> Up:</B> <A NAME="tex2html210"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html204"
- HREF="node1.html">Contents</A>
- &nbsp <B>  <A NAME="tex2html212"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html214"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00020000000000000000">
-1. Introduction</A>
-</H1>
-
-<P>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html217"
- HREF="node3.html">1.1 About SDCC</A>
-<LI><A NAME="tex2html218"
- HREF="node4.html">1.2 Open Source</A>
-<LI><A NAME="tex2html219"
- HREF="node5.html">1.3 Typographic conventions</A>
-<LI><A NAME="tex2html220"
- HREF="node6.html">1.4 Compatibility with previous versions</A>
-<LI><A NAME="tex2html221"
- HREF="node7.html">1.5 System Requirements</A>
-<LI><A NAME="tex2html222"
- HREF="node8.html">1.6 Other Resources</A>
-<LI><A NAME="tex2html223"
- HREF="node9.html">1.7 Wishes for the future</A>
-</UL>
-<!--End of Table of Child-Links-->
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node20.html b/doc/sdccman.html/node20.html
deleted file mode 100644 (file)
index 52b85d9..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.1 Compiling</TITLE>
-<META NAME="description" CONTENT="3.1 Compiling">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node21.html">
-<LINK REL="previous" HREF="node19.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node21.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html540"
- HREF="node21.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html534"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html528"
- HREF="node19.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html536"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html538"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html541"
- HREF="node21.html">3.2 Command Line Options</A>
-<B> Up:</B> <A NAME="tex2html535"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html529"
- HREF="node19.html">3. Using SDCC</A>
- &nbsp <B>  <A NAME="tex2html537"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html539"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html542"
- HREF="node20.html#SECTION00041100000000000000">3.1.1 Single Source File Projects</A>
-<LI><A NAME="tex2html543"
- HREF="node20.html#SECTION00041200000000000000">3.1.2 Projects with Multiple Source Files</A>
-<LI><A NAME="tex2html544"
- HREF="node20.html#SECTION00041300000000000000">3.1.3 Projects with Additional Libraries</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-
-<H2><A NAME="SECTION00041000000000000000">
-3.1 Compiling</A>
-</H2>
-
-<P>
-
-<H3><A NAME="SECTION00041100000000000000">
-3.1.1 Single Source File Projects</A>
-</H3>
-
-<P>
-For single source file 8051 projects the process is very simple. Compile
-your programs with the following command <I><B>&#34;sdcc
-sourcefile.c&#34;.</B></I> This will compile, assemble and link your
-source file. Output files are as follows
-<BR>
-
-<BR>
-sourcefile.asm - Assembler source file created by the compiler
-<BR>
-sourcefile.lst - Assembler listing file created by the Assembler
-<BR>
-sourcefile.rst - Assembler listing file updated with linkedit information,
-created by linkage editor
-<BR>
-sourcefile.sym - symbol listing for the sourcefile, created by the
-assembler
-<BR>
-sourcefile.rel - Object file created by the assembler, input to Linkage
-editor
-<BR>
-sourcefile.map - The memory map for the load module, created by the
-Linker
-<BR>
-sourcefile.ihx - The load module in Intel hex format (you can select
-the Motorola S19 format with -out-fmt-s19)
-<BR>
-sourcefile.cdb - An optional file (with -debug) containing debug
-information
-<BR>
-
-<P>
-
-<H3><A NAME="SECTION00041200000000000000">
-3.1.2 Projects with Multiple Source Files</A>
-</H3>
-
-<P>
-SDCC can compile only ONE file at a time. Let us for example assume
-that you have a project containing the following files:
-<BR>
-
-<BR>
-foo1.c (contains some functions)
-<BR>
-foo2.c (contains some more functions)
-<BR>
-foomain.c (contains more functions and the function main)
-<BR>
-
-<BR>
-The first two files will need to be compiled separately with the commands:
-
-<BR>
-
-<BR>
-<I><B>sdcc&nbsp;-c&nbsp;foo1.c</B></I>
-<BR>
-<I><B>sdcc&nbsp;-c&nbsp;foo2.c</B></I>
-<BR>
-
-<BR>
-Then compile the source file containing the <I>main()</I> function
-and link the files together with the following command: 
-<BR>
-
-<BR>
-<I><B>sdcc&nbsp;foomain.c&nbsp;foo1.rel&nbsp;foo2.rel</B></I>
-<BR>
-
-<BR>
-Alternatively, <I>foomain.c</I> can be separately compiled as well:
-<BR>
-<BR>
-<I><B>sdcc&nbsp;-c&nbsp;foomain.c</B></I>
-<BR>
-<I><B>sdcc foomain.rel foo1.rel foo2.rel</B></I>
-<BR>
-<BR>
-The file containing the <I>main()</I> function <SMALL>MUST</SMALL>
-be the <SMALL>FIRST</SMALL> file specified in the command line, since the
-linkage editor processes file in the order they are presented to it.
-
-<P>
-
-<H3><A NAME="SECTION00041300000000000000">
-3.1.3 Projects with Additional Libraries</A>
-</H3>
-
-<P>
-Some reusable routines may be compiled into a library, see the documentation
-for the assembler and linkage editor (which are in &lt;installdir&gt;/share/sdcc/doc)
-for how to create a <I>.lib</I> library file. Libraries created in
-this manner can be included in the command line. Make sure you include
-the -L &lt;library-path&gt; option to tell the linker where to look for
-these files if they are not in the current directory. Here is an example,
-assuming you have the source file <I>foomain.c</I> and a library <I>foolib.lib</I>
-in the directory <I>mylib</I> (if that is not the same as your current
-project):
-<BR>
-
-<BR>
-<I><B>sdcc foomain.c foolib.lib -L mylib</B></I>
-<BR>
-<BR>
-Note here that <I>mylib</I> must be an absolute path name.
-<BR>
-
-<BR>
-The most efficient way to use libraries is to keep seperate modules
-in seperate source files. The lib file now should name all the modules.rel
-files. For an example see the standard library file <I>libsdcc.lib</I>
-in the directory &lt;installdir&gt;/share/lib/small.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html540"
- HREF="node21.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html534"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html528"
- HREF="node19.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html536"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html538"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html541"
- HREF="node21.html">3.2 Command Line Options</A>
-<B> Up:</B> <A NAME="tex2html535"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html529"
- HREF="node19.html">3. Using SDCC</A>
- &nbsp <B>  <A NAME="tex2html537"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html539"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node21.html b/doc/sdccman.html/node21.html
deleted file mode 100644 (file)
index f3614e9..0000000
+++ /dev/null
@@ -1,435 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.2 Command Line Options</TITLE>
-<META NAME="description" CONTENT="3.2 Command Line Options">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node22.html">
-<LINK REL="previous" HREF="node20.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node22.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html557"
- HREF="node22.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html551"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html545"
- HREF="node20.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html553"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html555"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html558"
- HREF="node22.html">3.3 MCS51/DS390 Storage Class</A>
-<B> Up:</B> <A NAME="tex2html552"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html546"
- HREF="node20.html">3.1 Compiling</A>
- &nbsp <B>  <A NAME="tex2html554"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html556"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html559"
- HREF="node21.html#SECTION00042100000000000000">3.2.1 Processor Selection Options</A>
-<LI><A NAME="tex2html560"
- HREF="node21.html#SECTION00042200000000000000">3.2.2 Preprocessor Options</A>
-<LI><A NAME="tex2html561"
- HREF="node21.html#SECTION00042300000000000000">3.2.3 Linker Options</A>
-<LI><A NAME="tex2html562"
- HREF="node21.html#SECTION00042400000000000000">3.2.4 MCS51 Options</A>
-<LI><A NAME="tex2html563"
- HREF="node21.html#SECTION00042500000000000000">3.2.5 DS390 Options</A>
-<LI><A NAME="tex2html564"
- HREF="node21.html#SECTION00042600000000000000">3.2.6 Optimization Options</A>
-<LI><A NAME="tex2html565"
- HREF="node21.html#SECTION00042700000000000000">3.2.7 Other Options</A>
-<LI><A NAME="tex2html566"
- HREF="node21.html#SECTION00042800000000000000">3.2.8 Intermediate Dump Options</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-
-<H2><A NAME="SECTION00042000000000000000">
-3.2 Command Line Options</A>
-</H2>
-
-<P>
-
-<H3><A NAME="SECTION00042100000000000000">
-3.2.1 Processor Selection Options</A>
-</H3>
-
-<P>
-
-<UL>
-<LI>[<B>-mmcs51</B>]Generate code for the MCS51 (8051) family of processors.
-This is the default processor target.</LI>
-<LI>[<B>-mds390</B>]Generate code for the DS80C390 processor.</LI>
-<LI>[<B>-mz80</B>]Generate code for the Z80 family of processors.</LI>
-<LI>[<B>-mgbz80</B>]Generate code for the GameBoy Z80 processor.</LI>
-<LI>[<B>-mavr</B>]Generate code for the Atmel AVR processor(In development,
-not complete).</LI>
-<LI>[<B>-mpic14</B>]Generate code for the PIC 14-bit processors(In development,
-not complete).</LI>
-<LI>[<B>-mtlcs900h</B>]Generate code for the Toshiba TLCS-900H processor(In
-development, not complete).</LI>
-</UL>
-<P>
-
-<H3><A NAME="SECTION00042200000000000000">
-3.2.2 Preprocessor Options</A>
-</H3>
-
-<P>
-
-<UL>
-<LI>[<B>-I&lt;path&gt;</B>]The additional location where the pre processor
-will look for &lt;..h&gt; or ``..h'' files.</LI>
-<LI>[<B>-D&lt;macro[=value]&gt;</B>]Command line definition of macros.
-Passed to the pre processor.</LI>
-<LI>[<B>-M</B>]Tell the preprocessor to output a rule suitable for make
-describing the dependencies of each object file. For each source file,
-the preprocessor outputs one make-rule whose target is the object
-file name for that source file and whose dependencies are all the
-files `#include'd in it. This rule may be a single line or may be
-continued with `&#92;'-newline if it is long. The list
-of rules is printed on standard output instead of the preprocessed
-C program. `-M' implies `-E'.</LI>
-<LI>[<B>-C</B>]Tell the preprocessor not to discard comments. Used with
-the `-E' option.</LI>
-<LI>[<B>-MM</B>]Like `-M' but the output mentions only the user header
-files included with `#include ``file&#34;'. System header
-files included with `#include &lt;file&gt;' are omitted.</LI>
-<LI>[<B>-Aquestion(answer)</B>]Assert the answer answer for question,
-in case it is tested with a preprocessor conditional such as `#if
-#question(answer)'. `-A-' disables the standard assertions that normally
-describe the target machine.</LI>
-<LI>[<B>-Aquestion</B>](answer) Assert the answer answer for question,
-in case it is tested with a preprocessor conditional such as `#if
-#question(answer)'. `-A-' disables the standard assertions that normally
-describe the target machine.</LI>
-<LI>[<B>-Umacro</B>]Undefine macro macro. `-U' options are evaluated
-after all `-D' options, but before any `-include' and `-imacros' options.</LI>
-<LI>[<B>-dM</B>]Tell the preprocessor to output only a list of the macro
-definitions that are in effect at the end of preprocessing. Used with
-the `-E' option.</LI>
-<LI>[<B>-dD</B>]Tell the preprocessor to pass all macro definitions
-into the output, in their proper sequence in the rest of the output.</LI>
-<LI>[<B>-dN</B>]Like `-dD' except that the macro arguments and contents
-are omitted. Only `#define name' is included in the output.</LI>
-</UL>
-<P>
-
-<H3><A NAME="SECTION00042300000000000000">
-3.2.3 Linker Options</A>
-</H3>
-
-<P>
-
-<UL>
-<LI>[<B>-L&nbsp;-lib-path</B>]&lt;absolute path to additional libraries&gt; This
-option is passed to the linkage editor's additional libraries search
-path. The path name must be absolute. Additional library files may
-be specified in the command line. See section Compiling programs for
-more details.</LI>
-<LI>[<B>-xram-loc</B>&lt;Value&gt;]The start location of the external ram,
-default value is 0. The value entered can be in Hexadecimal or Decimal
-format, e.g.: -xram-loc 0x8000 or -xram-loc 32768.</LI>
-<LI>[<B>-code-loc</B>&lt;Value&gt;]The start location of the code segment,
-default value 0. Note when this option is used the interrupt vector
-table is also relocated to the given address. The value entered can
-be in Hexadecimal or Decimal format, e.g.: -code-loc 0x8000 or -code-loc
-32768.</LI>
-<LI>[<B>-stack-loc</B>&lt;Value&gt;]The initial value of the stack pointer.
-The default value of the stack pointer is 0x07 if only register bank
-0 is used, if other register banks are used then the stack pointer
-is initialized to the location above the highest register bank used.
-eg. if register banks 1 &amp; 2 are used the stack pointer will default
-to location 0x18. The value entered can be in Hexadecimal or Decimal
-format, eg. -stack-loc 0x20 or -stack-loc 32. If all four register
-banks are used the stack will be placed after the data segment (equivalent
-to -stack-after-data)</LI>
-<LI>[<B>-stack-after-data</B>]This option will cause the stack to be
-located in the internal ram after the data segment.</LI>
-<LI>[<B>-data-loc</B>&lt;Value&gt;]The start location of the internal ram
-data segment, the default value is 0x30.The value entered can be in
-Hexadecimal or Decimal format, eg. -data-loc 0x20 or -data-loc 32.</LI>
-<LI>[<B>-idata-loc</B>&lt;Value&gt;]The start location of the indirectly
-addressable internal ram, default value is 0x80. The value entered
-can be in Hexadecimal or Decimal format, eg. -idata-loc 0x88 or -idata-loc
-136.</LI>
-<LI>[<B>-out-fmt-ihx</B>]The linker output (final object code) is in
-Intel Hex format. (This is the default option).</LI>
-<LI>[<B>-out-fmt-s19</B>]The linker output (final object code) is in
-Motorola S19 format.</LI>
-</UL>
-<P>
-
-<H3><A NAME="SECTION00042400000000000000">
-3.2.4 MCS51 Options</A>
-</H3>
-
-<P>
-
-<UL>
-<LI>[<B>-model-large</B>]Generate code for Large model programs see
-section Memory Models for more details. If this option is used all
-source files in the project should be compiled with this option. In
-addition the standard library routines are compiled with small model,
-they will need to be recompiled.</LI>
-<LI>[<B>-model-small</B>]Generate code for Small Model programs see
-section Memory Models for more details. This is the default model.</LI>
-</UL>
-<P>
-
-<H3><A NAME="SECTION00042500000000000000">
-3.2.5 DS390 Options</A>
-</H3>
-
-<P>
-
-<UL>
-<LI>[<B>-model-flat24</B>]Generate 24-bit flat mode code. This is the
-one and only that the ds390 code generator supports right now and
-is default when using <I>-mds390</I>. See section Memory Models for
-more details.</LI>
-<LI>[<B>-stack-10bit</B>]Generate code for the 10 bit stack mode of
-the Dallas DS80C390 part. This is the one and only that the ds390
-code generator supports right now and is default when using <I>-mds390</I>.
-In this mode, the stack is located in the lower 1K of the internal
-RAM, which is mapped to 0x400000. Note that the support is incomplete,
-since it still uses a single byte as the stack pointer. This means
-that only the lower 256 bytes of the potential 1K stack space will
-actually be used. However, this does allow you to reclaim the precious
-256 bytes of low RAM for use for the DATA and IDATA segments. The
-compiler will not generate any code to put the processor into 10 bit
-stack mode. It is important to ensure that the processor is in this
-mode before calling any re-entrant functions compiled with this option.
-In principle, this should work with the <I>-stack-auto</I> option,
-but that has not been tested. It is incompatible with the <I>-xstack</I>
-option. It also only makes sense if the processor is in 24 bit contiguous
-addressing mode (see the <I>-model-flat24 option</I>).</LI>
-</UL>
-<P>
-
-<H3><A NAME="SECTION00042600000000000000">
-3.2.6 Optimization Options</A>
-</H3>
-
-<P>
-
-<UL>
-<LI>[<B>-nogcse</B>]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&nbsp;NOGCSE
-can be used to turn off global subexpression elimination for a given
-function only.</LI>
-<LI>[<B>-noinvariant</B>]Will not do loop invariant optimizations,
-this may be turned off for reasons explained for the previous option.
-For more details of loop optimizations performed see section Loop
-Invariants.It recommended that this option NOT be used, #pragma&nbsp;NOINVARIANT
-can be used to turn off invariant optimizations for a given function
-only.</LI>
-<LI>[<B>-noinduction</B>]Will not do loop induction optimizations,
-see section strength reduction for more details.It is recommended
-that this option is NOT used, #pragma&nbsp;NOINDUCTION can be used to
-turn off induction optimizations for a given function only.</LI>
-<LI>[<B>-nojtbound</B>] Will not generate boundary condition check
-when switch statements are implemented using jump-tables. See section
-Switch Statements for more details. It is recommended that this option
-is NOT used, #pragma&nbsp;NOJTBOUND can be used to turn off boundary
-checking for jump tables for a given function only.</LI>
-<LI>[<B>-noloopreverse</B>]Will not do loop reversal optimization.</LI>
-</UL>
-<P>
-
-<H3><A NAME="SECTION00042700000000000000">
-3.2.7 Other Options</A>
-</H3>
-
-<P>
-
-<UL>
-<LI>[<B>-c&nbsp;-compile-only</B>]will compile and assemble the source,
-but will not call the linkage editor.</LI>
-<LI>[<B>-E</B>]Run only the C preprocessor. Preprocess all the C source
-files specified and output the results to standard output.</LI>
-<LI>[<B>-stack-auto</B>]All functions in the source file will be compiled
-as <I>reentrant</I>, i.e. the parameters and local variables will
-be allocated on the stack. see section Parameters and Local Variables
-for more details. If this option is used all source files in the project
-should be compiled with this option. </LI>
-<LI>[<B>-xstack</B>]Uses a pseudo stack in the first 256 bytes in the
-external ram for allocating variables and passing parameters. See
-section on external stack for more details.</LI>
-<LI>[<B>-callee-saves</B>]<B>function1[,function2][,function3]....</B>
-The compiler by default uses a caller saves convention for register
-saving across function calls, however this can cause unneccessary
-register pushing &amp; popping when calling small functions from larger
-functions. This option can be used to switch the register saving convention
-for the function names specified. The compiler will not save registers
-when calling these functions, no extra code will be generated at the
-entry &amp; exit for these functions to save &amp; restore the registers
-used by these functions, this can SUBSTANTIALLY reduce code &amp; improve
-run time performance of the generated code. In the future the compiler
-(with interprocedural analysis) will be able to determine the appropriate
-scheme to use for each function call. DO NOT use this option for built-in
-functions such as _muluint..., if this option is used for a library
-function the appropriate library function needs to be recompiled with
-the same option. If the project consists of multiple source files
-then all the source file should be compiled with the same -callee-saves
-option string. Also see #pragma&nbsp;CALLEE-SAVES.</LI>
-<LI>[<B>-debug</B>]When this option is used the compiler will generate
-debug information, that can be used with the SDCDB. The debug information
-is collected in a file with .cdb extension. For more information see
-documentation for SDCDB.</LI>
-<LI>[<B><I>-regextend</I></B>] <I>This option is obsolete and isn't
-supported anymore.</I></LI>
-<LI>[<B><I>-noregparms</I></B>]<I>This option is obsolete and isn't
-supported anymore.</I></LI>
-<LI>[<B>-peep-file</B>&lt;filename&gt;]This option can be used to use additional
-rules to be used by the peep hole optimizer. See section Peep Hole
-optimizations for details on how to write these rules.</LI>
-<LI>[<B>-S</B>]Stop after the stage of compilation proper; do not assemble.
-The output is an assembler code file for the input file specified.</LI>
-<LI>[<B>-Wa_asmOption[,asmOption]</B>...]Pass the asmOption to
-the assembler.</LI>
-<LI>[<B>-Wl_linkOption[,linkOption]</B>...]Pass the linkOption
-to the linker.</LI>
-<LI>[<B>-int-long-reent</B>] Integer (16 bit) and long (32 bit) libraries
-have been compiled as reentrant. Note by default these libraries are
-compiled as non-reentrant. See section Installation for more details.</LI>
-<LI>[<B>-cyclomatic</B>]This option will cause the compiler to generate
-an information message for each function in the source file. The message
-contains some <I>important</I> information about the function. The
-number of edges and nodes the compiler detected in the control flow
-graph of the function, and most importantly the <I>cyclomatic complexity</I>
-see section on Cyclomatic Complexity for more details.</LI>
-<LI>[<B>-float-reent</B>] Floating point library is compiled as reentrant.See
-section Installation for more details.</LI>
-<LI>[<B>-nooverlay</B>] The compiler will not overlay parameters and
-local variables of any function, see section Parameters and local
-variables for more details.</LI>
-<LI>[<B>-main-return</B>]This option can be used when the code generated
-is called by a monitor program. The compiler will generate a 'ret'
-upon return from the 'main' function. The default option is to lock
-up i.e. generate a 'ljmp '.</LI>
-<LI>[<B>-no-peep</B>] Disable peep-hole optimization.</LI>
-<LI>[<B>-peep-asm</B>] Pass the inline assembler code through the peep
-hole optimizer. This can cause unexpected changes to inline assembler
-code, please go through the peephole optimizer rules defined in the
-source file tree '&lt;target&gt;/peeph.def' before using this option.</LI>
-<LI>[<B>-iram-size</B>&lt;Value&gt;]Causes the linker to check if the interal
-ram usage is within limits of the given value.</LI>
-<LI>[<B>-nostdincl</B>]This will prevent the compiler from passing
-on the default include path to the preprocessor.</LI>
-<LI>[<B>-nostdlib</B>]This will prevent the compiler from passing on
-the default library path to the linker.</LI>
-<LI>[<B>-verbose</B>]Shows the various actions the compiler is performing.</LI>
-<LI>[<B>-V</B>]Shows the actual commands the compiler is executing.</LI>
-</UL>
-<P>
-
-<H3><A NAME="SECTION00042800000000000000">
-3.2.8 Intermediate Dump Options</A>
-</H3>
-
-<P>
-The following options are provided for the purpose of retargetting
-and debugging the compiler. These provided a means to dump the intermediate
-code (iCode) generated by the compiler in human readable form at various
-stages of the compilation process. 
-
-<P>
-
-<UL>
-<LI>[<B>-dumpraw</B>]This option will cause the compiler to dump the
-intermediate code into a file of named <I>&lt;source filename&gt;.dumpraw</I>
-just after the intermediate code has been generated for a function,
-i.e. before any optimizations are done. The basic blocks at this stage
-ordered in the depth first number, so they may not be in sequence
-of execution.</LI>
-<LI>[<B>-dumpgcse</B>]Will create a dump of iCode's, after global subexpression
-elimination, into a file named <I>&lt;source filename&gt;.dumpgcse.</I></LI>
-<LI>[<B>-dumpdeadcode</B>]Will create a dump of iCode's, after deadcode
-elimination, into a file named <I>&lt;source filename&gt;.dumpdeadcode.</I></LI>
-<LI>[<B>-dumploop</B>]Will create a dump of iCode's, after loop optimizations,
-into a file named <I>&lt;source filename&gt;.dumploop.</I></LI>
-<LI>[<B>-dumprange</B>]Will create a dump of iCode's, after live range
-analysis, into a file named <I>&lt;source filename&gt;.dumprange.</I></LI>
-<LI>[<B>-dumlrange</B>]Will dump the life ranges for all symbols.</LI>
-<LI>[<B>-dumpregassign</B>]Will create a dump of iCode's, after register
-assignment, into a file named <I>&lt;source filename&gt;.dumprassgn.</I></LI>
-<LI>[<B>-dumplrange</B>]Will create a dump of the live ranges of iTemp's</LI>
-<LI>[<B>-dumpall</B>]Will cause all the above mentioned dumps to be
-created.</LI>
-</UL>
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html557"
- HREF="node22.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html551"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html545"
- HREF="node20.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html553"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html555"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html558"
- HREF="node22.html">3.3 MCS51/DS390 Storage Class</A>
-<B> Up:</B> <A NAME="tex2html552"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html546"
- HREF="node20.html">3.1 Compiling</A>
- &nbsp <B>  <A NAME="tex2html554"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html556"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node22.html b/doc/sdccman.html/node22.html
deleted file mode 100644 (file)
index a110bef..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.3 MCS51/DS390 Storage Class Language Extensions</TITLE>
-<META NAME="description" CONTENT="3.3 MCS51/DS390 Storage Class Language Extensions">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node23.html">
-<LINK REL="previous" HREF="node21.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node23.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html579"
- HREF="node23.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html573"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html567"
- HREF="node21.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html575"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html577"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html580"
- HREF="node23.html">3.4 Pointers</A>
-<B> Up:</B> <A NAME="tex2html574"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html568"
- HREF="node21.html">3.2 Command Line Options</A>
- &nbsp <B>  <A NAME="tex2html576"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html578"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html581"
- HREF="node22.html#SECTION00043100000000000000">3.3.1 xdata</A>
-<LI><A NAME="tex2html582"
- HREF="node22.html#SECTION00043200000000000000">3.3.2 data</A>
-<LI><A NAME="tex2html583"
- HREF="node22.html#SECTION00043300000000000000">3.3.3 idata</A>
-<LI><A NAME="tex2html584"
- HREF="node22.html#SECTION00043400000000000000">3.3.4 bit</A>
-<LI><A NAME="tex2html585"
- HREF="node22.html#SECTION00043500000000000000">3.3.5 sfr / sbit</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-
-<H2><A NAME="SECTION00043000000000000000">
-3.3 MCS51/DS390 Storage Class Language Extensions</A>
-</H2>
-
-<P>
-In addition to the ANSI storage classes SDCC allows the following
-MCS51 specific storage classes.
-
-<P>
-
-<H3><A NAME="SECTION00043100000000000000">
-3.3.1 xdata</A>
-</H3>
-
-<P>
-Variables declared with this storage class will be placed in the extern
-RAM. This is the <B>default</B> storage class for Large Memory model,
-e.g.:
-<BR>
-
-<BR>
-<TT>xdata unsigned char xduc;</TT>
-
-<P>
-
-<H3><A NAME="SECTION00043200000000000000">
-3.3.2 data</A>
-</H3>
-
-<P>
-This is the <B>default</B> storage class for Small Memory model.
-Variables declared with this storage class will be allocated in the
-internal RAM, e.g.:
-<BR>
-
-<BR>
-<TT>data int iramdata;</TT>
-
-<P>
-
-<H3><A NAME="SECTION00043300000000000000">
-3.3.3 idata</A>
-</H3>
-
-<P>
-Variables declared with this storage class will be allocated into
-the indirectly addressable portion of the internal ram of a 8051,
-e.g.:
-<BR>
-
-<BR>
-<TT>idata int idi;</TT>
-
-<P>
-
-<H3><A NAME="SECTION00043400000000000000">
-3.3.4 bit</A>
-</H3>
-
-<P>
-This is a data-type and a storage class specifier. When a variable
-is declared as a bit, it is allocated into the bit addressable memory
-of 8051, e.g.:
-<BR>
-
-<BR>
-<TT>bit iFlag;</TT>
-
-<P>
-
-<H3><A NAME="SECTION00043500000000000000">
-3.3.5 sfr / sbit</A>
-</H3>
-
-<P>
-Like the bit keyword, <I>sfr / sbit</I> signifies both a data-type
-and storage class, they are used to describe the special function
-registers and special bit variables of a 8051, eg:
-<BR>
-
-<BR>
-<TT>sfr at 0x80 P0; /* special function register P0 at location
-0x80 */</TT>&nbsp;
-<BR>
-<TT>sbit at 0xd7 CY; /* CY (Carry Flag) */</TT>
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html579"
- HREF="node23.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html573"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html567"
- HREF="node21.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html575"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html577"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html580"
- HREF="node23.html">3.4 Pointers</A>
-<B> Up:</B> <A NAME="tex2html574"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html568"
- HREF="node21.html">3.2 Command Line Options</A>
- &nbsp <B>  <A NAME="tex2html576"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html578"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node23.html b/doc/sdccman.html/node23.html
deleted file mode 100644 (file)
index d408a4d..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.4 Pointers</TITLE>
-<META NAME="description" CONTENT="3.4 Pointers">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node24.html">
-<LINK REL="previous" HREF="node22.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node24.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html598"
- HREF="node24.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html592"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html586"
- HREF="node22.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html594"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html596"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html599"
- HREF="node24.html">3.5 Parameters &amp; Local</A>
-<B> Up:</B> <A NAME="tex2html593"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html587"
- HREF="node22.html">3.3 MCS51/DS390 Storage Class</A>
- &nbsp <B>  <A NAME="tex2html595"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html597"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00044000000000000000">
-3.4 Pointers</A>
-</H2>
-
-<P>
-SDCC allows (via language extensions) pointers to explicitly point
-to any of the memory spaces of the 8051. In addition to the explicit
-pointers, the compiler also allows a <I>_generic</I> class of pointers
-which can be used to point to any of the memory spaces.
-<BR>
-
-<BR>
-Pointer declaration examples:
-<BR>
-
-<BR>
-<TT>/* pointer physically in xternal ram pointing to object
-in internal ram */ </TT>&nbsp;
-<BR>
-<TT>data unsigned char * xdata p;</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>/* pointer physically in code rom pointing to data in xdata
-space */ </TT>&nbsp;
-<BR>
-<TT>xdata unsigned char * code p;</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>/* pointer physically in code space pointing to data in
-code space */ </TT>&nbsp;
-<BR>
-<TT>code unsigned char * code p;</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>/* the folowing is a generic pointer physically located
-in xdata space */</TT>&nbsp;
-<BR>
-<TT>char * xdata p;</TT>
-<BR>
-
-<BR>
-Well you get the idea. 
-<BR>
-
-<BR>
-<I>For compatibility with the previous version of the compiler,
-the following syntax for pointer declaration is still supported but
-will disappear int the near future. </I>
-<BR>
-<BR>
-<TT><I>unsigned char _xdata *ucxdp; /* pointer to data
-in external ram */ </I></TT>&nbsp;
-<BR>
-<TT><I>unsigned char _data &nbsp;*ucdp ; /* pointer to data
-in internal ram */ </I></TT>&nbsp;
-<BR>
-<TT><I>unsigned char _code &nbsp;*uccp ; /* pointer to data
-in R/O code space */</I></TT>&nbsp;
-<BR>
-<TT><I>unsigned char _idata *uccp; &nbsp;/* pointer to upper
-128 bytes of ram */</I></TT>
-<BR>
-
-<BR>
-All unqualified pointers are treated as 3-byte (4-byte for the ds390)
-<I>generic</I> pointers. These type of pointers can also to be explicitly
-declared.
-<BR>
-
-<BR>
-<TT>unsigned char _generic *ucgp;</TT>
-<BR>
-
-<BR>
-The highest order byte of the <I>generic</I> pointers contains the
-data space information. Assembler support routines are called whenever
-data is stored or retrieved using <I>generic</I> pointers. These are
-useful for developing reusable library routines. Explicitly specifying
-the pointer type will generate the most efficient code. Pointers declared
-using a mixture of OLD and NEW style could have unpredictable results.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html598"
- HREF="node24.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html592"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html586"
- HREF="node22.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html594"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html596"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html599"
- HREF="node24.html">3.5 Parameters &amp; Local</A>
-<B> Up:</B> <A NAME="tex2html593"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html587"
- HREF="node22.html">3.3 MCS51/DS390 Storage Class</A>
- &nbsp <B>  <A NAME="tex2html595"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html597"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node24.html b/doc/sdccman.html/node24.html
deleted file mode 100644 (file)
index 0d8c000..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.5 Parameters &amp; Local Variables</TITLE>
-<META NAME="description" CONTENT="3.5 Parameters &amp; Local Variables">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node25.html">
-<LINK REL="previous" HREF="node23.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node25.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html612"
- HREF="node25.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html606"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html600"
- HREF="node23.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html608"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html610"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html613"
- HREF="node25.html">3.6 Overlaying</A>
-<B> Up:</B> <A NAME="tex2html607"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html601"
- HREF="node23.html">3.4 Pointers</A>
- &nbsp <B>  <A NAME="tex2html609"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html611"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00045000000000000000">
-3.5 Parameters &amp; Local Variables</A>
-</H2>
-
-<P>
-Automatic (local) variables and parameters to functions can either
-be placed on the stack or in data-space. The default action of the
-compiler is to place these variables in the internal RAM (for small
-model) or external RAM (for Large model). This in fact makes them
-<I>static</I> so by default functions are non-reentrant.
-
-<P>
-They can be placed on the stack either by using the <I>-stack-auto</I>
-compiler option or by using the <I>reentrant</I> keyword in the function
-declaration, e.g.:
-<BR>
-
-<BR>
-<TT>unsigned char foo(char i) reentrant </TT>&nbsp;
-<BR>
-<TT>{ </TT>&nbsp;
-<BR>
-<TT>... </TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>
-
-<BR>
-Since stack space on 8051 is limited, the <I>reentrant</I> keyword
-or the <I>-stack-auto</I> option should be used sparingly. Note that
-the reentrant keyword just means that the parameters &amp; local variables
-will be allocated to the stack, it <I>does not</I> mean that the function
-is register bank independent.
-<BR>
-
-<BR>
-Local variables can be assigned storage classes and absolute addresses,
-e.g.: 
-<BR>
-
-<BR>
-<TT>unsigned char foo() {</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;xdata unsigned char i;</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;bit bvar;</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;data at 0x31 unsiged char j;</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;... </TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-In the above example the variable <I>i</I> will be allocated in the
-external ram, <I>bvar</I> in bit addressable space and <I>j</I> in
-internal ram. When compiled with <I>-stack-auto</I> or when a function
-is declared as <I>reentrant</I> this can only be done for static variables.
-
-<P>
-Parameters however are not allowed any storage class, (storage classes
-for parameters will be ignored), their allocation is governed by the
-memory model in use, and the reentrancy options.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html612"
- HREF="node25.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html606"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html600"
- HREF="node23.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html608"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html610"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html613"
- HREF="node25.html">3.6 Overlaying</A>
-<B> Up:</B> <A NAME="tex2html607"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html601"
- HREF="node23.html">3.4 Pointers</A>
- &nbsp <B>  <A NAME="tex2html609"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html611"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node25.html b/doc/sdccman.html/node25.html
deleted file mode 100644 (file)
index 24fb960..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.6 Overlaying</TITLE>
-<META NAME="description" CONTENT="3.6 Overlaying">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node26.html">
-<LINK REL="previous" HREF="node24.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node26.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html626"
- HREF="node26.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html620"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html614"
- HREF="node24.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html622"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html624"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html627"
- HREF="node26.html">3.7 Interrupt Service Routines</A>
-<B> Up:</B> <A NAME="tex2html621"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html615"
- HREF="node24.html">3.5 Parameters &amp; Local</A>
- &nbsp <B>  <A NAME="tex2html623"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html625"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00046000000000000000">
-3.6 Overlaying</A>
-</H2>
-
-<P>
-For non-reentrant functions SDCC will try to reduce internal ram space
-usage by overlaying parameters and local variables of a function (if
-possible). Parameters and local variables of a function will be allocated
-to an overlayable segment if the function has <I>no other function
-calls and the function is non-reentrant and the memory model is small.</I>
-If an explicit storage class is specified for a local variable, it
-will NOT be overlayed.
-
-<P>
-Note that the compiler (not the linkage editor) makes the decision
-for overlaying the data items. Functions that are called from an interrupt
-service routine should be preceded by a #pragma&nbsp;NOOVERLAY if they
-are not reentrant.
-
-<P>
-Also note that the compiler does not do any processing of inline assembler
-code, so the compiler might incorrectly assign local variables and
-parameters of a function into the overlay segment if the inline assembler
-code calls other c-functions that might use the overlay. In that case
-the #pragma&nbsp;NOOVERLAY should be used.
-
-<P>
-Parameters and Local variables of functions that contain 16 or 32
-bit multiplication or division will NOT be overlayed since these are
-implemented using external functions, e.g.:
-<BR>
-
-<BR>
-<TT>#pragma SAVE </TT>&nbsp;
-<BR>
-<TT>#pragma NOOVERLAY </TT>&nbsp;
-<BR>
-<TT>void set_error(unsigned char errcd) </TT>&nbsp;
-<BR>
-<TT>{</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;P3 = errcd;</TT>&nbsp;
-<BR>
-<TT>} </TT>&nbsp;
-<BR>
-<TT>#pragma RESTORE </TT>&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>void some_isr () interrupt 2 using 1 </TT>&nbsp;
-<BR>
-<TT>{</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;...</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;set_error(10);</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;... </TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-In the above example the parameter <I>errcd</I> for the function <I>set_error</I>
-would be assigned to the overlayable segment if the #pragma&nbsp;NOOVERLAY
-was not present, this could cause unpredictable runtime behavior when
-called from an ISR. The #pragma&nbsp;NOOVERLAY ensures that the parameters
-and local variables for the function are NOT overlayed.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html626"
- HREF="node26.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html620"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html614"
- HREF="node24.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html622"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html624"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html627"
- HREF="node26.html">3.7 Interrupt Service Routines</A>
-<B> Up:</B> <A NAME="tex2html621"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html615"
- HREF="node24.html">3.5 Parameters &amp; Local</A>
- &nbsp <B>  <A NAME="tex2html623"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html625"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node26.html b/doc/sdccman.html/node26.html
deleted file mode 100644 (file)
index ad0afe2..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.7 Interrupt Service Routines</TITLE>
-<META NAME="description" CONTENT="3.7 Interrupt Service Routines">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node27.html">
-<LINK REL="previous" HREF="node25.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node27.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html640"
- HREF="node27.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html634"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html628"
- HREF="node25.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html636"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html638"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html641"
- HREF="node27.html">3.8 Critical Functions</A>
-<B> Up:</B> <A NAME="tex2html635"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html629"
- HREF="node25.html">3.6 Overlaying</A>
- &nbsp <B>  <A NAME="tex2html637"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html639"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00047000000000000000">
-3.7 Interrupt Service Routines</A>
-</H2>
-
-<P>
-SDCC allows interrupt service routines to be coded in C, with some
-extended keywords.
-<BR>
-
-<BR>
-<TT>void timer_isr (void) interrupt 2 using 1 </TT>&nbsp;
-<BR>
-<TT>{ </TT>&nbsp;
-<BR>
-<TT>.. </TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-The number following the <I>interrupt</I> keyword is the interrupt
-number this routine will service. The compiler will insert a call
-to this routine in the interrupt vector table for the interrupt number
-specified. The <I>using</I> keyword is used to tell the compiler to
-use the specified register bank (8051 specific) when generating code
-for this function. Note that when some function is called from an
-interrupt service routine it should be preceded by a #pragma&nbsp;NOOVERLAY
-if it is not reentrant. A special note here, int (16 bit) and long
-(32 bit) integer division, multiplication &amp; modulus operations are
-implemented using external support routines developed in ANSI-C, if
-an interrupt service routine needs to do any of these operations then
-the support routines (as mentioned in a following section) will have
-to be recompiled using the <I>-stack-auto</I> option and the source
-file will need to be compiled using the <I>-int-long-ren</I>t compiler
-option.
-
-<P>
-If you have multiple source files in your project, interrupt service
-routines can be present in any of them, but a prototype of the isr
-MUST be present or included in the file that contains the function
-<I>main</I>.
-
-<P>
-Interrupt Numbers and the corresponding address &amp; descriptions for
-the Standard 8051 are listed below. SDCC will automatically adjust
-the interrupt vector table to the maximum interrupt number specified.
-<BR>
-
-<P>
-<TABLE CELLPADDING=3 BORDER="1">
-<TR><TD ALIGN="CENTER">Interrupt #</TD>
-<TD ALIGN="CENTER">Description</TD>
-<TD ALIGN="CENTER">Vector Address</TD>
-</TR>
-<TR><TD ALIGN="CENTER">0</TD>
-<TD ALIGN="CENTER">External 0</TD>
-<TD ALIGN="CENTER">0x0003</TD>
-</TR>
-<TR><TD ALIGN="CENTER">1</TD>
-<TD ALIGN="CENTER">Timer 0</TD>
-<TD ALIGN="CENTER">0x000B</TD>
-</TR>
-<TR><TD ALIGN="CENTER">2</TD>
-<TD ALIGN="CENTER">External 1</TD>
-<TD ALIGN="CENTER">0x0013</TD>
-</TR>
-<TR><TD ALIGN="CENTER">3</TD>
-<TD ALIGN="CENTER">Timer 1</TD>
-<TD ALIGN="CENTER">0x001B</TD>
-</TR>
-<TR><TD ALIGN="CENTER">4</TD>
-<TD ALIGN="CENTER">Serial</TD>
-<TD ALIGN="CENTER">0x0023</TD>
-</TR>
-</TABLE>
-<BR>
-
-<BR>
-If the interrupt service routine is defined without <I>using</I> a
-register bank or with register bank 0 (using 0), the compiler will
-save the registers used by itself on the stack upon entry and restore
-them at exit, however if such an interrupt service routine calls another
-function then the entire register bank will be saved on the stack.
-This scheme may be advantageous for small interrupt service routines
-which have low register usage.
-
-<P>
-If the interrupt service routine is defined to be using a specific
-register bank then only <I>a, b &amp; dptr</I> are save and restored,
-if such an interrupt service routine calls another function (using
-another register bank) then the entire register bank of the called
-function will be saved on the stack. This scheme is recommended for
-larger interrupt service routines.
-
-<P>
-Calling other functions from an interrupt service routine is not recommended,
-avoid it if possible.
-<BR>
-
-<BR>
-Also see the _naked modifier.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html640"
- HREF="node27.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html634"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html628"
- HREF="node25.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html636"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html638"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html641"
- HREF="node27.html">3.8 Critical Functions</A>
-<B> Up:</B> <A NAME="tex2html635"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html629"
- HREF="node25.html">3.6 Overlaying</A>
- &nbsp <B>  <A NAME="tex2html637"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html639"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node27.html b/doc/sdccman.html/node27.html
deleted file mode 100644 (file)
index 1df4055..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.8 Critical Functions</TITLE>
-<META NAME="description" CONTENT="3.8 Critical Functions">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node28.html">
-<LINK REL="previous" HREF="node26.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node28.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html654"
- HREF="node28.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html648"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html642"
- HREF="node26.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html650"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html652"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html655"
- HREF="node28.html">3.9 Naked Functions</A>
-<B> Up:</B> <A NAME="tex2html649"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html643"
- HREF="node26.html">3.7 Interrupt Service Routines</A>
- &nbsp <B>  <A NAME="tex2html651"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html653"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00048000000000000000">
-3.8 Critical Functions</A>
-</H2>
-
-<P>
-A special keyword may be associated with a function declaring it as
-<I>critical</I>. SDCC will generate code to disable all interrupts
-upon entry to a critical function and enable them back before returning.
-Note that nesting critical functions may cause unpredictable results.
-<BR>
-
-<BR>
-<TT>int foo () critical </TT>&nbsp;
-<BR>
-<TT>{ </TT>&nbsp;
-<BR>
-<TT>... </TT>&nbsp;
-<BR>
-<TT>... </TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>
-
-<BR>
-The critical attribute maybe used with other attributes like <I>reentrant.</I>
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node28.html b/doc/sdccman.html/node28.html
deleted file mode 100644 (file)
index 043321a..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.9 Naked Functions</TITLE>
-<META NAME="description" CONTENT="3.9 Naked Functions">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node29.html">
-<LINK REL="previous" HREF="node27.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node29.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html668"
- HREF="node29.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html662"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html656"
- HREF="node27.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html664"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html666"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html669"
- HREF="node29.html">3.10 Functions using private</A>
-<B> Up:</B> <A NAME="tex2html663"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html657"
- HREF="node27.html">3.8 Critical Functions</A>
- &nbsp <B>  <A NAME="tex2html665"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html667"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00049000000000000000">
-3.9 Naked Functions</A>
-</H2>
-
-<P>
-A special keyword may be associated with a function declaring it as
-<I>_naked.</I> The <I>_naked</I> function modifier attribute prevents
-the compiler from generating prologue and epilogue code for that function.
-This means that the user is entirely responsible for such things as
-saving any registers that may need to be preserved, selecting the
-proper register bank, generating the <I>return</I> instruction at
-the end, etc. Practically, this means that the contents of the function
-must be written in inline assembler. This is particularly useful for
-interrupt functions, which can have a large (and often unnecessary)
-prologue/epilogue. For example, compare the code generated by these
-two functions:
-<BR>
-
-<BR>
-<TT>data unsigned char counter;</TT>&nbsp;
-<BR>
-<TT>void simpleInterrupt(void) interrupt 1</TT>&nbsp;
-<BR>
-<TT>{</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;counter++;</TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>void nakedInterrupt(void) interrupt 2 _naked</TT>&nbsp;
-<BR>
-<TT>{</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;_asm</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_counter</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reti&nbsp;&nbsp;&nbsp;&nbsp;; MUST explicitly include ret in _naked
-function.</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;_endasm;</TT>&nbsp;
-<BR>
-<TT>}</TT>
-<BR>
-
-<BR>
-For an 8051 target, the generated simpleInterrupt looks like:
-<BR>
-
-<BR>
-<TT>_simpleIterrupt:</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;acc</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;b</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;dpl</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;dph</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;push&nbsp;&nbsp;&nbsp;&nbsp;psw</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;psw,#0x00</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_counter</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;psw</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dph</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dpl</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;pop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;acc</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;reti</TT>
-<BR>
-
-<BR>
-whereas nakedInterrupt looks like:
-<BR>
-
-<BR>
-<TT>_nakedInterrupt:</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;inc&nbsp;&nbsp;&nbsp;&nbsp;_counter</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;reti&nbsp;&nbsp;&nbsp;; MUST explicitly include ret(i) in _naked
-function.</TT>
-<BR>
-
-<BR>
-While there is nothing preventing you from writing C code inside a
-_naked function, there are many ways to shoot yourself in the foot
-doing this, and is is recommended that you stick to inline assembler.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html668"
- HREF="node29.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html662"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html656"
- HREF="node27.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html664"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html666"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html669"
- HREF="node29.html">3.10 Functions using private</A>
-<B> Up:</B> <A NAME="tex2html663"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html657"
- HREF="node27.html">3.8 Critical Functions</A>
- &nbsp <B>  <A NAME="tex2html665"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html667"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node29.html b/doc/sdccman.html/node29.html
deleted file mode 100644 (file)
index b3549b5..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.10 Functions using private banks</TITLE>
-<META NAME="description" CONTENT="3.10 Functions using private banks">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node30.html">
-<LINK REL="previous" HREF="node28.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node30.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html682"
- HREF="node30.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html676"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html670"
- HREF="node28.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html678"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html680"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html683"
- HREF="node30.html">3.11 Absolute Addressing</A>
-<B> Up:</B> <A NAME="tex2html677"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html671"
- HREF="node28.html">3.9 Naked Functions</A>
- &nbsp <B>  <A NAME="tex2html679"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html681"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION000410000000000000000">
-3.10 Functions using private banks</A>
-</H2>
-
-<P>
-The <I>using</I> attribute (which tells the compiler to use a register
-bank other than the default bank zero) should only be applied to <I>interrupt</I>
-functions (see note 1 below). This will in most circumstances make
-the generated ISR code more efficient since it will not have to save
-registers on the stack.
-
-<P>
-The <I>using</I> attribute will have no effect on the generated code
-for a <I>non-interrupt</I> function (but may occasionally be useful
-anyway<A NAME="tex2html1"
- HREF="footnode.html#foot531"><SUP>1</SUP></A>).
-<BR>
-<I>(pending: I don't think this has been done yet)</I>
-
-<P>
-An <I>interrupt</I> function using a non-zero bank will assume that
-it can trash that register bank, and will not save it. Since high-priority
-interrupts can interrupt low-priority ones on the 8051 and friends,
-this means that if a high-priority ISR <I>using</I> a particular bank
-occurs while processing a low-priority ISR <I>using</I> the same bank,
-terrible and bad things can happen. To prevent this, no single register
-bank should be <I>used</I> by both a high priority and a low priority
-ISR. This is probably most easily done by having all high priority
-ISRs use one bank and all low priority ISRs use another. If you have
-an ISR which can change priority at runtime, you're on your own: I
-suggest using the default bank zero and taking the small performance
-hit.
-
-<P>
-It is most efficient if your ISR calls no other functions. If your
-ISR must call other functions, it is most efficient if those functions
-use the same bank as the ISR (see note 1 below); the next best is
-if the called functions use bank zero. It is very inefficient to call
-a function using a different, non-zero bank from an ISR. 
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html682"
- HREF="node30.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html676"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html670"
- HREF="node28.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html678"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html680"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html683"
- HREF="node30.html">3.11 Absolute Addressing</A>
-<B> Up:</B> <A NAME="tex2html677"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html671"
- HREF="node28.html">3.9 Naked Functions</A>
- &nbsp <B>  <A NAME="tex2html679"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html681"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node3.html b/doc/sdccman.html/node3.html
deleted file mode 100644 (file)
index f04dc52..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>1.1 About SDCC</TITLE>
-<META NAME="description" CONTENT="1.1 About SDCC">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node4.html">
-<LINK REL="previous" HREF="node2.html">
-<LINK REL="up" HREF="node2.html">
-<LINK REL="next" HREF="node4.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html236"
- HREF="node4.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html230"
- HREF="node2.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html224"
- HREF="node2.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html232"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html234"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html237"
- HREF="node4.html">1.2 Open Source</A>
-<B> Up:</B> <A NAME="tex2html231"
- HREF="node2.html">1. Introduction</A>
-<B> Previous:</B> <A NAME="tex2html225"
- HREF="node2.html">1. Introduction</A>
- &nbsp <B>  <A NAME="tex2html233"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html235"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00021000000000000000">
-1.1 About SDCC</A>
-</H2>
-
-<P>
-<B>SDCC</B> is a Freeware, retargettable, optimizing ANSI-C compiler
-by <B>Sandeep Dutta</B> designed for 8 bit Microprocessors. The
-current version targets Intel MCS51 based Microprocessors(8051,8052,
-etc), Zilog Z80 based MCUs, and the Dallas DS80C390 variant. It can
-be retargetted for other microprocessors, support for PIC, AVR and
-186 is under development. The entire source code for the compiler
-is distributed under GPL. SDCC uses ASXXXX &amp; ASLINK, a Freeware,
-retargettable assembler &amp; linker. SDCC has extensive language extensions
-suitable for utilizing various microcontrollers and underlying hardware
-effectively. 
-<BR>
-
-<BR>
-In addition to the MCU specific optimizations SDCC also does a host
-of standard optimizations like:
-
-<P>
-
-<UL>
-<LI>global sub expression elimination, </LI>
-<LI>loop optimizations (loop invariant, strength reduction of induction
-variables and loop reversing), </LI>
-<LI>constant folding &amp; propagation, </LI>
-<LI>copy propagation, </LI>
-<LI>dead code elimination </LI>
-<LI>jumptables for <I>switch</I> statements.</LI>
-</UL>
-For the back-end SDCC uses a global register allocation scheme which
-should be well suited for other 8 bit MCUs. 
-<BR>
-
-<BR>
-The peep hole optimizer uses a rule based substitution mechanism which
-is MCU independent. 
-<BR>
-
-<BR>
-Supported data-types are:
-
-<P>
-
-<UL>
-<LI>char (8 bits, 1 byte), </LI>
-<LI>short and int (16 bits, 2 bytes), </LI>
-<LI>long (32 bit, 4 bytes)</LI>
-<LI>float (4 byte IEEE). </LI>
-</UL>
-The compiler also allows <I>inline assembler code</I> to be embedded
-anywhere in a function. In addition, routines developed in assembly
-can also be called.
-<BR>
-
-<BR>
-SDCC also provides an option (-cyclomatic) to report the relative
-complexity of a function. These functions can then be further optimized,
-or hand coded in assembly if needed. 
-<BR>
-
-<BR>
-SDCC also comes with a companion source level debugger SDCDB, the
-debugger currently uses ucSim a freeware simulator for 8051 and other
-micro-controllers. 
-<BR>
-
-<BR>
-The latest version can be downloaded from  http://sdcc.sourceforge.net/<B>.</B>
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html236"
- HREF="node4.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html230"
- HREF="node2.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html224"
- HREF="node2.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html232"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html234"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html237"
- HREF="node4.html">1.2 Open Source</A>
-<B> Up:</B> <A NAME="tex2html231"
- HREF="node2.html">1. Introduction</A>
-<B> Previous:</B> <A NAME="tex2html225"
- HREF="node2.html">1. Introduction</A>
- &nbsp <B>  <A NAME="tex2html233"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html235"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node30.html b/doc/sdccman.html/node30.html
deleted file mode 100644 (file)
index c400b98..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.11 Absolute Addressing</TITLE>
-<META NAME="description" CONTENT="3.11 Absolute Addressing">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node31.html">
-<LINK REL="previous" HREF="node29.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node31.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html696"
- HREF="node31.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html690"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html684"
- HREF="node29.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html692"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html694"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html697"
- HREF="node31.html">3.12 Startup Code</A>
-<B> Up:</B> <A NAME="tex2html691"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html685"
- HREF="node29.html">3.10 Functions using private</A>
- &nbsp <B>  <A NAME="tex2html693"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html695"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION000411000000000000000">
-3.11 Absolute Addressing</A>
-</H2>
-
-<P>
-Data items can be assigned an absolute address with the <I>at &lt;address&gt;</I>
-keyword, in addition to a storage class, e.g.:
-<BR>
-
-<BR>
-<TT>xdata at 0x8000 unsigned char PORTA_8255 ;</TT>&nbsp;
-<BR>
-
-<BR>
-In the above example the PORTA_8255 will be allocated to the location
-0x8000 of the external ram. Note that this feature is provided to
-give the programmer access to <I>memory mapped</I> devices attached
-to the controller. The compiler does not actually reserve any space
-for variables declared in this way (they are implemented with an equate
-in the assembler). Thus it is left to the programmer to make sure
-there are no overlaps with other variables that are declared without
-the absolute address. The assembler listing file (.lst) and the linker
-output files (.rst) and (.map) are a good places to look for such
-overlaps.
-<BR>
-
-<BR>
-Absolute address can be specified for variables in all storage classes,
-e.g.:
-<BR>
-
-<BR>
-<TT>bit at 0x02 bvar;</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-The above example will allocate the variable at offset 0x02 in the
-bit-addressable space. There is no real advantage to assigning absolute
-addresses to variables in this manner, unless you want strict control
-over all the variables allocated.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html696"
- HREF="node31.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html690"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html684"
- HREF="node29.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html692"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html694"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html697"
- HREF="node31.html">3.12 Startup Code</A>
-<B> Up:</B> <A NAME="tex2html691"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html685"
- HREF="node29.html">3.10 Functions using private</A>
- &nbsp <B>  <A NAME="tex2html693"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html695"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node31.html b/doc/sdccman.html/node31.html
deleted file mode 100644 (file)
index eefc4a5..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.12 Startup Code</TITLE>
-<META NAME="description" CONTENT="3.12 Startup Code">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node32.html">
-<LINK REL="previous" HREF="node30.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node32.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html710"
- HREF="node32.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html704"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html698"
- HREF="node30.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html706"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html708"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html711"
- HREF="node32.html">3.13 Inline Assembler Code</A>
-<B> Up:</B> <A NAME="tex2html705"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html699"
- HREF="node30.html">3.11 Absolute Addressing</A>
- &nbsp <B>  <A NAME="tex2html707"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html709"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION000412000000000000000">
-3.12 Startup Code</A>
-</H2>
-
-<P>
-The compiler inserts a call to the C routine <I>_sdcc__external__startup()</I>
-at the start of the CODE area. This routine is in the runtime library.
-By default this routine returns 0, if this routine returns a non-zero
-value, the static &amp; global variable initialization will be skipped
-and the function main will be invoked Other wise static &amp; global
-variables will be initialized before the function main is invoked.
-You could add a <I>_sdcc__external__startup()</I> routine to
-your program to override the default if you need to setup hardware
-or perform some other critical operation prior to static &amp; global
-variable initialization.
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node32.html b/doc/sdccman.html/node32.html
deleted file mode 100644 (file)
index 9edc9a0..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.13 Inline Assembler Code</TITLE>
-<META NAME="description" CONTENT="3.13 Inline Assembler Code">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node33.html">
-<LINK REL="previous" HREF="node31.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node33.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html724"
- HREF="node33.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html718"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html712"
- HREF="node31.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html720"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html722"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html725"
- HREF="node33.html">3.14 int(16 bit) and</A>
-<B> Up:</B> <A NAME="tex2html719"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html713"
- HREF="node31.html">3.12 Startup Code</A>
- &nbsp <B>  <A NAME="tex2html721"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html723"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION000413000000000000000">
-3.13 Inline Assembler Code</A>
-</H2>
-
-<P>
-SDCC allows the use of in-line assembler with a few restriction as
-regards labels. All labels defined within inline assembler code <I>has
-to be</I> of the form <I>nnnnn$</I> where nnnn is a number less than
-100 (which implies a limit of utmost 100 inline assembler labels <I>per
-function</I>). It is strongly recommended that each assembly
-instruction (including labels) be placed in a separate line (as the
-example shows). When the <I>-peep-asm</I> command line option is
-used, the inline assembler code will be passed through the peephole
-optimizer. This might cause some unexpected changes in the inline
-assembler code. Please go throught the peephole optimizer rules defined
-in file <I>SDCCpeeph.def</I> carefully before using this option.
-<BR>
-
-<BR>
-<TT>_asm </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b,#10 </TT>&nbsp;
-<BR>
-<TT>00001$: </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;djnz&nbsp;&nbsp;&nbsp;&nbsp;b,00001$ </TT>&nbsp;
-<BR>
-<TT>_endasm ;</TT>
-<BR>
-
-<BR>
-The inline assembler code can contain any valid code understood by
-the assembler, this includes any assembler directives and comment
-lines. The compiler does not do any validation of the code within
-the <TT>_asm ... _endasm;</TT> keyword pair. 
-<BR>
-
-<BR>
-Inline assembler code cannot reference any C-Labels, however it can
-reference labels defined by the inline assembler, e.g.:
-<BR>
-
-<BR>
-<TT>foo() { </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;/* some c code */ </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;_asm </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; some assembler code </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ljmp $0003 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;_endasm; </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;/* some more c code */ </TT>&nbsp;
-<BR>
-<TT>clabel:&nbsp;&nbsp;/* inline assembler cannot reference this label
-*/ </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;_asm</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;$0003: ;label (can be reference by inline assembler
-only) </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;_endasm ; </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;/* some more c code */</TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-In other words inline assembly code can access labels defined in inline
-assembly within the scope of the funtion. 
-
-<P>
-The same goes the other way, ie. labels defines in inline assembly
-CANNOT be accessed by C statements.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html724"
- HREF="node33.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html718"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html712"
- HREF="node31.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html720"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html722"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html725"
- HREF="node33.html">3.14 int(16 bit) and</A>
-<B> Up:</B> <A NAME="tex2html719"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html713"
- HREF="node31.html">3.12 Startup Code</A>
- &nbsp <B>  <A NAME="tex2html721"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html723"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node33.html b/doc/sdccman.html/node33.html
deleted file mode 100644 (file)
index 874f367..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.14 int(16 bit) and long (32 bit) Support</TITLE>
-<META NAME="description" CONTENT="3.14 int(16 bit) and long (32 bit) Support">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node34.html">
-<LINK REL="previous" HREF="node32.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node34.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html738"
- HREF="node34.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html732"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html726"
- HREF="node32.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html734"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html736"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html739"
- HREF="node34.html">3.15 Floating Point Support</A>
-<B> Up:</B> <A NAME="tex2html733"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html727"
- HREF="node32.html">3.13 Inline Assembler Code</A>
- &nbsp <B>  <A NAME="tex2html735"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html737"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION000414000000000000000">
-3.14 int(16 bit) and long (32 bit) Support</A>
-</H2>
-
-<P>
-For signed &amp; unsigned int (16 bit) and long (32 bit) variables, division,
-multiplication and modulus operations are implemented by support routines.
-These support routines are all developed in ANSI-C to facilitate porting
-to other MCUs, although some model specific assembler optimations
-are used. The following files contain the described routine, all of
-them can be found in &lt;installdir&gt;/share/sdcc/lib.
-<BR>
-
-<BR>
-<I>&lt;pending: tabularise this&gt;</I>
-<BR>
-
-<BR>
-_mulsint.c - signed 16 bit multiplication (calls _muluint)
-<BR>
-_muluint.c - unsigned 16 bit multiplication
-<BR>
-_divsint.c - signed 16 bit division (calls _divuint)
-<BR>
-_divuint.c - unsigned 16 bit division
-<BR>
-_modsint.c - signed 16 bit modulus (call _moduint)
-<BR>
-_moduint.c - unsigned 16 bit modulus
-<BR>
-_mulslong.c - signed 32 bit multiplication (calls _mululong)
-<BR>
-_mululong.c - unsigned32 bit multiplication
-<BR>
-_divslong.c - signed 32 division (calls _divulong)
-<BR>
-_divulong.c - unsigned 32 division
-<BR>
-_modslong.c - signed 32 bit modulus (calls _modulong)
-<BR>
-_modulong.c - unsigned 32 bit modulus 
-<BR>
-
-<BR>
-Since they are compiled as <I>non-reentrant</I>, interrupt service
-routines should not do any of the above operations. If this is unavoidable
-then the above routines will need to be compiled with the <I>-stack-auto</I>
-option, after which the source program will have to be compiled with
-<I>-int-long-rent</I> option.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html738"
- HREF="node34.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html732"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html726"
- HREF="node32.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html734"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html736"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html739"
- HREF="node34.html">3.15 Floating Point Support</A>
-<B> Up:</B> <A NAME="tex2html733"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html727"
- HREF="node32.html">3.13 Inline Assembler Code</A>
- &nbsp <B>  <A NAME="tex2html735"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html737"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node34.html b/doc/sdccman.html/node34.html
deleted file mode 100644 (file)
index 4da6203..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.15 Floating Point Support</TITLE>
-<META NAME="description" CONTENT="3.15 Floating Point Support">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node35.html">
-<LINK REL="previous" HREF="node33.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node35.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html752"
- HREF="node35.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html746"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html740"
- HREF="node33.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html748"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html750"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html753"
- HREF="node35.html">3.16 MCS51 Memory Models</A>
-<B> Up:</B> <A NAME="tex2html747"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html741"
- HREF="node33.html">3.14 int(16 bit) and</A>
- &nbsp <B>  <A NAME="tex2html749"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html751"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION000415000000000000000">
-3.15 Floating Point Support</A>
-</H2>
-
-<P>
-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:
-<BR>
-
-<BR>
-<I>&lt;pending: tabularise this&gt;</I>
-<BR>
-
-<BR>
-_fsadd.c - add floating point numbers
-<BR>
-_fssub.c - subtract floating point numbers
-<BR>
-_fsdiv.c - divide floating point numbers
-<BR>
-_fsmul.c - multiply floating point numbers
-<BR>
-_fs2uchar.c - convert floating point to unsigned char
-<BR>
-_fs2char.c - convert floating point to signed char
-<BR>
-_fs2uint.c - convert floating point to unsigned int
-<BR>
-_fs2int.c - convert floating point to signed int
-<BR>
-_fs2ulong.c - convert floating point to unsigned long
-<BR>
-_fs2long.c - convert floating point to signed long
-<BR>
-_uchar2fs.c - convert unsigned char to floating point
-<BR>
-_char2fs.c - convert char to floating point number
-<BR>
-_uint2fs.c - convert unsigned int to floating point
-<BR>
-_int2fs.c - convert int to floating point numbers
-<BR>
-_ulong2fs.c - convert unsigned long to floating point number
-<BR>
-_long2fs.c - convert long to floating point number
-<BR>
-
-<BR>
-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 model be used.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html752"
- HREF="node35.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html746"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html740"
- HREF="node33.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html748"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html750"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html753"
- HREF="node35.html">3.16 MCS51 Memory Models</A>
-<B> Up:</B> <A NAME="tex2html747"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html741"
- HREF="node33.html">3.14 int(16 bit) and</A>
- &nbsp <B>  <A NAME="tex2html749"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html751"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node35.html b/doc/sdccman.html/node35.html
deleted file mode 100644 (file)
index bfd4fc6..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.16 MCS51 Memory Models</TITLE>
-<META NAME="description" CONTENT="3.16 MCS51 Memory Models">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node36.html">
-<LINK REL="previous" HREF="node34.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node36.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html766"
- HREF="node36.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html760"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html754"
- HREF="node34.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html762"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html764"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html767"
- HREF="node36.html">3.17 DS390 Memory Models</A>
-<B> Up:</B> <A NAME="tex2html761"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html755"
- HREF="node34.html">3.15 Floating Point Support</A>
- &nbsp <B>  <A NAME="tex2html763"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html765"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION000416000000000000000">
-3.16 MCS51 Memory Models</A>
-</H2>
-
-<P>
-SDCC allows two memory models for MCS51 code, small and large. Modules
-compiled with different memory models should <I>never</I> be combined
-together or the results would be unpredictable. The library routines
-supplied with the compiler are compiled as both small and large. The
-compiled library modules are contained in seperate directories as
-small and large so that you can link to either set. 
-
-<P>
-When the large model is used all variables declared without a storage
-class will be allocated into the external ram, this includes all parameters
-and local variables (for non-reentrant functions). When the small
-model is used variables without storage class are allocated in the
-internal ram.
-
-<P>
-Judicious usage of the processor specific storage classes and the
-'reentrant' function type will yield much more efficient code, than
-using the large model. Several optimizations are disabled when the
-program is compiled using the large model, it is therefore strongly
-recommdended that the small model be used unless absolutely required.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html766"
- HREF="node36.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html760"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html754"
- HREF="node34.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html762"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html764"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html767"
- HREF="node36.html">3.17 DS390 Memory Models</A>
-<B> Up:</B> <A NAME="tex2html761"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html755"
- HREF="node34.html">3.15 Floating Point Support</A>
- &nbsp <B>  <A NAME="tex2html763"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html765"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node36.html b/doc/sdccman.html/node36.html
deleted file mode 100644 (file)
index 0cd5465..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.17 DS390 Memory Models</TITLE>
-<META NAME="description" CONTENT="3.17 DS390 Memory Models">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node37.html">
-<LINK REL="previous" HREF="node35.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node37.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html780"
- HREF="node37.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html774"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html768"
- HREF="node35.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html776"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html778"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html781"
- HREF="node37.html">3.18 Defines Created by</A>
-<B> Up:</B> <A NAME="tex2html775"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html769"
- HREF="node35.html">3.16 MCS51 Memory Models</A>
- &nbsp <B>  <A NAME="tex2html777"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html779"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION000417000000000000000">
-3.17 DS390 Memory Models</A>
-</H2>
-
-<P>
-The only model supported is Flat 24. This generates code for the 24
-bit contiguous addressing mode of the Dallas DS80C390 part. In this
-mode, up to four meg of external RAM or code space can be directly
-addressed. See the data sheets at www.dalsemi.com for further information
-on this part.
-<BR>
-
-<BR>
-In older versions of the compiler, this option was used with the MCS51
-code generator (<I>-mmcs51</I>). Now, however, the '390 has it's own
-code generator, selected by the <I>-mds390</I> switch. 
-<BR>
-
-<BR>
-Note that the compiler does not generate any code to place the processor
-into 24 bitmode (although <I>tinibios</I> in the ds390 libraries will
-do that for you). If you don't use <I>tinibios</I>, the boot loader
-or similar code must ensure that the processor is in 24 bit contiguous
-addressing mode before calling the SDCC startup code.
-<BR>
-
-<BR>
-Like the <I>-model-large</I> option, variables will by default be
-placed into the XDATA segment. 
-<BR>
-
-<BR>
-Segments may be placed anywhere in the 4 meg address space using the
-usual -*-loc options. Note that if any segments are located above
-64K, the -r flag must be passed to the linker to generate the proper
-segment relocations, and the Intel HEX output format must be used.
-The -r flag can be passed to the linker by using the option <I>-Wl-r</I>
-on the sdcc command line. However, currently the linker can not handle
-code segments &gt; 64k.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html780"
- HREF="node37.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html774"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html768"
- HREF="node35.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html776"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html778"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html781"
- HREF="node37.html">3.18 Defines Created by</A>
-<B> Up:</B> <A NAME="tex2html775"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html769"
- HREF="node35.html">3.16 MCS51 Memory Models</A>
- &nbsp <B>  <A NAME="tex2html777"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html779"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node37.html b/doc/sdccman.html/node37.html
deleted file mode 100644 (file)
index 984d3a2..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>3.18 Defines Created by the Compiler</TITLE>
-<META NAME="description" CONTENT="3.18 Defines Created by the Compiler">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="previous" HREF="node36.html">
-<LINK REL="up" HREF="node19.html">
-<LINK REL="next" HREF="node38.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html792"
- HREF="node38.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html786"
- HREF="node19.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html782"
- HREF="node36.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html788"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html790"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html793"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Up:</B> <A NAME="tex2html787"
- HREF="node19.html">3. Using SDCC</A>
-<B> Previous:</B> <A NAME="tex2html783"
- HREF="node36.html">3.17 DS390 Memory Models</A>
- &nbsp <B>  <A NAME="tex2html789"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html791"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION000418000000000000000">
-3.18 Defines Created by the Compiler</A>
-</H2>
-
-<P>
-The compiler creates the following #defines.
-
-<P>
-
-<UL>
-<LI>SDCC - this Symbol is always defined.</LI>
-<LI>SDCC_mcs51 or SDCC_ds390 or SDCC_z80, etc - depending on the model
-used (e.g.: -mds390)</LI>
-<LI>__mcs51 or __ds390 or __z80, etc - depending on the model used
-(e.g. -mz80)</LI>
-<LI>SDCC_STACK_AUTO - this symbol is defined when <I>-stack-auto</I>
-option is used.</LI>
-<LI>SDCC_MODEL_SMALL - when <I>-model-small</I> is used.</LI>
-<LI>SDCC_MODEL_LARGE - when <I>-model-large</I> is used.</LI>
-<LI>SDCC_USE_XSTACK - when <I>-xstack</I> option is used.</LI>
-<LI>SDCC_STACK_TENBIT - when <I>-mds390</I> is used</LI>
-<LI>SDCC_MODEL_FLAT24 - when <I>-mds390</I> is used</LI>
-</UL>
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node38.html b/doc/sdccman.html/node38.html
deleted file mode 100644 (file)
index a9efd93..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>4. SDCC Technical Data</TITLE>
-<META NAME="description" CONTENT="4. SDCC Technical Data">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node46.html">
-<LINK REL="previous" HREF="node19.html">
-<LINK REL="up" HREF="sdccman.html">
-<LINK REL="next" HREF="node39.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html806"
- HREF="node39.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html800"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html794"
- HREF="node37.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html802"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html804"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html807"
- HREF="node39.html">4.1 Optimizations</A>
-<B> Up:</B> <A NAME="tex2html801"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html795"
- HREF="node37.html">3.18 Defines Created by</A>
- &nbsp <B>  <A NAME="tex2html803"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html805"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00050000000000000000">
-4. SDCC Technical Data</A>
-</H1>
-
-<P>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html808"
- HREF="node39.html">4.1 Optimizations</A>
-<UL>
-<LI><A NAME="tex2html809"
- HREF="node39.html#SECTION00051100000000000000">4.1.1 Sub-expression Elimination</A>
-<LI><A NAME="tex2html810"
- HREF="node39.html#SECTION00051200000000000000">4.1.2 Dead-Code Elimination</A>
-<LI><A NAME="tex2html811"
- HREF="node39.html#SECTION00051300000000000000">4.1.3 Copy-Propagation</A>
-<LI><A NAME="tex2html812"
- HREF="node39.html#SECTION00051400000000000000">4.1.4 Loop Optimizations</A>
-<LI><A NAME="tex2html813"
- HREF="node39.html#SECTION00051500000000000000">4.1.5 Loop Reversing</A>
-<LI><A NAME="tex2html814"
- HREF="node39.html#SECTION00051600000000000000">4.1.6 Algebraic Simplifications</A>
-<LI><A NAME="tex2html815"
- HREF="node39.html#SECTION00051700000000000000">4.1.7 'switch' Statements</A>
-<LI><A NAME="tex2html816"
- HREF="node39.html#SECTION00051800000000000000">4.1.8 Bit-shifting Operations.</A>
-<LI><A NAME="tex2html817"
- HREF="node39.html#SECTION00051900000000000000">4.1.9 Bit-rotation</A>
-<LI><A NAME="tex2html818"
- HREF="node39.html#SECTION000511000000000000000">4.1.10 Highest Order Bit</A>
-<LI><A NAME="tex2html819"
- HREF="node39.html#SECTION000511100000000000000">4.1.11 Peep-hole Optimizer</A>
-</UL>
-<LI><A NAME="tex2html820"
- HREF="node40.html">4.2 Pragmas</A>
-<LI><A NAME="tex2html821"
- HREF="node41.html">4.3 <I>&lt;pending: this is messy and incomplete&gt;</I> Library Routines</A>
-<LI><A NAME="tex2html822"
- HREF="node42.html">4.4 Interfacing with Assembly Routines</A>
-<UL>
-<LI><A NAME="tex2html823"
- HREF="node42.html#SECTION00054100000000000000">4.4.1 Global Registers used for Parameter Passing</A>
-<LI><A NAME="tex2html824"
- HREF="node42.html#SECTION00054200000000000000">4.4.2 Assembler Routine(non-reentrant)</A>
-<LI><A NAME="tex2html825"
- HREF="node42.html#SECTION00054300000000000000">4.4.3 Assembler Routine(reentrant)</A>
-</UL>
-<LI><A NAME="tex2html826"
- HREF="node43.html">4.5 External Stack</A>
-<LI><A NAME="tex2html827"
- HREF="node44.html">4.6 ANSI-Compliance</A>
-<LI><A NAME="tex2html828"
- HREF="node45.html">4.7 Cyclomatic Complexity</A>
-</UL>
-<!--End of Table of Child-Links-->
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node39.html b/doc/sdccman.html/node39.html
deleted file mode 100644 (file)
index 2596e8e..0000000
+++ /dev/null
@@ -1,903 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>4.1 Optimizations</TITLE>
-<META NAME="description" CONTENT="4.1 Optimizations">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node40.html">
-<LINK REL="previous" HREF="node38.html">
-<LINK REL="up" HREF="node38.html">
-<LINK REL="next" HREF="node40.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html841"
- HREF="node40.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html835"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html829"
- HREF="node38.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html837"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html839"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html842"
- HREF="node40.html">4.2 Pragmas</A>
-<B> Up:</B> <A NAME="tex2html836"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html830"
- HREF="node38.html">4. SDCC Technical Data</A>
- &nbsp <B>  <A NAME="tex2html838"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html840"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html843"
- HREF="node39.html#SECTION00051100000000000000">4.1.1 Sub-expression Elimination</A>
-<LI><A NAME="tex2html844"
- HREF="node39.html#SECTION00051200000000000000">4.1.2 Dead-Code Elimination</A>
-<LI><A NAME="tex2html845"
- HREF="node39.html#SECTION00051300000000000000">4.1.3 Copy-Propagation</A>
-<LI><A NAME="tex2html846"
- HREF="node39.html#SECTION00051400000000000000">4.1.4 Loop Optimizations</A>
-<LI><A NAME="tex2html847"
- HREF="node39.html#SECTION00051500000000000000">4.1.5 Loop Reversing</A>
-<LI><A NAME="tex2html848"
- HREF="node39.html#SECTION00051600000000000000">4.1.6 Algebraic Simplifications</A>
-<LI><A NAME="tex2html849"
- HREF="node39.html#SECTION00051700000000000000">4.1.7 'switch' Statements</A>
-<LI><A NAME="tex2html850"
- HREF="node39.html#SECTION00051800000000000000">4.1.8 Bit-shifting Operations.</A>
-<LI><A NAME="tex2html851"
- HREF="node39.html#SECTION00051900000000000000">4.1.9 Bit-rotation</A>
-<LI><A NAME="tex2html852"
- HREF="node39.html#SECTION000511000000000000000">4.1.10 Highest Order Bit</A>
-<LI><A NAME="tex2html853"
- HREF="node39.html#SECTION000511100000000000000">4.1.11 Peep-hole Optimizer</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-
-<H2><A NAME="SECTION00051000000000000000">
-4.1 Optimizations</A>
-</H2>
-
-<P>
-SDCC performs a host of standard optimizations in addition to some
-MCU specific optimizations. 
-
-<P>
-
-<H3><A NAME="SECTION00051100000000000000">
-4.1.1 Sub-expression Elimination</A>
-</H3>
-
-<P>
-The compiler does local and global common subexpression elimination,
-e.g.: 
-<BR>
-
-<BR>
-<TT>i = x + y + 1; </TT>&nbsp;
-<BR>
-<TT>j = x + y;</TT>
-<BR>
-
-<BR>
-will be translated to
-<BR>
-
-<BR>
-<TT>iTemp = x + y </TT>&nbsp;
-<BR>
-<TT>i = iTemp + 1 </TT>&nbsp;
-<BR>
-<TT>j = iTemp</TT>&nbsp;
-<BR>
-
-<BR>
-Some subexpressions are not as obvious as the above example, e.g.:
-<BR>
-
-<BR>
-<TT>a-&gt;b[i].c = 10; </TT>&nbsp;
-<BR>
-<TT>a-&gt;b[i].d = 11;</TT>
-<BR>
-
-<BR>
-In this case the address arithmetic a-&gt;b[i] will be computed only
-once; the equivalent code in C would be.
-<BR>
-
-<BR>
-<TT>iTemp = a-&gt;b[i]; </TT>&nbsp;
-<BR>
-<TT>iTemp.c = 10; </TT>&nbsp;
-<BR>
-<TT>iTemp.d = 11;</TT>
-<BR>
-
-<BR>
-The compiler will try to keep these temporary variables in registers.
-
-<P>
-
-<H3><A NAME="SECTION00051200000000000000">
-4.1.2 Dead-Code Elimination</A>
-</H3>
-
-<P>
-<TT>int global; </TT>&nbsp;
-<BR>
-<TT>void f () { </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;int i; </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;i = 1; &nbsp;/* dead store */ </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;global = 1;&nbsp;/* dead store */ </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;global = 2; </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;return; </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;global = 3;&nbsp;/* unreachable */ </TT>&nbsp;
-<BR>
-<TT>}</TT>
-<BR>
-
-<BR>
-will be changed to
-<BR>
-
-<BR>
-<TT>int global; void f () </TT>&nbsp;
-<BR>
-<TT>{</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;global = 2; </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;return; </TT>&nbsp;
-<BR>
-<TT>}</TT>
-
-<P>
-
-<H3><A NAME="SECTION00051300000000000000">
-4.1.3 Copy-Propagation</A>
-</H3>
-
-<P>
-<TT>int f() { </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;int i, j; </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;i = 10; </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;j = i; </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;return j; </TT>&nbsp;
-<BR>
-<TT>}</TT>
-<BR>
-
-<BR>
-will be changed to 
-<BR>
-
-<BR>
-<TT>int f() { </TT>&nbsp;
-<BR>
-<TT>&nbsp; &nbsp; int i,j; </TT>&nbsp;
-<BR>
-<TT>&nbsp; &nbsp; i = 10; </TT>&nbsp;
-<BR>
-<TT>&nbsp; &nbsp; j = 10; </TT>&nbsp;
-<BR>
-<TT>&nbsp; &nbsp; return 10; </TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-Note: the dead stores created by this copy propagation will be eliminated
-by dead-code elimination.
-
-<P>
-
-<H3><A NAME="SECTION00051400000000000000">
-4.1.4 Loop Optimizations</A>
-</H3>
-
-<P>
-Two types of loop optimizations are done by SDCC loop invariant lifting
-and strength reduction of loop induction variables. In addition to
-the strength reduction the optimizer marks the induction variables
-and the register allocator tries to keep the induction variables in
-registers for the duration of the loop. Because of this preference
-of the register allocator, loop induction optimization causes an increase
-in register pressure, which may cause unwanted spilling of other temporary
-variables into the stack / data space. The compiler will generate
-a warning message when it is forced to allocate extra space either
-on the stack or data space. If this extra space allocation is undesirable
-then induction optimization can be eliminated either for the entire
-source file (with -noinduction option) or for a given function only
-using #pragma&nbsp;NOINDUCTION.
-<BR>
-
-<BR>
-Loop Invariant:
-<BR>
-
-<BR>
-<TT>for (i = 0 ; i &lt; 100 ; i ++) </TT>&nbsp;
-<BR>
- <TT>&nbsp; &nbsp;f += k + l;</TT>
-<BR>
-
-<BR>
-changed to
-<BR>
-
-<BR>
-<TT>itemp = k + l; </TT>&nbsp;
-<BR>
-<TT>for (i = 0; i &lt; 100; i++) </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;f += itemp;</TT>
-<BR>
-
-<BR>
-As mentioned previously some loop invariants are not as apparent,
-all static address computations are also moved out of the loop.
-<BR>
-
-<BR>
-Strength Reduction, this optimization substitutes an expression by
-a cheaper expression:
-<BR>
-
-<BR>
-<TT>for (i=0;i &lt; 100; i++)</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;ar[i*5] = i*3;</TT>
-<BR>
-
-<BR>
-changed to
-<BR>
-
-<BR>
-<TT>itemp1 = 0; </TT>&nbsp;
-<BR>
-<TT>itemp2 = 0; </TT>&nbsp;
-<BR>
-<TT>for (i=0;i&lt; 100;i++) { </TT>&nbsp;
-<BR>
- <TT>&nbsp; &nbsp;ar[itemp1] = itemp2; </TT>&nbsp;
-<BR>
- <TT>&nbsp; &nbsp;itemp1 += 5; </TT>&nbsp;
-<BR>
- <TT>&nbsp; &nbsp;itemp2 += 3; </TT>&nbsp;
-<BR>
-<TT>}</TT>
-<BR>
-
-<BR>
-The more expensive multiplication is changed to a less expensive addition.
-
-<P>
-
-<H3><A NAME="SECTION00051500000000000000">
-4.1.5 Loop Reversing</A>
-</H3>
-
-<P>
-This optimization is done to reduce the overhead of checking loop
-boundaries for every iteration. Some simple loops can be reversed
-and implemented using a ``decrement and jump if not zero'' instruction.
-SDCC checks for the following criterion to determine if a loop is
-reversible (note: more sophisticated compilers use data-dependency
-analysis to make this determination, SDCC uses a more simple minded
-analysis).
-
-<P>
-
-<UL>
-<LI>The 'for' loop is of the form 
-<BR>
-
-<BR>
-<TT>for (&lt;symbol&gt; = &lt;expression&gt; ; &lt;sym&gt; [&lt; | &lt;=] &lt;expression&gt;
-; [&lt;sym&gt;++ | &lt;sym&gt; += 1])</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&lt;for body&gt;</TT></LI>
-<LI>The &lt;for body&gt; does not contain ``continue'' or 'break''.</LI>
-<LI>All goto's are contained within the loop.</LI>
-<LI>No function calls within the loop.</LI>
-<LI>The loop control variable &lt;sym&gt; is not assigned any value within the
-loop</LI>
-<LI>The loop control variable does NOT participate in any arithmetic operation
-within the loop.</LI>
-<LI>There are NO switch statements in the loop.</LI>
-</UL>
-Note djnz instruction can be used for 8-bit values <I>only</I>, therefore
-it is advantageous to declare loop control symbols as <I>char</I>.
-Ofcourse this may not be possible on all situations.
-
-<P>
-
-<H3><A NAME="SECTION00051600000000000000">
-4.1.6 Algebraic Simplifications</A>
-</H3>
-
-<P>
-SDCC does numerous algebraic simplifications, the following is a small
-sub-set of these optimizations.
-<BR>
-
-<BR>
-<TT>i = j + 0 ; /* changed to */ i = j; </TT>&nbsp;
-<BR>
-<TT>i /= 2; /* changed to */ i &gt;&gt;= 1; </TT>&nbsp;
-<BR>
-<TT>i = j - j ; /* changed to */ i = 0; </TT>&nbsp;
-<BR>
-<TT>i = j / 1 ; /* changed to */ i = j;</TT>
-<BR>
-
-<BR>
-Note the subexpressions given above are generally introduced by macro
-expansions or as a result of copy/constant propagation.
-
-<P>
-
-<H3><A NAME="SECTION00051700000000000000">
-4.1.7 'switch' Statements</A>
-</H3>
-
-<P>
-SDCC changes switch statements to jump tables when the following conditions
-are true. 
-
-<P>
-
-<UL>
-<LI>The case labels are in numerical sequence, the labels need not be
-in order, and the starting number need not be one or zero.
-<BR>
-
-<BR>
-<TT>switch(i) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;switch (i)
-{ </TT>&nbsp;
-<BR>
-<TT>case 4:... &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 1: ... </TT>&nbsp;
-<BR>
-<TT>case 5:... &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 2: ... </TT>&nbsp;
-<BR>
-<TT>case 3:... &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 3: ... </TT>&nbsp;
-<BR>
-<TT>case 6:... &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 4: ... </TT>&nbsp;
-<BR>
-<TT>}&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-Both the above switch statements will be implemented using a jump-table.</LI>
-<LI>The number of case labels is at least three, since it takes two conditional
-statements to handle the boundary conditions.</LI>
-<LI>The number of case labels is less than 84, since each label takes
-3 bytes and a jump-table can be utmost 256 bytes long. </LI>
-</UL>
-Switch statements which have gaps in the numeric sequence or those
-that have more that 84 case labels can be split into more than one
-switch statement for efficient code generation, e.g.:
-<BR>
-
-<BR>
-<TT>switch (i) { </TT>&nbsp;
-<BR>
-<TT>case 1: ... </TT>&nbsp;
-<BR>
-<TT>case 2: ... </TT>&nbsp;
-<BR>
-<TT>case 3: ... </TT>&nbsp;
-<BR>
-<TT>case 4: ... </TT>&nbsp;
-<BR>
-<TT>case 9: ... </TT>&nbsp;
-<BR>
-<TT>case 10: ... </TT>&nbsp;
-<BR>
-<TT>case 11: ... </TT>&nbsp;
-<BR>
-<TT>case 12: ... </TT>&nbsp;
-<BR>
-<TT>}</TT>
-<BR>
-
-<BR>
-If the above switch statement is broken down into two switch statements
-<BR>
-
-<BR>
-<TT>switch (i) { </TT>&nbsp;
-<BR>
-<TT>case 1: ... </TT>&nbsp;
-<BR>
-<TT>case 2: ... </TT>&nbsp;
-<BR>
-<TT>case 3: ... </TT>&nbsp;
-<BR>
-<TT>case 4: ... </TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-and&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>switch (i) { </TT>&nbsp;
-<BR>
-<TT>case 9: &nbsp;... </TT>&nbsp;
-<BR>
-<TT>case 10: ... </TT>&nbsp;
-<BR>
-<TT>case 11: ... </TT>&nbsp;
-<BR>
-<TT>case 12:&nbsp;... </TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-then both the switch statements will be implemented using jump-tables
-whereas the unmodified switch statement will not be.
-
-<P>
-
-<H3><A NAME="SECTION00051800000000000000">
-4.1.8 Bit-shifting Operations.</A>
-</H3>
-
-<P>
-Bit shifting is one of the most frequently used operation in embedded
-programming. SDCC tries to implement bit-shift operations in the most
-efficient way possible, e.g.:
-<BR>&nbsp;
-<BR>
-<TT>unsigned char i;</TT>&nbsp;
-<BR>
-<TT>... </TT>&nbsp;
-<BR>
-<TT>i&gt;&gt;= 4; </TT>&nbsp;
-<BR>
-<TT>...</TT>&nbsp;
-<BR>
-
-<BR>
-generates the following code:
-<BR>&nbsp;
-<BR>
-<TT>mov a,_i </TT>&nbsp;
-<BR>
-<TT>swap a </TT>&nbsp;
-<BR>
-<TT>anl a,#0x0f </TT>&nbsp;
-<BR>
-<TT>mov _i,a</TT>
-<BR>
-
-<BR>
-In general SDCC will never setup a loop if the shift count is known.
-Another example:
-<BR>
-
-<BR>
-<TT>unsigned int i; </TT>&nbsp;
-<BR>
-<TT>... </TT>&nbsp;
-<BR>
-<TT>i &gt;&gt;= 9; </TT>&nbsp;
-<BR>
-<TT>...</TT>
-<BR>
-
-<BR>
-will generate:
-<BR>
-
-<BR>
-<TT>mov a,(_i + 1) </TT>&nbsp;
-<BR>
-<TT>mov (_i + 1),#0x00 </TT>&nbsp;
-<BR>
-<TT>clr c </TT>&nbsp;
-<BR>
-<TT>rrc a </TT>&nbsp;
-<BR>
-<TT>mov _i,a</TT>
-<BR>
-
-<BR>
-Note that SDCC stores numbers in little-endian format (i.e. lowest
-order first).
-
-<P>
-
-<H3><A NAME="SECTION00051900000000000000">
-4.1.9 Bit-rotation</A>
-</H3>
-
-<P>
-A special case of the bit-shift operation is bit rotation, SDCC recognizes
-the following expression to be a left bit-rotation:
-<BR>
-
-<BR>
-<TT>unsigned char i; </TT>&nbsp;
-<BR>
-<TT>... </TT>&nbsp;
-<BR>
-<TT>i = ((i &lt;&lt; 1) | (i &gt;&gt;
-7));</TT> 
-<BR>
-...
-<BR>
-
-<BR>
-will generate the following code:
-<BR>
-
-<BR>
-<TT>mov a,_i </TT>&nbsp;
-<BR>
-<TT>rl a </TT>&nbsp;
-<BR>
-<TT>mov _i,a</TT>
-<BR>
-
-<BR>
-SDCC uses pattern matching on the parse tree to determine this operation.Variations
-of this case will also be recognized as bit-rotation, i.e.: 
-<BR>
-
-<BR>
-<TT>i = ((i &gt;&gt; 7) | (i &lt;&lt;
-1)); /* left-bit rotation */</TT>
-
-<P>
-
-<H3><A NAME="SECTION000511000000000000000">
-4.1.10 Highest Order Bit</A>
-</H3>
-
-<P>
-It is frequently required to obtain the highest order bit of an integral
-type (long, int, short or char types). SDCC recognizes the following
-expression to yield the highest order bit and generates optimized
-code for it, e.g.:
-<BR>
-
-<BR>
- <TT>unsigned int gint; </TT>&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>foo () { </TT>&nbsp;
-<BR>
-<TT>unsigned char hob; </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;... </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;hob = (gint &gt;&gt; 15) &amp; 1; </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;.. </TT>&nbsp;
-<BR>
-<TT>}</TT>
-<BR>
-
-<BR>
-will generate the following code:
-<BR>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 61
-;&nbsp; hob.c 7 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp; 000A E5*01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 62&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-mov&nbsp; a,(_gint + 1) </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp; 000C 33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 63&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-rlc&nbsp; a </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp; 000D E4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-clr&nbsp; a </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp; 000E 13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 65&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-rrc&nbsp; a </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp; 000F F5*02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 66&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-mov&nbsp; _foo_hob_1_1,a</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-Variations of this case however will <I>not</I> be recognized. It
-is a standard C expression, so I heartily recommend this be the only
-way to get the highest order bit, (it is portable). Of course it will
-be recognized even if it is embedded in other expressions, e.g.:
-<BR>
-
-<BR>
-<TT>xyz = gint + ((gint &gt;&gt; 15) &amp; 1);</TT>
-<BR>
-
-<BR>
-will still be recognized.
-
-<P>
-
-<H3><A NAME="SECTION000511100000000000000">
-4.1.11 Peep-hole Optimizer</A>
-</H3>
-
-<P>
-The compiler uses a rule based, pattern matching and re-writing mechanism
-for peep-hole optimization. It is inspired by <I>copt</I> a peep-hole
-optimizer by Christopher W. Fraser (cwfraser@microsoft.com). A default
-set of rules are compiled into the compiler, additional rules may
-be added with the <I>-peep-file &lt;filename&gt;</I> option. The rule language
-is best illustrated with examples.
-<BR>
-
-<BR>
-<TT>replace { </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;mov %1,a </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;mov a,%1</TT>&nbsp;
-<BR>
-<TT>} by {</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;mov %1,a</TT>&nbsp;
-<BR>
-<TT>}</TT>
-<BR>
-
-<BR>
-The above rule will change the following assembly sequence:
-<BR>
-
-<BR>
-<TT>&nbsp;&nbsp;mov r1,a </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;mov a,r1</TT>
-<BR>
-
-<BR>
-to
-<BR>
-
-<BR>
-<TT>mov r1,a</TT>
-<BR>
-
-<BR>
-Note: All occurrences of a <I>%n</I> (pattern variable) must denote
-the same string. With the above rule, the assembly sequence:
-<BR>
-
-<BR>
-<TT>&nbsp;&nbsp;mov r1,a </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;mov a,r2</TT>
-<BR>
-
-<BR>
-will remain unmodified.
-<BR>
-
-<BR>
-Other special case optimizations may be added by the user (via <I>-peep-file
-option</I>). E.g. some variants of the 8051 MCU allow only <TT>ajmp</TT>
-and <TT>acall</TT>. The following two rules will change all <TT>ljmp</TT>
-and <TT>lcall</TT> to <TT>ajmp</TT> and <TT>acall</TT>
-<BR>
-
-<BR>
-<TT>replace { lcall %1 } by { acall %1 } </TT>&nbsp;
-<BR>
-<TT>replace { ljmp %1 } by { ajmp %1 }</TT>
-<BR>
-
-<BR>
-The <I>inline-assembler code</I> is also passed through the peep hole
-optimizer, thus the peephole optimizer can also be used as an assembly
-level macro expander. The rules themselves are MCU dependent whereas
-the rule language infra-structure is MCU independent. Peephole optimization
-rules for other MCU can be easily programmed using the rule language.
-<BR>
-
-<BR>
-The syntax for a rule is as follows:
-<BR>
-
-<BR>
-<TT>rule := replace [ restart ] '{' &lt;assembly sequence&gt; '&#92;n'
-</TT>&nbsp;
-<BR>
-<TT>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '}' by '{' '&#92;n'
-</TT>&nbsp;
-<BR>
-<TT>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;assembly
-sequence&gt; '&#92;n' </TT>&nbsp;
-<BR>
-<TT>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '}' [if &lt;functionName&gt;
-] '&#92;n' </TT>&nbsp;
-<BR>
-
-<BR>
-&lt;assembly sequence&gt; := assembly instruction (each instruction including
-labels must be on a separate line).
-<BR>
-
-<BR>
-The optimizer will apply to the rules one by one from the top in the
-sequence of their appearance, it will terminate when all rules are
-exhausted. If the 'restart' option is specified, then the optimizer
-will start matching the rules again from the top, this option for
-a rule is expensive (performance), it is intended to be used in situations
-where a transformation will trigger the same rule again. A good example
-of this the following rule:
-<BR>
-
-<BR>
-<TT>replace restart { </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;pop %1 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;push %1 } by { </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;; nop </TT>&nbsp;
-<BR>
-<TT>}</TT>
-<BR>
-
-<BR>
-Note that the replace pattern cannot be a blank, but can be a comment
-line. Without the 'restart' option only the inner most 'pop' 'push'
-pair would be eliminated, i.e.:
-<BR>
-
-<BR>
-<TT>&nbsp;&nbsp;pop ar1 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;pop ar2 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;push ar2 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;push ar1</TT>
-<BR>
-
-<BR>
-would result in:
-<BR>
-
-<BR>
-<TT>&nbsp;&nbsp;pop ar1 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;; nop </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;push ar1</TT>
-<BR>
-
-<BR>
-<I>with</I> the restart option the rule will be applied again to the
-resulting code and then all the pop-push pairs will be eliminated
-to yield:
-<BR>
-
-<BR>
-<TT>&nbsp;&nbsp;; nop </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;; nop</TT>
-<BR>
-
-<BR>
-A conditional function can be attached to a rule. Attaching rules
-are somewhat more involved, let me illustrate this with an example.
-<BR>
-
-<BR>
-<TT>replace { </TT>&nbsp;
-<BR>
-<TT>&nbsp; &nbsp; &nbsp;ljmp %5 </TT>&nbsp;
-<BR>
-<TT>%2:</TT>&nbsp;
-<BR>
-<TT>} by { </TT>&nbsp;
-<BR>
-<TT>&nbsp; &nbsp; &nbsp;sjmp %5 </TT>&nbsp;
-<BR>
-<TT>%2:</TT>&nbsp;
-<BR>
-<TT>} if labelInRange</TT>
-<BR>
-
-<BR>
-The optimizer does a look-up of a function name table defined in function
-<I>callFuncByName</I> in the source file SDCCpeeph.c, with the name
-<I>labelInRange</I>. If it finds a corresponding entry the function
-is called. Note there can be no parameters specified for these functions,
-in this case the use of <I>%5</I> is crucial, since the function
-<I>labelInRange</I> expects to find the label in that particular variable
-(the hash table containing the variable bindings is passed as a parameter).
-If you want to code more such functions, take a close look at the
-function labelInRange and the calling mechanism in source file SDCCpeeph.c.
-I know this whole thing is a little kludgey, but maybe some day we
-will have some better means. If you are looking at this file, you
-will also see the default rules that are compiled into the compiler,
-you can add your own rules in the default set there if you get tired
-of specifying the -peep-file option.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html841"
- HREF="node40.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html835"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html829"
- HREF="node38.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html837"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html839"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html842"
- HREF="node40.html">4.2 Pragmas</A>
-<B> Up:</B> <A NAME="tex2html836"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html830"
- HREF="node38.html">4. SDCC Technical Data</A>
- &nbsp <B>  <A NAME="tex2html838"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html840"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node4.html b/doc/sdccman.html/node4.html
deleted file mode 100644 (file)
index 41554e8..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>1.2 Open Source</TITLE>
-<META NAME="description" CONTENT="1.2 Open Source">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node5.html">
-<LINK REL="previous" HREF="node3.html">
-<LINK REL="up" HREF="node2.html">
-<LINK REL="next" HREF="node5.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html250"
- HREF="node5.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html244"
- HREF="node2.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html238"
- HREF="node3.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html246"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html248"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html251"
- HREF="node5.html">1.3 Typographic conventions</A>
-<B> Up:</B> <A NAME="tex2html245"
- HREF="node2.html">1. Introduction</A>
-<B> Previous:</B> <A NAME="tex2html239"
- HREF="node3.html">1.1 About SDCC</A>
- &nbsp <B>  <A NAME="tex2html247"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html249"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00022000000000000000">
-1.2 Open Source</A>
-</H2>
-
-<P>
-All packages used in this compiler system are <I>opensource</I> and
-<I>freeware</I>; source code for all the sub-packages (asxxxx assembler/linker,
-pre-processor) is distributed with the package. This documentation
-is maintained using a freeware word processor (LYX). 
-
-<P>
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published
-by the Free Software Foundation; either version 2, or (at your option)
-any later version. This program is distributed in the hope that it
-will be useful, but WITHOUT ANY WARRANTY; without even the implied
-warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
-the GNU General Public License for more details. You should have received
-a copy of the GNU General Public License along with this program;
-if not, write to the Free Software Foundation, 59 Temple Place - Suite
-330, Boston, MA 02111-1307, USA. In other words, you are welcome to
-use, share and improve this program. You are forbidden to forbid anyone
-else to use, share and improve what you give them. Help stamp out
-software-hoarding! 
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html250"
- HREF="node5.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html244"
- HREF="node2.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html238"
- HREF="node3.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html246"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html248"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html251"
- HREF="node5.html">1.3 Typographic conventions</A>
-<B> Up:</B> <A NAME="tex2html245"
- HREF="node2.html">1. Introduction</A>
-<B> Previous:</B> <A NAME="tex2html239"
- HREF="node3.html">1.1 About SDCC</A>
- &nbsp <B>  <A NAME="tex2html247"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html249"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node40.html b/doc/sdccman.html/node40.html
deleted file mode 100644 (file)
index 933af37..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>4.2 Pragmas</TITLE>
-<META NAME="description" CONTENT="4.2 Pragmas">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node41.html">
-<LINK REL="previous" HREF="node39.html">
-<LINK REL="up" HREF="node38.html">
-<LINK REL="next" HREF="node41.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html866"
- HREF="node41.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html860"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html854"
- HREF="node39.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html862"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html864"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html867"
- HREF="node41.html">4.3 &lt;pending: this is</A>
-<B> Up:</B> <A NAME="tex2html861"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html855"
- HREF="node39.html">4.1 Optimizations</A>
- &nbsp <B>  <A NAME="tex2html863"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html865"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00052000000000000000">
-4.2 Pragmas</A>
-</H2>
-
-<P>
-SDCC supports the following #pragma directives. This directives are
-applicable only at a function level.
-
-<P>
-
-<UL>
-<LI>SAVE - this will save all the current options.</LI>
-<LI>RESTORE - will restore the saved options from the last save. Note
-that SAVES &amp; RESTOREs cannot be nested. SDCC uses the same buffer
-to save the options each time a SAVE is called.</LI>
-<LI>NOGCSE - will stop global subexpression elimination.</LI>
-<LI>NOINDUCTION - will stop loop induction optimizations.</LI>
-<LI>NOJTBOUND - will not generate code for boundary value checking, when
-switch statements are turned into jump-tables.</LI>
-<LI>NOOVERLAY - the compiler will not overlay the parameters and local
-variables of a function.</LI>
-<LI>NOLOOPREVERSE - Will not do loop reversal optimization</LI>
-<LI>EXCLUDE NONE | {acc[,b[,dpl[,dph]]] - The exclude pragma
-disables generation of pair of push/pop instruction in ISR function
-(using interrupt keyword). The directive should be placed immediately
-before the ISR function definition and it affects ALL ISR functions
-following it. To enable the normal register saving for ISR functions
-use #pragma&nbsp;EXCLUDE&nbsp;none.</LI>
-<LI>CALLEE-SAVES function1[,function2[,function3...]] - The compiler
-by default uses a caller saves convention for register saving across
-function calls, however this can cause unneccessary register pushing
-&amp; popping when calling small functions from larger functions. This
-option can be used to switch the register saving convention for the
-function names specified. The compiler will not save registers when
-calling these functions, extra code will be generated at the entry
-&amp; exit for these functions to save &amp; restore the registers used
-by these functions, this can SUBSTANTIALLY reduce code &amp; improve
-run time performance of the generated code. In future the compiler
-(with interprocedural analysis) will be able to determine the appropriate
-scheme to use for each function call. If -callee-saves command line
-option is used, the function names specified in #pragma&nbsp;CALLEE-SAVES
-is appended to the list of functions specified inthe command line.</LI>
-</UL>
-The pragma's are intended to be used to turn-off certain optimizations
-which might cause the compiler to generate extra stack / data space
-to store compiler generated temporary variables. This usually happens
-in large functions. Pragma directives should be used as shown in the
-following example, they are used to control options &amp; optimizations
-for a given function; pragmas should be placed before and/or after
-a function, placing pragma's inside a function body could have unpredictable
-results.
-<BR>
-
-<BR>
-<TT>#pragma SAVE /* save the current settings */ </TT>&nbsp;
-<BR>
-<TT>#pragma NOGCSE /* turnoff global subexpression elimination
-*/ </TT>&nbsp;
-<BR>
-<TT>#pragma NOINDUCTION /* turn off induction optimizations
-*/ </TT>&nbsp;
-<BR>
-<TT>int foo () </TT>&nbsp;
-<BR>
-<TT>{ </TT>&nbsp;
-<BR>
-<TT>&nbsp; &nbsp; ... </TT>&nbsp;
-<BR>
-<TT>&nbsp; &nbsp; /* large code */ </TT>&nbsp;
-<BR>
-<TT>&nbsp; &nbsp; ... </TT>&nbsp;
-<BR>
-<TT>} </TT>&nbsp;
-<BR>
-<TT>#pragma RESTORE /* turn the optimizations back on */</TT>
-<BR>
-
-<BR>
-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 changing options for a function.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html866"
- HREF="node41.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html860"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html854"
- HREF="node39.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html862"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html864"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html867"
- HREF="node41.html">4.3 &lt;pending: this is</A>
-<B> Up:</B> <A NAME="tex2html861"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html855"
- HREF="node39.html">4.1 Optimizations</A>
- &nbsp <B>  <A NAME="tex2html863"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html865"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node41.html b/doc/sdccman.html/node41.html
deleted file mode 100644 (file)
index 476720c..0000000
+++ /dev/null
@@ -1,319 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>4.3 &lt;pending: this is messy and incomplete&gt; Library Routines</TITLE>
-<META NAME="description" CONTENT="4.3 &lt;pending: this is messy and incomplete&gt; Library Routines">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node42.html">
-<LINK REL="previous" HREF="node40.html">
-<LINK REL="up" HREF="node38.html">
-<LINK REL="next" HREF="node42.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html880"
- HREF="node42.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html874"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html868"
- HREF="node40.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html876"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html878"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html881"
- HREF="node42.html">4.4 Interfacing with Assembly</A>
-<B> Up:</B> <A NAME="tex2html875"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html869"
- HREF="node40.html">4.2 Pragmas</A>
- &nbsp <B>  <A NAME="tex2html877"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html879"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00053000000000000000">
-4.3 <I>&lt;pending: this is messy and incomplete&gt;</I> Library Routines</A>
-</H2>
-
-<P>
-The following library routines are provided for your convenience.
-
-<P>
-stdio.h - Contains the following functions printf &amp; sprintf these
-routines are developed by Martijn van Balen &lt;balen@natlab.research.philips.com&gt;. 
-
-<P>
-%[flags][width][b|B|l|L]type
-
-<P>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flags: -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; left justify output in
-specified field width 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prefix output with
-+/- sign if output is signed type 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; space&nbsp;&nbsp;&nbsp; prefix output with a
-blank if it's a signed positive value 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; specifies minimum number
-of characters outputted for numbers 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or strings. 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - For numbers,
-spaces are added on the left when needed. 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If width starts
-with a zero character, zeroes and used 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; instead of
-spaces. 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - For strings,
-spaces are are added on the left or right (when 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag '-' is
-used) when needed. 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b/B:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte argument (used
-by d, u, o, x, X) 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l/L:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long argument (used
-by d, u, o, x, X)
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type:&nbsp; d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; decimal number 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned decimal
-number 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned octal number
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned hexadecimal
-number (0-9, a-f) 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned hexadecimal
-number (0-9, A-F) 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; character 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string (generic pointer)
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; generic pointer (I:data/idata,
-C:code, X:xdata, P:paged) 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float (still to be
-implemented)
-
-<P>
-Also contains a very simple version of printf (printf_small). This
-simplified version of printf supports only the following formats.
-
-<P>
-format&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output&nbsp;type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argument-type 
-<BR>
-%d &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;decimal &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; short/int 
-<BR>
-%ld&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;decimal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long 
-<BR>
-%hd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;decimal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char 
-<BR>
-%x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hexadecimal&nbsp;&nbsp;&nbsp;&nbsp;short/int 
-<BR>
-%lx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hexadecimal&nbsp;&nbsp;&nbsp;&nbsp;long 
-<BR>
-%hx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hexadecimal&nbsp;&nbsp;&nbsp;&nbsp;char 
-<BR>
-%o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;octal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short/int 
-<BR>
-%lo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;octal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long 
-<BR>
-%ho&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;octal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char 
-<BR>
-%c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char 
-<BR>
-%s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_generic pointer
-
-<P>
-The routine is very stack intesive, -stack-after-data parameter should
-be used when using this routine, the routine also takes about 1K of
-code space. It also expects an external function named putchar(char)
-to be present (this can be changed). When using the %s format the
-string / pointer should be cast to a generic pointer. eg.
-
-<P>
-printf_small(``my str %s, my int %d&#92;n'',(char
-_generic *)mystr,myint);
-
-<P>
-
-<UL>
-<LI>stdarg.h - contains definition for the following macros to be used
-for variable parameter list, note that a function can have a variable
-parameter list if and only if it is 'reentrant'
-
-<P>
-va_list, va_start, va_arg, va_end.
-
-<P>
- </LI>
-<LI>setjmp.h - contains defintion for ANSI setjmp &amp; longjmp routines.
-Note in this case setjmp &amp; longjmp can be used between functions
-executing within the same register bank, if long jmp is executed from
-a function that is using a different register bank from the function
-issuing the setjmp function, the results may be unpredictable. The
-jump buffer requires 3 bytes of data (the stack pointer &amp; a 16 byte
-return address), and can be placed in any address space.</LI>
-<LI>stdlib.h - contains the following functions.
-
-<P>
-atoi, atol.
-
-<P>
- </LI>
-<LI>string.h - contains the following functions.
-
-<P>
-strcpy, strncpy, strcat, strncat, strcmp, strncmp, strchr, strrchr,
-strspn, strcspn, strpbrk, strstr, strlen, strtok, memcpy, memcmp,
-memset.
-
-<P>
- </LI>
-<LI>ctype.h - contains the following routines.
-
-<P>
-iscntrl, isdigit, isgraph, islower, isupper, isprint, ispunct, isspace,
-isxdigit, isalnum, isalpha.
-
-<P>
- </LI>
-<LI>malloc.h - The malloc routines are developed by Dmitry S. Obukhov
-(dso@usa.net). These routines will allocate memory from the external
-ram. Here is a description on how to use them (as described by the
-author).
-
-<P>
-//Example: 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp; #define DYNAMIC_MEMORY_SIZE 0x2000 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp; ..... 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp; unsigned char xdata dynamic_memory_pool[DYNAMIC_MEMORY_SIZE];
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp; unsigned char xdata * current_buffer; 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp; ..... 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp; void main(void) 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp; { 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; init_dynamic_memory(dynamic_memory_pool,DYNAMIC_MEMORY_SIZE);
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Now it's possible to use malloc. 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; current_buffer = malloc(0x100); 
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp; //
-
-<P>
- </LI>
-<LI>serial.h - Serial IO routines are also developed by Dmitry S. Obukhov
-(dso@usa.net). These routines are interrupt driven with a 256 byte
-circular buffer, they also expect external ram to be present. Please
-see documentation in file SDCCDIR/sdcc51lib/serial.c. Note the header
-file ``serial.h'' MUST be included in the file containing the
-'main' function.</LI>
-<LI>ser.h - Alternate serial routine provided by Wolfgang Esslinger &lt;wolfgang@WiredMinds.com&gt;
-these routines are more compact and faster. Please see documentation
-in file SDCCDIR/sdcc51lib/ser.c</LI>
-<LI>ser_ir.h - Another alternate set of serial routines provided by Josef
-Wolf &lt;jw@raven.inka.de&gt;, these routines do not use the external ram.</LI>
-<LI>reg51.h - contains register definitions for a standard 8051</LI>
-<LI>float.h - contains min, max and other floating point related stuff.</LI>
-</UL>
-All library routines are compiled as -model-small, they are all non-reentrant,
-if you plan to use the large model or want to make these routines
-reentrant, then they will have to be recompiled with the appropriate
-compiler option.
-
-<P>
-Have not had time to do the more involved routines like printf, will
-get to them shortly.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html880"
- HREF="node42.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html874"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html868"
- HREF="node40.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html876"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html878"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html881"
- HREF="node42.html">4.4 Interfacing with Assembly</A>
-<B> Up:</B> <A NAME="tex2html875"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html869"
- HREF="node40.html">4.2 Pragmas</A>
- &nbsp <B>  <A NAME="tex2html877"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html879"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node42.html b/doc/sdccman.html/node42.html
deleted file mode 100644 (file)
index e1433df..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>4.4 Interfacing with Assembly Routines</TITLE>
-<META NAME="description" CONTENT="4.4 Interfacing with Assembly Routines">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node43.html">
-<LINK REL="previous" HREF="node41.html">
-<LINK REL="up" HREF="node38.html">
-<LINK REL="next" HREF="node43.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html894"
- HREF="node43.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html888"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html882"
- HREF="node41.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html890"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html892"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html895"
- HREF="node43.html">4.5 External Stack</A>
-<B> Up:</B> <A NAME="tex2html889"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html883"
- HREF="node41.html">4.3 &lt;pending: this is</A>
- &nbsp <B>  <A NAME="tex2html891"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html893"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html896"
- HREF="node42.html#SECTION00054100000000000000">4.4.1 Global Registers used for Parameter Passing</A>
-<LI><A NAME="tex2html897"
- HREF="node42.html#SECTION00054200000000000000">4.4.2 Assembler Routine(non-reentrant)</A>
-<LI><A NAME="tex2html898"
- HREF="node42.html#SECTION00054300000000000000">4.4.3 Assembler Routine(reentrant)</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-
-<H2><A NAME="SECTION00054000000000000000">
-4.4 Interfacing with Assembly Routines</A>
-</H2>
-
-<P>
-
-<H3><A NAME="SECTION00054100000000000000">
-4.4.1 Global Registers used for Parameter Passing</A>
-</H3>
-
-<P>
-The compiler always uses the global registers <I>DPL,DPH,B</I> and
-<I>ACC</I> to pass the first parameter to a routine. The second parameter
-onwards is either allocated on the stack (for reentrant routines or
-if -stack-auto is used) or in the internal / external ram (depending
-on the memory model). 
-
-<P>
-
-<H3><A NAME="SECTION00054200000000000000">
-4.4.2 Assembler Routine(non-reentrant)</A>
-</H3>
-
-<P>
-In the following example the function cfunc calls an assembler routine
-asm_func, which takes two parameters.
-<BR>
-
-<BR>
-<TT>extern int asm_func(unsigned char, unsigned char);</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>int c_func (unsigned char i, unsigned char j)</TT>&nbsp;
-<BR>
-<TT>{</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;return asm_func(i,j);</TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>int main()</TT>&nbsp;
-<BR>
-<TT>{</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;return c_func(10,9);</TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-The corresponding assembler function is:
-<BR>
-
-<BR>
-<TT>.globl _asm_func_PARM_2 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.globl _asm_func </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.area OSEG </TT>&nbsp;
-<BR>
-<TT>_asm_func_PARM_2:</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.ds      1 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.area CSEG </TT>&nbsp;
-<BR>
-<TT>_asm_func: </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov     a,dpl </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add     a,_asm_func_PARM_2 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov     dpl,a </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov     dpl,#0x00 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-Note here that the return values are placed in 'dpl' - One byte return
-value, 'dpl' LSB &amp; 'dph' MSB for two byte values. 'dpl', 'dph' and
-'b' for three byte values (generic pointers) and 'dpl','dph','b' &amp;
-'acc' for four byte values.
-
-<P>
-The parameter naming convention is _&lt;function_name&gt;_PARM_&lt;n&gt;,
-where n is the parameter number starting from 1, and counting from
-the left. The first parameter is passed in ``dpl'' for One bye
-parameter, ``dptr'' if two bytes, ``b,dptr'' for three bytes
-and ``acc,b,dptr'' for four bytes, the varible name for the second
-parameter will be _&lt;function_name&gt;_PARM_2.
-<BR>
-
-<BR>
-Assemble the assembler routine with the following command:
-<BR>
-
-<BR>
-<I><B>asx8051 -losg asmfunc.asm</B></I>
-<BR>
-<BR>
-Then compile and link the assembler routine to the C source file with
-the following command:
-<BR>
-
-<BR>
-<I><B>sdcc cfunc.c asmfunc.rel</B></I>
-
-<P>
-
-<H3><A NAME="SECTION00054300000000000000">
-4.4.3 Assembler Routine(reentrant)</A>
-</H3>
-
-<P>
-In this case the second parameter onwards will be passed on the stack,
-the parameters are pushed from right to left i.e. after the call the
-left most parameter will be on the top of the stack. Here is an example:
-<BR>
-
-<BR>
-<TT>extern int asm_func(unsigned char, unsigned char);</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>int c_func (unsigned char i, unsigned char j) reentrant </TT>&nbsp;
-<BR>
-<TT>{ </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;return asm_func(i,j); </TT>&nbsp;
-<BR>
-<TT>} </TT>&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>int main() </TT>&nbsp;
-<BR>
-<TT>{ </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;return c_func(10,9); </TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>
-
-<BR>
-The corresponding assembler routine is:
-<BR>
-
-<BR>
-<TT>.globl _asm_func </TT>&nbsp;
-<BR>
-<TT>_asm_func: </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;push  _bp </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;mov  _bp,sp </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;mov  r2,dpl</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;mov  a,_bp </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;clr  c </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;add  a,#0xfd </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;mov  r0,a </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;add  a,#0xfc</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;mov  r1,a </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;mov  a,@r0 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;add  a,r2</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;mov  dpl,a </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;mov  dph,#0x00 </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;mov  sp,_bp </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;pop  _bp </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;ret</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-The compiling and linking procedure remains the same, however note
-the extra entry &amp; exit linkage required for the assembler code, _bp
-is the stack frame pointer and is used to compute the offset into
-the stack for parameters and local variables.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html894"
- HREF="node43.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html888"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html882"
- HREF="node41.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html890"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html892"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html895"
- HREF="node43.html">4.5 External Stack</A>
-<B> Up:</B> <A NAME="tex2html889"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html883"
- HREF="node41.html">4.3 &lt;pending: this is</A>
- &nbsp <B>  <A NAME="tex2html891"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html893"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node43.html b/doc/sdccman.html/node43.html
deleted file mode 100644 (file)
index a17a592..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>4.5 External Stack</TITLE>
-<META NAME="description" CONTENT="4.5 External Stack">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node44.html">
-<LINK REL="previous" HREF="node42.html">
-<LINK REL="up" HREF="node38.html">
-<LINK REL="next" HREF="node44.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html911"
- HREF="node44.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html905"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html899"
- HREF="node42.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html907"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html909"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html912"
- HREF="node44.html">4.6 ANSI-Compliance</A>
-<B> Up:</B> <A NAME="tex2html906"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html900"
- HREF="node42.html">4.4 Interfacing with Assembly</A>
- &nbsp <B>  <A NAME="tex2html908"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html910"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00055000000000000000">
-4.5 External Stack</A>
-</H2>
-
-<P>
-The external stack is located at the start of the external ram segment,
-and is 256 bytes in size. When -xstack option is used to compile
-the program, the parameters and local variables of all reentrant functions
-are allocated in this area. This option is provided for programs with
-large stack space requirements. When used with the -stack-auto option,
-all parameters and local variables are allocated on the external stack
-(note support libraries will need to be recompiled with the same options).
-
-<P>
-The compiler outputs the higher order address byte of the external
-ram segment into PORT P2, therefore when using the External Stack
-option, this port MAY NOT be used by the application program.
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node44.html b/doc/sdccman.html/node44.html
deleted file mode 100644 (file)
index e4fe86a..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>4.6 ANSI-Compliance</TITLE>
-<META NAME="description" CONTENT="4.6 ANSI-Compliance">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node45.html">
-<LINK REL="previous" HREF="node43.html">
-<LINK REL="up" HREF="node38.html">
-<LINK REL="next" HREF="node45.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html925"
- HREF="node45.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html919"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html913"
- HREF="node43.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html921"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html923"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html926"
- HREF="node45.html">4.7 Cyclomatic Complexity</A>
-<B> Up:</B> <A NAME="tex2html920"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html914"
- HREF="node43.html">4.5 External Stack</A>
- &nbsp <B>  <A NAME="tex2html922"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html924"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00056000000000000000">
-4.6 ANSI-Compliance</A>
-</H2>
-
-<P>
-Deviations from the compliancy.
-
-<P>
-
-<UL>
-<LI>functions are not always reentrant.</LI>
-<LI>structures cannot be assigned values directly, cannot be passed as
-function parameters or assigned to each other and cannot be a return
-value from a function, e.g.:&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>struct s { ... }; </TT>&nbsp;
-<BR>
-<TT>struct s s1, s2; </TT>&nbsp;
-<BR>
-<TT>foo() </TT>&nbsp;
-<BR>
-<TT>{ </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;... </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;s1 = s2 ; /* is invalid in SDCC although allowed
-in ANSI */ </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;... </TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>
-<TT>struct s foo1 (struct s parms) /* is invalid in SDCC although
-allowed in ANSI */ </TT>&nbsp;
-<BR>
-<TT>{ </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;struct s rets; </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;... </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;return rets;/* is invalid in SDCC although allowed
-in ANSI */ </TT>&nbsp;
-<BR>
-<TT>}</TT></LI>
-<LI>'long long' (64 bit integers) not supported.</LI>
-<LI>'double' precision floating point not supported.</LI>
-<LI>No support for setjmp and longjmp (for now).</LI>
-<LI>Old K&amp;R style function declarations are NOT allowed.
-<BR>&nbsp;
-<BR>
-<TT>foo(i,j) /* this old style of function declarations */
-</TT>&nbsp;
-<BR>
-<TT>int i,j; /* are valid in ANSI but not valid in SDCC */
-</TT>&nbsp;
-<BR>
-<TT>{ </TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;... </TT>&nbsp;
-<BR>
-<TT>}</TT></LI>
-<LI>functions declared as pointers must be dereferenced during the call.
-<BR>&nbsp;
-<BR>
-<TT>int (*foo)();</TT>&nbsp;
-<BR>
-<TT>... </TT>&nbsp;
-<BR>
-<TT>/* has to be called like this */ </TT>&nbsp;
-<BR>
-<TT>(*foo)(); /* ansi standard allows calls to be made like
-'foo()' */</TT></LI>
-</UL>
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html925"
- HREF="node45.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html919"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html913"
- HREF="node43.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html921"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html923"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html926"
- HREF="node45.html">4.7 Cyclomatic Complexity</A>
-<B> Up:</B> <A NAME="tex2html920"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html914"
- HREF="node43.html">4.5 External Stack</A>
- &nbsp <B>  <A NAME="tex2html922"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html924"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node45.html b/doc/sdccman.html/node45.html
deleted file mode 100644 (file)
index 18b68c6..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>4.7 Cyclomatic Complexity</TITLE>
-<META NAME="description" CONTENT="4.7 Cyclomatic Complexity">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="previous" HREF="node44.html">
-<LINK REL="up" HREF="node38.html">
-<LINK REL="next" HREF="node46.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html937"
- HREF="node46.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html931"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html927"
- HREF="node44.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html933"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html935"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html938"
- HREF="node46.html">5. TIPS</A>
-<B> Up:</B> <A NAME="tex2html932"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html928"
- HREF="node44.html">4.6 ANSI-Compliance</A>
- &nbsp <B>  <A NAME="tex2html934"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html936"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00057000000000000000">
-4.7 Cyclomatic Complexity</A>
-</H2>
-
-<P>
-Cyclomatic complexity of a function is defined as the number of independent
-paths the program can take during execution of the function. This
-is an important number since it defines the number test cases you
-have to generate to validate the function. The accepted industry standard
-for complexity number is 10, if the cyclomatic complexity reported
-by SDCC exceeds 10 you should think about simplification of the function
-logic. Note that the complexity level is not related to the number
-of lines of code in a function. Large functions can have low complexity,
-and small functions can have large complexity levels. 
-<BR>
-
-<BR>
-SDCC uses the following formula to compute the complexity:
-<BR>
-
-<P>
-complexity = (number of edges in control flow graph) - (number of
-nodes in control flow graph) + 2;
-<BR>
-
-<BR>
-Having said that the industry standard is 10, you should be aware
-that in some cases it be may unavoidable to have a complexity level
-of less than 10. For example if you have switch statement with more
-than 10 case labels, each case label adds one to the complexity level.
-The complexity level is by no means an absolute measure of the algorithmic
-complexity of the function, it does however provide a good starting
-point for which functions you might look at for further optimization.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html937"
- HREF="node46.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html931"
- HREF="node38.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html927"
- HREF="node44.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html933"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html935"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html938"
- HREF="node46.html">5. TIPS</A>
-<B> Up:</B> <A NAME="tex2html932"
- HREF="node38.html">4. SDCC Technical Data</A>
-<B> Previous:</B> <A NAME="tex2html928"
- HREF="node44.html">4.6 ANSI-Compliance</A>
- &nbsp <B>  <A NAME="tex2html934"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html936"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node46.html b/doc/sdccman.html/node46.html
deleted file mode 100644 (file)
index d9d04ed..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>5. TIPS</TITLE>
-<META NAME="description" CONTENT="5. TIPS">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node48.html">
-<LINK REL="previous" HREF="node38.html">
-<LINK REL="up" HREF="sdccman.html">
-<LINK REL="next" HREF="node47.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html951"
- HREF="node47.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html945"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html939"
- HREF="node45.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html947"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html949"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html952"
- HREF="node47.html">5.1 Notes on MCS51</A>
-<B> Up:</B> <A NAME="tex2html946"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html940"
- HREF="node45.html">4.7 Cyclomatic Complexity</A>
- &nbsp <B>  <A NAME="tex2html948"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html950"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00060000000000000000">
-5. TIPS</A>
-</H1>
-
-<P>
-Here are a few guidelines that will help the compiler generate more
-efficient code, some of the tips are specific to this compiler others
-are generally good programming practice.
-
-<P>
-
-<UL>
-<LI>Use the smallest data type to represent your data-value. If it is
-known in advance that the value is going to be less than 256 then
-use a 'char' instead of a 'short' or 'int'.</LI>
-<LI>Use unsigned when it is known in advance that the value is not going
-to be negative. This helps especially if you are doing division or
-multiplication.</LI>
-<LI>NEVER jump into a LOOP.</LI>
-<LI>Declare the variables to be local whenever possible, especially loop
-control variables (induction).</LI>
-<LI>Since the compiler does not do implicit integral promotion, the programmer
-should do an explicit cast when integral promotion is required.</LI>
-<LI>Reducing the size of division, multiplication &amp; modulus operations
-can reduce code size substantially. Take the following code for example.&nbsp;
-<BR>&nbsp;
-<BR>
-<TT>foobar(unsigned int p1, unsigned char ch)</TT>&nbsp;
-<BR>
-<TT>{</TT>&nbsp;
-<BR>
- <TT>   unsigned char ch1 = p1 % ch ;</TT>&nbsp;
-<BR>
- <TT>   ....    </TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>
-
-<BR>
-For the modulus operation the variable ch will be promoted to unsigned
-int first then the modulus operation will be performed (this will
-lead to a call to support routine _muduint()), and the result will
-be casted to an int. If the code is changed to 
-<BR>&nbsp;
-<BR>
-<TT>foobar(unsigned int p1, unsigned char ch)</TT>&nbsp;
-<BR>
-<TT>{</TT>&nbsp;
-<BR>
- <TT>   unsigned char ch1 = (unsigned char)p1 % ch ;</TT>&nbsp;
-<BR>
- <TT>   ....    </TT>&nbsp;
-<BR>
-<TT>}</TT>&nbsp;
-<BR>
-
-<BR>
-It would substantially reduce the code generated (future versions
-of the compiler will be smart enough to detect such optimization oppurtunities).</LI>
-</UL>
-
-<P>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html953"
- HREF="node47.html">5.1 Notes on MCS51 memory layout</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html951"
- HREF="node47.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html945"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html939"
- HREF="node45.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html947"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html949"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html952"
- HREF="node47.html">5.1 Notes on MCS51</A>
-<B> Up:</B> <A NAME="tex2html946"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html940"
- HREF="node45.html">4.7 Cyclomatic Complexity</A>
- &nbsp <B>  <A NAME="tex2html948"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html950"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node47.html b/doc/sdccman.html/node47.html
deleted file mode 100644 (file)
index 4b60038..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>5.1 Notes on MCS51 memory layout</TITLE>
-<META NAME="description" CONTENT="5.1 Notes on MCS51 memory layout">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="previous" HREF="node46.html">
-<LINK REL="up" HREF="node46.html">
-<LINK REL="next" HREF="node48.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html964"
- HREF="node48.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html958"
- HREF="node46.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html954"
- HREF="node46.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html960"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html962"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html965"
- HREF="node48.html">6. Retargetting for other</A>
-<B> Up:</B> <A NAME="tex2html959"
- HREF="node46.html">5. TIPS</A>
-<B> Previous:</B> <A NAME="tex2html955"
- HREF="node46.html">5. TIPS</A>
- &nbsp <B>  <A NAME="tex2html961"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html963"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00061000000000000000">
-5.1 Notes on MCS51 memory layout</A>
-</H2>
-
-<P>
-The 8051 family of micro controller have a minimum of 128 bytes of
-internal memory which is structured as follows
-<BR>
-
-<BR>
-- Bytes 00-1F - 32 bytes to hold up to 4 banks of the registers R7
-to R7 
-<BR>
-- Bytes 20-2F - 16 bytes to hold 128 bit variables and 
-<BR>
-- Bytes 30-7F - 60 bytes for general purpose use.
-<BR>
-
-<BR>
-Normally the SDCC compiler will only utilise the first bank of registers,
-but it is possible to specify that other banks of registers should
-be used in interrupt routines. By default, the compiler will place
-the stack after the last bank of used registers, i.e. if the first
-2 banks of registers are used, it will position the base of the internal
-stack at address 16 (0X10). This implies that as the stack grows,
-it will use up the remaining register banks, and the 16 bytes used
-by the 128 bit variables, and 60 bytes for general purpose use.
-
-<P>
-By default, the compiler uses the 60 general purpose bytes to hold
-&#34;near data&#34;. The compiler/optimiser may also declare
-some Local Variables in this area to hold local data. 
-
-<P>
-If any of the 128 bit variables are used, or near data is being used
-then care needs to be taken to ensure that the stack does not grow
-so much that it starts to over write either your bit variables or
-&#34;near data&#34;. There is no runtime checking to prevent
-this from happening.
-
-<P>
-The amount of stack being used is affected by the use of the &#34;internal
-stack&#34; to save registers before a subroutine call is made
-(-stack-auto will declare parameters and local variables on the stack)
-and the number of nested subroutines.
-
-<P>
-If you detect that the stack is over writing you data, then the following
-can be done. -xstack will cause an external stack to be used for
-saving registers and (if -stack-auto is being used) storing parameters
-and local variables. However this will produce more code which will
-be slower to execute. 
-
-<P>
--stack-loc will allow you specify the start of the stack, i.e. you
-could start it after any data in the general purpose area. However
-this may waste the memory not used by the register banks and if the
-size of the &#34;near data&#34; increases, it may creep
-into the bottom of the stack.
-
-<P>
--stack-after-data, similar to the -stack-loc, but it automatically
-places the stack after the end of the &#34;near data&#34;.
-Again this could waste any spare register space.
-
-<P>
--data-loc allows you to specify the start address of the near data.
-This could be used to move the &#34;near data&#34; further
-away from the stack giving it more room to grow. This will only work
-if no bit variables are being used and the stack can grow to use the
-bit variable space.
-<BR>
-
-<BR>
-Conclusion.
-<BR>
-
-<BR>
-If you find that the stack is over writing your bit variables or &#34;near
-data&#34; then the approach which best utilised the internal
-memory is to position the &#34;near data&#34; after the
-last bank of used registers or, if you use bit variables, after the
-last bit variable by using the -data-loc, e.g. if two register banks
-are being used and no bit variables, -data-loc 16, and use the -stack-after-data
-option.
-
-<P>
-If bit variables are being used, another method would be to try and
-squeeze the data area in the unused register banks if it will fit,
-and start the stack after the last bit variable.
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html964"
- HREF="node48.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html958"
- HREF="node46.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html954"
- HREF="node46.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html960"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html962"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html965"
- HREF="node48.html">6. Retargetting for other</A>
-<B> Up:</B> <A NAME="tex2html959"
- HREF="node46.html">5. TIPS</A>
-<B> Previous:</B> <A NAME="tex2html955"
- HREF="node46.html">5. TIPS</A>
- &nbsp <B>  <A NAME="tex2html961"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html963"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node48.html b/doc/sdccman.html/node48.html
deleted file mode 100644 (file)
index 5cf45b1..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>6. Retargetting for other MCUs.</TITLE>
-<META NAME="description" CONTENT="6. Retargetting for other MCUs.">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node49.html">
-<LINK REL="previous" HREF="node46.html">
-<LINK REL="up" HREF="sdccman.html">
-<LINK REL="next" HREF="node49.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html978"
- HREF="node49.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html972"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html966"
- HREF="node47.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html974"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html976"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html979"
- HREF="node49.html">7. SDCDB - Source</A>
-<B> Up:</B> <A NAME="tex2html973"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html967"
- HREF="node47.html">5.1 Notes on MCS51</A>
- &nbsp <B>  <A NAME="tex2html975"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html977"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00070000000000000000">
-6. Retargetting for other MCUs.</A>
-</H1>
-
-<P>
-The issues for retargetting the compiler are far too numerous to be
-covered by this document. What follows is a brief description of each
-of the seven phases of the compiler and its MCU dependency.
-
-<P>
-
-<UL>
-<LI>Parsing the source and building the annotated parse tree. This phase
-is largely MCU independent (except for the language extensions). Syntax
-&amp; semantic checks are also done in this phase, along with some initial
-optimizations like back patching labels and the pattern matching optimizations
-like bit-rotation etc.</LI>
-<LI>The second phase involves generating an intermediate code which can
-be easy manipulated during the later phases. This phase is entirely
-MCU independent. The intermediate code generation assumes the target
-machine has unlimited number of registers, and designates them with
-the name iTemp. The compiler can be made to dump a human readable
-form of the code generated by using the -dumpraw option.</LI>
-<LI>This phase does the bulk of the standard optimizations and is also
-MCU independent. This phase can be broken down into several sub-phases:
-<BR>
-
-<BR>
-Break down intermediate code (iCode) into basic blocks.
-<BR>
-Do control flow &amp; data flow analysis on the basic blocks.
-<BR>
-Do local common subexpression elimination, then global subexpression
-elimination
-<BR>
-Dead code elimination
-<BR>
-Loop optimizations
-<BR>
-If loop optimizations caused any changes then do 'global subexpression
-elimination' and 'dead code elimination' again.</LI>
-<LI>This phase determines the live-ranges; by live range I mean those
-iTemp variables defined by the compiler that still survive after all
-the optimizations. Live range analysis is essential for register allocation,
-since these computation determines which of these iTemps will be assigned
-to registers, and for how long.</LI>
-<LI>Phase five is register allocation. There are two parts to this process.
-<BR>
-
-<BR>
-The first part I call 'register packing' (for lack of a better term).
-In this case several MCU specific expression folding is done to reduce
-register pressure.
-<BR>
-
-<BR>
-The second part is more MCU independent and deals with allocating
-registers to the remaining live ranges. A lot of MCU specific code
-does creep into this phase because of the limited number of index
-registers available in the 8051.</LI>
-<LI>The Code generation phase is (unhappily), entirely MCU dependent and
-very little (if any at all) of this code can be reused for other MCU.
-However the scheme for allocating a homogenized assembler operand
-for each iCode operand may be reused.</LI>
-<LI>As mentioned in the optimization section the peep-hole optimizer is
-rule based system, which can reprogrammed for other MCUs.</LI>
-</UL>
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html978"
- HREF="node49.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html972"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html966"
- HREF="node47.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html974"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html976"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html979"
- HREF="node49.html">7. SDCDB - Source</A>
-<B> Up:</B> <A NAME="tex2html973"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html967"
- HREF="node47.html">5.1 Notes on MCS51</A>
- &nbsp <B>  <A NAME="tex2html975"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html977"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node49.html b/doc/sdccman.html/node49.html
deleted file mode 100644 (file)
index 58b95f1..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>7. SDCDB - Source Level Debugger</TITLE>
-<META NAME="description" CONTENT="7. SDCDB - Source Level Debugger">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node56.html">
-<LINK REL="previous" HREF="node48.html">
-<LINK REL="up" HREF="sdccman.html">
-<LINK REL="next" HREF="node50.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html992"
- HREF="node50.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html986"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html980"
- HREF="node48.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html988"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html990"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html993"
- HREF="node50.html">7.1 Compiling for Debugging</A>
-<B> Up:</B> <A NAME="tex2html987"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html981"
- HREF="node48.html">6. Retargetting for other</A>
- &nbsp <B>  <A NAME="tex2html989"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html991"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00080000000000000000">
-7. SDCDB - Source Level Debugger</A>
-</H1>
-
-<P>
-SDCC is distributed with a source level debugger. The debugger uses
-a command line interface, the command repertoire of the debugger has
-been kept as close to gdb (the GNU debugger) as possible. The configuration
-and build process is part of the standard compiler installation, which
-also builds and installs the debugger in the target directory specified
-during configuration. The debugger allows you debug BOTH at the C
-source and at the ASM source level.
-
-<P>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html994"
- HREF="node50.html">7.1 Compiling for Debugging</A>
-<LI><A NAME="tex2html995"
- HREF="node51.html">7.2 How the Debugger Works</A>
-<LI><A NAME="tex2html996"
- HREF="node52.html">7.3 Starting the Debugger</A>
-<LI><A NAME="tex2html997"
- HREF="node53.html">7.4 Command Line Options.</A>
-<LI><A NAME="tex2html998"
- HREF="node54.html">7.5 Debugger Commands.</A>
-<UL>
-<LI><A NAME="tex2html999"
- HREF="node54.html#SECTION00085100000000000000">7.5.1 break [line | file:line | function | file:function]</A>
-<LI><A NAME="tex2html1000"
- HREF="node54.html#SECTION00085200000000000000">7.5.2 clear [line | file:line | function | file:function ]</A>
-<LI><A NAME="tex2html1001"
- HREF="node54.html#SECTION00085300000000000000">7.5.3 continue</A>
-<LI><A NAME="tex2html1002"
- HREF="node54.html#SECTION00085400000000000000">7.5.4 finish</A>
-<LI><A NAME="tex2html1003"
- HREF="node54.html#SECTION00085500000000000000">7.5.5 delete [n]</A>
-<LI><A NAME="tex2html1004"
- HREF="node54.html#SECTION00085600000000000000">7.5.6 info [break | stack | frame | registers ]</A>
-<LI><A NAME="tex2html1005"
- HREF="node54.html#SECTION00085700000000000000">7.5.7 step</A>
-<LI><A NAME="tex2html1006"
- HREF="node54.html#SECTION00085800000000000000">7.5.8 next</A>
-<LI><A NAME="tex2html1007"
- HREF="node54.html#SECTION00085900000000000000">7.5.9 run</A>
-<LI><A NAME="tex2html1008"
- HREF="node54.html#SECTION000851000000000000000">7.5.10 ptype variable </A>
-<LI><A NAME="tex2html1009"
- HREF="node54.html#SECTION000851100000000000000">7.5.11 print variable</A>
-<LI><A NAME="tex2html1010"
- HREF="node54.html#SECTION000851200000000000000">7.5.12 file filename</A>
-<LI><A NAME="tex2html1011"
- HREF="node54.html#SECTION000851300000000000000">7.5.13 frame</A>
-<LI><A NAME="tex2html1012"
- HREF="node54.html#SECTION000851400000000000000">7.5.14 set srcmode</A>
-<LI><A NAME="tex2html1013"
- HREF="node54.html#SECTION000851500000000000000">7.5.15 ! simulator command</A>
-<LI><A NAME="tex2html1014"
- HREF="node54.html#SECTION000851600000000000000">7.5.16 quit.</A>
-</UL>
-<LI><A NAME="tex2html1015"
- HREF="node55.html">7.6 Interfacing with XEmacs.</A>
-</UL>
-<!--End of Table of Child-Links-->
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node5.html b/doc/sdccman.html/node5.html
deleted file mode 100644 (file)
index 4012007..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>1.3 Typographic conventions</TITLE>
-<META NAME="description" CONTENT="1.3 Typographic conventions">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node6.html">
-<LINK REL="previous" HREF="node4.html">
-<LINK REL="up" HREF="node2.html">
-<LINK REL="next" HREF="node6.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html264"
- HREF="node6.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html258"
- HREF="node2.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html252"
- HREF="node4.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html260"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html262"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html265"
- HREF="node6.html">1.4 Compatibility with previous</A>
-<B> Up:</B> <A NAME="tex2html259"
- HREF="node2.html">1. Introduction</A>
-<B> Previous:</B> <A NAME="tex2html253"
- HREF="node4.html">1.2 Open Source</A>
- &nbsp <B>  <A NAME="tex2html261"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html263"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00023000000000000000">
-1.3 Typographic conventions</A>
-</H2>
-
-<P>
-Throughout this manual, we will use the following convention. Commands
-you have to type in are printed in <I><B>&#34;sans
-serif&#34;</B></I><I>.</I> Code samples are printed in <TT>typewriter
-font.</TT> Interesting items and new terms are printed in <I>italicised
-type.</I>
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node50.html b/doc/sdccman.html/node50.html
deleted file mode 100644 (file)
index be9844d..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>7.1 Compiling for Debugging</TITLE>
-<META NAME="description" CONTENT="7.1 Compiling for Debugging">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node51.html">
-<LINK REL="previous" HREF="node49.html">
-<LINK REL="up" HREF="node49.html">
-<LINK REL="next" HREF="node51.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html1028"
- HREF="node51.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1022"
- HREF="node49.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1016"
- HREF="node49.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1024"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1026"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1029"
- HREF="node51.html">7.2 How the Debugger</A>
-<B> Up:</B> <A NAME="tex2html1023"
- HREF="node49.html">7. SDCDB - Source</A>
-<B> Previous:</B> <A NAME="tex2html1017"
- HREF="node49.html">7. SDCDB - Source</A>
- &nbsp <B>  <A NAME="tex2html1025"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1027"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00081000000000000000">
-7.1 Compiling for Debugging</A>
-</H2>
-
-<P>
-The debug option must be specified for all files for which debug
-information is to be generated. The complier generates a .cdb file
-for each of these files. The linker updates the .cdb file with the
-address information. This .cdb is used by the debugger.
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node51.html b/doc/sdccman.html/node51.html
deleted file mode 100644 (file)
index 3f715cc..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>7.2 How the Debugger Works</TITLE>
-<META NAME="description" CONTENT="7.2 How the Debugger Works">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node52.html">
-<LINK REL="previous" HREF="node50.html">
-<LINK REL="up" HREF="node49.html">
-<LINK REL="next" HREF="node52.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html1042"
- HREF="node52.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1036"
- HREF="node49.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1030"
- HREF="node50.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1038"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1040"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1043"
- HREF="node52.html">7.3 Starting the Debugger</A>
-<B> Up:</B> <A NAME="tex2html1037"
- HREF="node49.html">7. SDCDB - Source</A>
-<B> Previous:</B> <A NAME="tex2html1031"
- HREF="node50.html">7.1 Compiling for Debugging</A>
- &nbsp <B>  <A NAME="tex2html1039"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1041"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00082000000000000000">
-7.2 How the Debugger Works</A>
-</H2>
-
-<P>
-When the -debug option is specified the compiler generates extra
-symbol information some of which are put into the the assembler source
-and some are put into the .cdb file, the linker updates the .cdb file
-with the address information for the symbols. The debugger reads the
-symbolic information generated by the compiler &amp; the address information
-generated by the linker. It uses the SIMULATOR (Daniel's S51) to execute
-the program, the program execution is controlled by the debugger.
-When a command is issued for the debugger, it translates it into appropriate
-commands for the simulator.
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node52.html b/doc/sdccman.html/node52.html
deleted file mode 100644 (file)
index 4a9dc91..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>7.3 Starting the Debugger</TITLE>
-<META NAME="description" CONTENT="7.3 Starting the Debugger">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node53.html">
-<LINK REL="previous" HREF="node51.html">
-<LINK REL="up" HREF="node49.html">
-<LINK REL="next" HREF="node53.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html1056"
- HREF="node53.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1050"
- HREF="node49.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1044"
- HREF="node51.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1052"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1054"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1057"
- HREF="node53.html">7.4 Command Line Options.</A>
-<B> Up:</B> <A NAME="tex2html1051"
- HREF="node49.html">7. SDCDB - Source</A>
-<B> Previous:</B> <A NAME="tex2html1045"
- HREF="node51.html">7.2 How the Debugger</A>
- &nbsp <B>  <A NAME="tex2html1053"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1055"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00083000000000000000">
-7.3 Starting the Debugger</A>
-</H2>
-
-<P>
-The debugger can be started using the following command line. (Assume
-the file you are debugging has the file name foo).
-<BR>
-
-<BR>
-<I><B>sdcdb foo</B></I>
-<BR>
-
-<BR>
-The debugger will look for the following files.
-
-<P>
-
-<UL>
-<LI>foo.c - the source file.</LI>
-<LI>foo.cdb - the debugger symbol information file.</LI>
-<LI>foo.ihx - the intel hex format object file.</LI>
-</UL>
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node53.html b/doc/sdccman.html/node53.html
deleted file mode 100644 (file)
index 0b8d0fc..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>7.4 Command Line Options.</TITLE>
-<META NAME="description" CONTENT="7.4 Command Line Options.">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node54.html">
-<LINK REL="previous" HREF="node52.html">
-<LINK REL="up" HREF="node49.html">
-<LINK REL="next" HREF="node54.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html1070"
- HREF="node54.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1064"
- HREF="node49.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1058"
- HREF="node52.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1066"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1068"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1071"
- HREF="node54.html">7.5 Debugger Commands.</A>
-<B> Up:</B> <A NAME="tex2html1065"
- HREF="node49.html">7. SDCDB - Source</A>
-<B> Previous:</B> <A NAME="tex2html1059"
- HREF="node52.html">7.3 Starting the Debugger</A>
- &nbsp <B>  <A NAME="tex2html1067"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1069"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00084000000000000000">
-7.4 Command Line Options.</A>
-</H2>
-
-<P>
-
-<UL>
-<LI>-directory=&lt;source file directory&gt; this option can used to specify
-the directory search list. The debugger will look into the directory
-list specified for source, cdb &amp; ihx files. The items in the directory
-list must be separated by ':', e.g. if the source files can be in
-the directories /home/src1 and /home/src2, the -directory option
-should be -directory=/home/src1:/home/src2. Note there can be no
-spaces in the option. </LI>
-<LI>-cd &lt;directory&gt; - change to the &lt;directory&gt;.</LI>
-<LI>-fullname - used by GUI front ends.</LI>
-<LI>-cpu &lt;cpu-type&gt; - this argument is passed to the simulator please
-see the simulator docs for details.</LI>
-<LI>-X &lt;Clock frequency &gt; this options is passed to the simulator please
-see the simulator docs for details.</LI>
-<LI>-s &lt;serial port file&gt; passed to simulator see the simulator docs for
-details.</LI>
-<LI>-S &lt;serial in,out&gt; passed to simulator see the simulator docs for
-details.</LI>
-</UL>
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node54.html b/doc/sdccman.html/node54.html
deleted file mode 100644 (file)
index 0f64c68..0000000
+++ /dev/null
@@ -1,320 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>7.5 Debugger Commands.</TITLE>
-<META NAME="description" CONTENT="7.5 Debugger Commands.">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node55.html">
-<LINK REL="previous" HREF="node53.html">
-<LINK REL="up" HREF="node49.html">
-<LINK REL="next" HREF="node55.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html1084"
- HREF="node55.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1078"
- HREF="node49.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1072"
- HREF="node53.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1080"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1082"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1085"
- HREF="node55.html">7.6 Interfacing with XEmacs.</A>
-<B> Up:</B> <A NAME="tex2html1079"
- HREF="node49.html">7. SDCDB - Source</A>
-<B> Previous:</B> <A NAME="tex2html1073"
- HREF="node53.html">7.4 Command Line Options.</A>
- &nbsp <B>  <A NAME="tex2html1081"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1083"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html1086"
- HREF="node54.html#SECTION00085100000000000000">7.5.1 break [line | file:line | function | file:function]</A>
-<LI><A NAME="tex2html1087"
- HREF="node54.html#SECTION00085200000000000000">7.5.2 clear [line | file:line | function | file:function ]</A>
-<LI><A NAME="tex2html1088"
- HREF="node54.html#SECTION00085300000000000000">7.5.3 continue</A>
-<LI><A NAME="tex2html1089"
- HREF="node54.html#SECTION00085400000000000000">7.5.4 finish</A>
-<LI><A NAME="tex2html1090"
- HREF="node54.html#SECTION00085500000000000000">7.5.5 delete [n]</A>
-<LI><A NAME="tex2html1091"
- HREF="node54.html#SECTION00085600000000000000">7.5.6 info [break | stack | frame | registers ]</A>
-<LI><A NAME="tex2html1092"
- HREF="node54.html#SECTION00085700000000000000">7.5.7 step</A>
-<LI><A NAME="tex2html1093"
- HREF="node54.html#SECTION00085800000000000000">7.5.8 next</A>
-<LI><A NAME="tex2html1094"
- HREF="node54.html#SECTION00085900000000000000">7.5.9 run</A>
-<LI><A NAME="tex2html1095"
- HREF="node54.html#SECTION000851000000000000000">7.5.10 ptype variable </A>
-<LI><A NAME="tex2html1096"
- HREF="node54.html#SECTION000851100000000000000">7.5.11 print variable</A>
-<LI><A NAME="tex2html1097"
- HREF="node54.html#SECTION000851200000000000000">7.5.12 file filename</A>
-<LI><A NAME="tex2html1098"
- HREF="node54.html#SECTION000851300000000000000">7.5.13 frame</A>
-<LI><A NAME="tex2html1099"
- HREF="node54.html#SECTION000851400000000000000">7.5.14 set srcmode</A>
-<LI><A NAME="tex2html1100"
- HREF="node54.html#SECTION000851500000000000000">7.5.15 ! simulator command</A>
-<LI><A NAME="tex2html1101"
- HREF="node54.html#SECTION000851600000000000000">7.5.16 quit.</A>
-</UL>
-<!--End of Table of Child-Links-->
-<HR>
-
-<H2><A NAME="SECTION00085000000000000000">
-7.5 Debugger Commands.</A>
-</H2>
-
-<P>
-As mention earlier the command interface for the debugger has been
-deliberately kept as close the GNU debugger gdb, as possible. This
-will help the integration with existing graphical user interfaces
-(like ddd, xxgdb or xemacs) existing for the GNU debugger.
-
-<P>
-
-<H3><A NAME="SECTION00085100000000000000">
-7.5.1 break [line | file:line | function | file:function]</A>
-</H3>
-
-<P>
-Set breakpoint at specified line or function:
-<BR>
-
-<BR>
-<I><B>sdcdb&gt;break 100 </B></I>
-<BR>
-<I><B>sdcdb&gt;break foo.c:100</B></I>
-<BR>
-<I><B>sdcdb&gt;break funcfoo</B></I>
-<BR>
-<I><B>sdcdb&gt;break foo.c:funcfoo</B></I>
-
-<P>
-
-<H3><A NAME="SECTION00085200000000000000">
-7.5.2 clear [line | file:line | function | file:function ]</A>
-</H3>
-
-<P>
-Clear breakpoint at specified line or function:
-<BR>
-
-<BR>
-<I><B>sdcdb&gt;clear 100</B></I>
-<BR>
-<I><B>sdcdb&gt;clear foo.c:100</B></I>
-<BR>
-<I><B>sdcdb&gt;clear funcfoo</B></I>
-<BR>
-<I><B>sdcdb&gt;clear foo.c:funcfoo</B></I>
-
-<P>
-
-<H3><A NAME="SECTION00085300000000000000">
-7.5.3 continue</A>
-</H3>
-
-<P>
-Continue program being debugged, after breakpoint.
-
-<P>
-
-<H3><A NAME="SECTION00085400000000000000">
-7.5.4 finish</A>
-</H3>
-
-<P>
-Execute till the end of the current function.
-
-<P>
-
-<H3><A NAME="SECTION00085500000000000000">
-7.5.5 delete [n]</A>
-</H3>
-
-<P>
-Delete breakpoint number 'n'. If used without any option clear ALL
-user defined break points.
-
-<P>
-
-<H3><A NAME="SECTION00085600000000000000">
-7.5.6 info [break | stack | frame | registers ]</A>
-</H3>
-
-<P>
-
-<UL>
-<LI>info break - list all breakpoints</LI>
-<LI>info stack - show the function call stack.</LI>
-<LI>info frame - show information about the current execution frame.</LI>
-<LI>info registers - show content of all registers.</LI>
-</UL>
-
-<P>
-
-<H3><A NAME="SECTION00085700000000000000">
-7.5.7 step</A>
-</H3>
-
-<P>
-Step program until it reaches a different source line.
-
-<P>
-
-<H3><A NAME="SECTION00085800000000000000">
-7.5.8 next</A>
-</H3>
-
-<P>
-Step program, proceeding through subroutine calls.
-
-<P>
-
-<H3><A NAME="SECTION00085900000000000000">
-7.5.9 run</A>
-</H3>
-
-<P>
-Start debugged program.
-
-<P>
-
-<H3><A NAME="SECTION000851000000000000000">
-7.5.10 ptype variable </A>
-</H3>
-
-<P>
-Print type information of the variable.
-
-<P>
-
-<H3><A NAME="SECTION000851100000000000000">
-7.5.11 print variable</A>
-</H3>
-
-<P>
-print value of variable.
-
-<P>
-
-<H3><A NAME="SECTION000851200000000000000">
-7.5.12 file filename</A>
-</H3>
-
-<P>
-load the given file name. Note this is an alternate method of loading
-file for debugging.
-
-<P>
-
-<H3><A NAME="SECTION000851300000000000000">
-7.5.13 frame</A>
-</H3>
-
-<P>
-print information about current frame.
-
-<P>
-
-<H3><A NAME="SECTION000851400000000000000">
-7.5.14 set srcmode</A>
-</H3>
-
-<P>
-Toggle between C source &amp; assembly source.
-
-<P>
-
-<H3><A NAME="SECTION000851500000000000000">
-7.5.15 ! simulator command</A>
-</H3>
-
-<P>
-Send the string following '!' to the simulator, the simulator response
-is displayed. Note the debugger does not interpret the command being
-sent to the simulator, so if a command like 'go' is sent the debugger
-can loose its execution context and may display incorrect values.
-
-<P>
-
-<H3><A NAME="SECTION000851600000000000000">
-7.5.16 quit.</A>
-</H3>
-
-<P>
-&#34;Watch me now. Iam going Down. My name is Bobby Brown&#34;
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html1084"
- HREF="node55.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1078"
- HREF="node49.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1072"
- HREF="node53.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1080"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1082"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1085"
- HREF="node55.html">7.6 Interfacing with XEmacs.</A>
-<B> Up:</B> <A NAME="tex2html1079"
- HREF="node49.html">7. SDCDB - Source</A>
-<B> Previous:</B> <A NAME="tex2html1073"
- HREF="node53.html">7.4 Command Line Options.</A>
- &nbsp <B>  <A NAME="tex2html1081"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1083"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node55.html b/doc/sdccman.html/node55.html
deleted file mode 100644 (file)
index d67d29e..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>7.6 Interfacing with XEmacs.</TITLE>
-<META NAME="description" CONTENT="7.6 Interfacing with XEmacs.">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="previous" HREF="node54.html">
-<LINK REL="up" HREF="node49.html">
-<LINK REL="next" HREF="node56.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html1112"
- HREF="node56.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1106"
- HREF="node49.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1102"
- HREF="node54.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1108"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1110"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1113"
- HREF="node56.html">8. Other Processors</A>
-<B> Up:</B> <A NAME="tex2html1107"
- HREF="node49.html">7. SDCDB - Source</A>
-<B> Previous:</B> <A NAME="tex2html1103"
- HREF="node54.html">7.5 Debugger Commands.</A>
- &nbsp <B>  <A NAME="tex2html1109"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1111"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00086000000000000000">
-7.6 Interfacing with XEmacs.</A>
-</H2>
-
-<P>
-Two files (in emacs lisp) are provided for the interfacing with XEmacs,
-sdcdb.el and sdcdbsrc.el. These two files can be found in the $(prefix)/bin
-directory after the installation is complete. These files need to
-be loaded into XEmacs for the interface to work. This can be done
-at XEmacs startup time by inserting the following into your '.xemacs'
-file (which can be found in your HOME directory): 
-<BR>
-
-<BR>
-<TT>(load-file sdcdbsrc.el)</TT> 
-<BR>
-
-<BR>
-.xemacs is a lisp file so the () around the command is REQUIRED. The
-files can also be loaded dynamically while XEmacs is running, set
-the environment variable 'EMACSLOADPATH' to the installation bin directory
-(&lt;installdir&gt;/bin), then enter the following command ESC-x load-file
-sdcdbsrc. To start the interface enter the following command: 
-<BR>
-
-<BR>
-<I><B>ESC-x sdcdbsrc</B></I>
-<BR>
-
-<BR>
-You will prompted to enter the file name to be debugged. 
-<BR>
-
-<BR>
-The command line options that are passed to the simulator directly
-are bound to default values in the file sdcdbsrc.el. The variables
-are listed below, these values maybe changed as required.
-
-<P>
-
-<UL>
-<LI>sdcdbsrc-cpu-type '51</LI>
-<LI>sdcdbsrc-frequency '11059200</LI>
-<LI>sdcdbsrc-serial nil</LI>
-</UL>
-The following is a list of key mapping for the debugger interface.
-
-<P>
-&nbsp;&nbsp;
-<BR>
-<TT>;; Current Listing :: </TT>&nbsp;
-<BR>
-<TT>;;key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;binding&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Comment
-</TT>&nbsp;
-<BR>
-<TT>;;--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----
-</TT>&nbsp;
-<BR>
-<TT>;; </TT>&nbsp;
-<BR>
-<TT>;; n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdb-next-from-src&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDCDB
-next command </TT>&nbsp;
-<BR>
-<TT>;; b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdb-back-from-src&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDCDB
-back command </TT>&nbsp;
-<BR>
-<TT>;; c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdb-cont-from-src&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDCDB
-continue command</TT>&nbsp;
-<BR>
-<TT>;; s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdb-step-from-src&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDCDB
-step command </TT>&nbsp;
-<BR>
-<TT>;; ?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdb-whatis-c-sexp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDCDB
-ptypecommand for data at </TT>&nbsp;
-<BR>
-<TT>;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-buffer point </TT>&nbsp;
-<BR>
-<TT>;; x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdbsrc-delete&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDCDB
-Delete all breakpoints if no arg </TT>&nbsp;
-<BR>
-<TT>;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;given
-or delete arg (C-u arg x) </TT>&nbsp;
-<BR>
-<TT>;; m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdbsrc-frame&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDCDB
-Display current frame if no arg, </TT>&nbsp;
-<BR>
-<TT>;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;given
-or display frame arg </TT>&nbsp;
-<BR>
-<TT>;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer
-point </TT>&nbsp;
-<BR>
-<TT>;; !&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdbsrc-goto-sdcdb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Goto
-the SDCDB output buffer </TT>&nbsp;
-<BR>
-<TT>;; p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdb-print-c-sexp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDCDB
-print command for data at </TT>&nbsp;
-<BR>
-<TT>;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-buffer point </TT>&nbsp;
-<BR>
-<TT>;; g&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdbsrc-goto-sdcdb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Goto
-the SDCDB output buffer </TT>&nbsp;
-<BR>
-<TT>;; t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdbsrc-mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Toggles
-Sdcdbsrc mode (turns it off) </TT>&nbsp;
-<BR>
-<TT>;; </TT>&nbsp;
-<BR>
-<TT>;; C-c C-f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdb-finish-from-src&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SDCDB
-finish command </TT>&nbsp;
-<BR>
-<TT>;; </TT>&nbsp;
-<BR>
-<TT>;; C-x SPC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdb-break&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set
-break for line with point </TT>&nbsp;
-<BR>
-<TT>;; ESC t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdbsrc-mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Toggle
-Sdcdbsrc mode </TT>&nbsp;
-<BR>
-<TT>;; ESC m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sdcdbsrc-srcmode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-Toggle list mode </TT>&nbsp;
-<BR>
-<TT>;;</TT> 
-<BR>
-
-<P>
-<HR>
-<!--Navigation Panel-->
-<A NAME="tex2html1112"
- HREF="node56.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1106"
- HREF="node49.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1102"
- HREF="node54.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1108"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1110"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1113"
- HREF="node56.html">8. Other Processors</A>
-<B> Up:</B> <A NAME="tex2html1107"
- HREF="node49.html">7. SDCDB - Source</A>
-<B> Previous:</B> <A NAME="tex2html1103"
- HREF="node54.html">7.5 Debugger Commands.</A>
- &nbsp <B>  <A NAME="tex2html1109"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1111"
- HREF="node61.html">Index</A></B> 
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node56.html b/doc/sdccman.html/node56.html
deleted file mode 100644 (file)
index 021d2ca..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>8. Other Processors</TITLE>
-<META NAME="description" CONTENT="8. Other Processors">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node58.html">
-<LINK REL="previous" HREF="node49.html">
-<LINK REL="up" HREF="sdccman.html">
-<LINK REL="next" HREF="node57.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html1126"
- HREF="node57.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1120"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1114"
- HREF="node55.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1122"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1124"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1127"
- HREF="node57.html">8.1 The Z80 and</A>
-<B> Up:</B> <A NAME="tex2html1121"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html1115"
- HREF="node55.html">7.6 Interfacing with XEmacs.</A>
- &nbsp <B>  <A NAME="tex2html1123"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1125"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION00090000000000000000">
-8. Other Processors</A>
-</H1>
-
-<P>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html1128"
- HREF="node57.html">8.1 The Z80 and gbz80 port</A>
-</UL>
-<!--End of Table of Child-Links-->
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node57.html b/doc/sdccman.html/node57.html
deleted file mode 100644 (file)
index 2a25ab2..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>8.1 The Z80 and gbz80 port</TITLE>
-<META NAME="description" CONTENT="8.1 The Z80 and gbz80 port">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="previous" HREF="node56.html">
-<LINK REL="up" HREF="node56.html">
-<LINK REL="next" HREF="node58.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html1139"
- HREF="node58.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1133"
- HREF="node56.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1129"
- HREF="node56.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1135"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1137"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1140"
- HREF="node58.html">9. Support</A>
-<B> Up:</B> <A NAME="tex2html1134"
- HREF="node56.html">8. Other Processors</A>
-<B> Previous:</B> <A NAME="tex2html1130"
- HREF="node56.html">8. Other Processors</A>
- &nbsp <B>  <A NAME="tex2html1136"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1138"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00091000000000000000">
-8.1 The Z80 and gbz80 port</A>
-</H2>
-
-<P>
-SDCC can target both the Zilog Z80 and the Nintendo Gameboy's Z80-like
-gbz80. The port is incomplete - long support is incomplete (mul, div
-and mod are unimplimented), and both float and bitfield support is
-missing. Apart from that the code generated is correct.
-
-<P>
-As always, the code is the authoritave reference - see z80/ralloc.c
-and z80/gen.c. The stack frame is similar to that generated by the
-IAR Z80 compiler. IX is used as the base pointer, HL is used as a
-temporary register, and BC and DE are available for holding varibles.
-IY is currently unusued. Return values are stored in HL. One bad side
-effect of using IX as the base pointer is that a functions stack frame
-is limited to 127 bytes - this will be fixed in a later version.
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node58.html b/doc/sdccman.html/node58.html
deleted file mode 100644 (file)
index 72fe3f1..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>9. Support</TITLE>
-<META NAME="description" CONTENT="9. Support">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node60.html">
-<LINK REL="previous" HREF="node56.html">
-<LINK REL="up" HREF="sdccman.html">
-<LINK REL="next" HREF="node59.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html1153"
- HREF="node59.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1147"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1141"
- HREF="node57.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1149"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1151"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1154"
- HREF="node59.html">9.1 Reporting Bugs</A>
-<B> Up:</B> <A NAME="tex2html1148"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html1142"
- HREF="node57.html">8.1 The Z80 and</A>
- &nbsp <B>  <A NAME="tex2html1150"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1152"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION000100000000000000000">
-9. Support</A>
-</H1>
-
-<P>
-SDCC has grown to be a large project. The compiler alone (without
-the preprocessor, assembler and linker) is about 40,000 lines of code
-(blank stripped). The open source nature of this project is a key
-to its continued growth and support. You gain the benefit and support
-of many active software developers and end users. Is SDCC perfect?
-No, that's why we need your help. The developers take pride in fixing
-reported bugs. You can help by reporting the bugs and helping other
-SDCC users. There are lots of ways to contribute, and we encourage
-you to take part in making SDCC a great software package.
-
-<P>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
-
-<UL>
-<LI><A NAME="tex2html1155"
- HREF="node59.html">9.1 Reporting Bugs</A>
-</UL>
-<!--End of Table of Child-Links-->
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node59.html b/doc/sdccman.html/node59.html
deleted file mode 100644 (file)
index 7733b3b..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>9.1 Reporting Bugs</TITLE>
-<META NAME="description" CONTENT="9.1 Reporting Bugs">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="previous" HREF="node58.html">
-<LINK REL="up" HREF="node58.html">
-<LINK REL="next" HREF="node60.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html1166"
- HREF="node60.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1160"
- HREF="node58.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1156"
- HREF="node58.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1162"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1164"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1167"
- HREF="node60.html">10. Acknowledgments</A>
-<B> Up:</B> <A NAME="tex2html1161"
- HREF="node58.html">9. Support</A>
-<B> Previous:</B> <A NAME="tex2html1157"
- HREF="node58.html">9. Support</A>
- &nbsp <B>  <A NAME="tex2html1163"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1165"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION000101000000000000000">
-9.1 Reporting Bugs</A>
-</H2>
-
-<P>
-Send an email to the mailing list at 'user-sdcc@sdcc.sourceforge.net'
-or 'devel-sdcc@sdcc.sourceforge.net'. Bugs will be fixed ASAP. When
-reporting a bug, it is very useful to include a small test program
-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 -dumpall option can sometimes be useful in
-locating optimization problems.
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node6.html b/doc/sdccman.html/node6.html
deleted file mode 100644 (file)
index e29c673..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>1.4 Compatibility with previous versions</TITLE>
-<META NAME="description" CONTENT="1.4 Compatibility with previous versions">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node7.html">
-<LINK REL="previous" HREF="node5.html">
-<LINK REL="up" HREF="node2.html">
-<LINK REL="next" HREF="node7.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html278"
- HREF="node7.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html272"
- HREF="node2.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html266"
- HREF="node5.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html274"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html276"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html279"
- HREF="node7.html">1.5 System Requirements</A>
-<B> Up:</B> <A NAME="tex2html273"
- HREF="node2.html">1. Introduction</A>
-<B> Previous:</B> <A NAME="tex2html267"
- HREF="node5.html">1.3 Typographic conventions</A>
- &nbsp <B>  <A NAME="tex2html275"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html277"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00024000000000000000">
-1.4 Compatibility with previous versions</A>
-</H2>
-
-<P>
-This version has numerous bug fixes compared with the previous version.
-But we also introduced some incompatibilities with older versions.
-Not just for the fun of it, but to make the compiler more stable,
-efficient and ANSI compliant. 
-<BR>
-
-<P>
-
-<UL>
-<LI>short is now equivalent to int (16 bits), it used to be equivalent
-to char (8 bits)</LI>
-<LI>the default directory where include, library and documention files
-are stored is no in /usr/local/share</LI>
-<LI>char type parameters to vararg functions are casted to int unless
-explicitly casted, e.g.: 
-<BR>
-<TT>&nbsp;&nbsp;char a=3;</TT>&nbsp;
-<BR>
-<TT>&nbsp;&nbsp;printf (&#34;%d %c&#92;n&#34;,
-a, (char)a);</TT>
-<BR>
-will push a as an int and as a char resp.</LI>
-<LI>option -regextend has been removed</LI>
-<LI>option -noreparms has been removed</LI>
-</UL>
-<I>&lt;pending: more incompatibilities?&gt;</I>
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node60.html b/doc/sdccman.html/node60.html
deleted file mode 100644 (file)
index 8851f35..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>10. Acknowledgments</TITLE>
-<META NAME="description" CONTENT="10. Acknowledgments">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node61.html">
-<LINK REL="previous" HREF="node58.html">
-<LINK REL="up" HREF="sdccman.html">
-<LINK REL="next" HREF="node61.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html1180"
- HREF="node61.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1174"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1168"
- HREF="node59.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1176"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1178"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html1181"
- HREF="node61.html">Index</A>
-<B> Up:</B> <A NAME="tex2html1175"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html1169"
- HREF="node59.html">9.1 Reporting Bugs</A>
- &nbsp <B>  <A NAME="tex2html1177"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1179"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION000110000000000000000">
-10. Acknowledgments</A>
-</H1>
-
-<P>
-Sandeep Dutta (sandeep.dutta@usa.net) - SDCC, the compiler, MCS51
-code generator, Debugger, AVR port
-<BR>
-Alan Baldwin (baldwin@shop-pdp.kent.edu) - Initial version of ASXXXX
-&amp; ASLINK. 
-<BR>
-John Hartman (jhartman@compuserve.com) - Porting ASXXX &amp; ASLINK for
-8051
-<BR>
-Dmitry S. Obukhov (dso@usa.net) - malloc &amp; serial i/o routines. 
-<BR>
-Daniel Drotos (drdani@mazsola.iit.uni-miskolc.hu) - for his Freeware
-simulator
-<BR>
-Malini Dutta(malini_dutta@hotmail.com) - my wife for her patience
-and support.
-<BR>
-Unknown - for the GNU C - preprocessor.
-<BR>
-Michael Hope - The Z80 and Z80GB port, 186 development
-<BR>
-Kevin Vigor - The DS390 port.
-<BR>
-Johan Knol - Lots of fixes and enhancements, DS390/TINI libs.
-<BR>
-Scott Datallo - The PIC port.
-<BR>
-
-<BR>
-<I>Thanks to all the other volunteer developers who have helped
-with coding, testing, web-page creation, distribution sets, etc. You
-know who you are :-)</I>
-<BR>
-
-<P>
-This document was initially written by Sandeep Dutta
-
-<P>
-All product names mentioned herein may be trademarks of their respective
-companies. 
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node61.html b/doc/sdccman.html/node61.html
deleted file mode 100644 (file)
index a1da729..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Index</TITLE>
-<META NAME="description" CONTENT="Index">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node62.html">
-<LINK REL="previous" HREF="node60.html">
-<LINK REL="up" HREF="sdccman.html">
-<LINK REL="next" HREF="node62.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html1192"
- HREF="node62.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html1188"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1182"
- HREF="node60.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1190"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A>  
-<BR>
-<B> Next:</B> <A NAME="tex2html1193"
- HREF="node62.html">About this document ...</A>
-<B> Up:</B> <A NAME="tex2html1189"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html1183"
- HREF="node60.html">10. Acknowledgments</A>
- &nbsp <B>  <A NAME="tex2html1191"
- HREF="node1.html">Contents</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-<BR>
-
-<H2><A NAME="SECTION000120000000000000000">
-Index</A>
-</H2><DL COMPACT>
-<DT><STRONG>index</STRONG>
-<DD><A HREF="node9.html#68">1.7 Wishes for the</A>
-
-</DL>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node62.html b/doc/sdccman.html/node62.html
deleted file mode 100644 (file)
index 7bbeb77..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>About this document ...</TITLE>
-<META NAME="description" CONTENT="About this document ...">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="previous" HREF="node61.html">
-<LINK REL="up" HREF="sdccman.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif_gr.gif"> 
-<A NAME="tex2html1198"
- HREF="sdccman.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html1194"
- HREF="node61.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html1200"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html1202"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Up:</B> <A NAME="tex2html1199"
- HREF="sdccman.html">SDCC Compiler User Guide</A>
-<B> Previous:</B> <A NAME="tex2html1195"
- HREF="node61.html">Index</A>
- &nbsp <B>  <A NAME="tex2html1201"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html1203"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H1><A NAME="SECTION000130000000000000000">
-About this document ...</A>
-</H1>
- <STRONG>SDCC Compiler User Guide</STRONG><P>
-This document was generated using the
-<A HREF="http://www-dsed.llnl.gov/files/programs/unix/latex2html/manual/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 99.1 release (March 30, 1999)
-<P>
-Copyright &#169; 1993, 1994, 1995, 1996,
-<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>, 
-Computer Based Learning Unit, University of Leeds.
-<BR>
-Copyright &#169; 1997, 1998, 1999,
-<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>, 
-Mathematics Department, Macquarie University, Sydney.
-<P>
-The command line arguments were: <BR>
- <STRONG>latex2html</STRONG> <TT>-split 5 -show_section_numbers -dir sdccman.html sdccman</TT>
-<P>
-The translation was initiated by Johan Knol on 2001-07-13
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node7.html b/doc/sdccman.html/node7.html
deleted file mode 100644 (file)
index fb89791..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>1.5 System Requirements</TITLE>
-<META NAME="description" CONTENT="1.5 System Requirements">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node8.html">
-<LINK REL="previous" HREF="node6.html">
-<LINK REL="up" HREF="node2.html">
-<LINK REL="next" HREF="node8.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html292"
- HREF="node8.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html286"
- HREF="node2.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html280"
- HREF="node6.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html288"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html290"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html293"
- HREF="node8.html">1.6 Other Resources</A>
-<B> Up:</B> <A NAME="tex2html287"
- HREF="node2.html">1. Introduction</A>
-<B> Previous:</B> <A NAME="tex2html281"
- HREF="node6.html">1.4 Compatibility with previous</A>
- &nbsp <B>  <A NAME="tex2html289"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html291"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00025000000000000000">
-1.5 System Requirements</A>
-</H2>
-
-<P>
-What do you need before you start installation of SDCC? A computer,
-and a desire to compute. The preferred method of installation is to
-compile SDCC from source using GNU gcc and make. For Windows some
-pre-compiled binary distributions are available for your convenience.
-You should have some experience with command line tools and compiler
-use.
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node8.html b/doc/sdccman.html/node8.html
deleted file mode 100644 (file)
index 28cb201..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>1.6 Other Resources</TITLE>
-<META NAME="description" CONTENT="1.6 Other Resources">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node9.html">
-<LINK REL="previous" HREF="node7.html">
-<LINK REL="up" HREF="node2.html">
-<LINK REL="next" HREF="node9.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html306"
- HREF="node9.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html300"
- HREF="node2.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html294"
- HREF="node7.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html302"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html304"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html307"
- HREF="node9.html">1.7 Wishes for the</A>
-<B> Up:</B> <A NAME="tex2html301"
- HREF="node2.html">1. Introduction</A>
-<B> Previous:</B> <A NAME="tex2html295"
- HREF="node7.html">1.5 System Requirements</A>
- &nbsp <B>  <A NAME="tex2html303"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html305"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00026000000000000000">
-1.6 Other Resources</A>
-</H2>
-
-<P>
-The SDCC home page at  http://sdcc.sourceforge.net/ is a great
-place to find distribution sets. You can also find links to the user
-mailing lists that offer help or discuss SDCC with other SDCC users.
-Web links to other SDCC related sites can also be found here. This
-document can be found in the DOC directory of the source package as
-a text or HTML file. Some of the other tools (simulator and assembler)
-included with SDCC contain their own documentation and can be found
-in the source distribution. If you want the latest unreleased software,
-the complete source package is available directly by anonymous CVS
-on cvs.sdcc.sourceforge.net.
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/node9.html b/doc/sdccman.html/node9.html
deleted file mode 100644 (file)
index 8ce4696..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>1.7 Wishes for the future</TITLE>
-<META NAME="description" CONTENT="1.7 Wishes for the future">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="previous" HREF="node8.html">
-<LINK REL="up" HREF="node2.html">
-<LINK REL="next" HREF="node10.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html318"
- HREF="node10.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<A NAME="tex2html312"
- HREF="node2.html">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
-<A NAME="tex2html308"
- HREF="node8.html">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
-<A NAME="tex2html314"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html316"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html319"
- HREF="node10.html">2. Installation</A>
-<B> Up:</B> <A NAME="tex2html313"
- HREF="node2.html">1. Introduction</A>
-<B> Previous:</B> <A NAME="tex2html309"
- HREF="node8.html">1.6 Other Resources</A>
- &nbsp <B>  <A NAME="tex2html315"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html317"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<H2><A NAME="SECTION00027000000000000000">
-1.7 Wishes for the future</A>
-</H2>
-
-<P>
-There are (and always will be) some things that could be done. Here
-are some I can think of:
-<BR>
-
-<P>
-<I><B>sdcc -c -model-large -o large _atoi.c</B></I> (where large
-could be a different basename or a directory)
-<BR>
-
-<P>
-<TT>char KernelFunction3(char p) at 0x340;</TT>&nbsp;
-<BR>&nbsp;
-<BR>
-If you can think of some more, please send them to the list.
-<BR>
-
-<BR>
-<I>&lt;pending: And then of course a proper index-table<A NAME="68"></A>&gt;</I>
-
-<P>
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/previous_motif.gif b/doc/sdccman.html/previous_motif.gif
deleted file mode 100644 (file)
index c38778c..0000000
Binary files a/doc/sdccman.html/previous_motif.gif and /dev/null differ
diff --git a/doc/sdccman.html/previous_motif_gr.gif b/doc/sdccman.html/previous_motif_gr.gif
deleted file mode 100644 (file)
index d5398b3..0000000
Binary files a/doc/sdccman.html/previous_motif_gr.gif and /dev/null differ
diff --git a/doc/sdccman.html/sdccman.html b/doc/sdccman.html/sdccman.html
deleted file mode 100644 (file)
index de73f32..0000000
+++ /dev/null
@@ -1,348 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>SDCC Compiler User Guide</TITLE>
-<META NAME="description" CONTENT="SDCC Compiler User Guide">
-<META NAME="keywords" CONTENT="sdccman">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="sdccman.css">
-
-<LINK REL="next" HREF="node1.html">
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<A NAME="tex2html6"
- HREF="node1.html">
-<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif_gr.gif"> 
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif_gr.gif"> 
-<A NAME="tex2html2"
- HREF="node1.html">
-<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
-<A NAME="tex2html4"
- HREF="node61.html">
-<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
-<BR>
-<B> Next:</B> <A NAME="tex2html7"
- HREF="node1.html">Contents</A>
- &nbsp <B>  <A NAME="tex2html3"
- HREF="node1.html">Contents</A></B> 
- &nbsp <B>  <A NAME="tex2html5"
- HREF="node61.html">Index</A></B> 
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<P>
-
-<P>
-<H1 ALIGN="CENTER">SDCC Compiler User Guide</H1>
-<BR><HR>
-<!--Table of Child-Links-->
-<A NAME="CHILD_LINKS"></A>
-
-<UL>
-<LI><A NAME="tex2html8"
- HREF="node1.html">Contents</A>
-<LI><A NAME="tex2html9"
- HREF="node2.html">1. Introduction</A>
-<UL>
-<LI><A NAME="tex2html10"
- HREF="node3.html">1.1 About SDCC</A>
-<LI><A NAME="tex2html11"
- HREF="node4.html">1.2 Open Source</A>
-<LI><A NAME="tex2html12"
- HREF="node5.html">1.3 Typographic conventions</A>
-<LI><A NAME="tex2html13"
- HREF="node6.html">1.4 Compatibility with previous versions</A>
-<LI><A NAME="tex2html14"
- HREF="node7.html">1.5 System Requirements</A>
-<LI><A NAME="tex2html15"
- HREF="node8.html">1.6 Other Resources</A>
-<LI><A NAME="tex2html16"
- HREF="node9.html">1.7 Wishes for the future</A>
-</UL>
-<LI><A NAME="tex2html17"
- HREF="node10.html">2. Installation</A>
-<UL>
-<LI><A NAME="tex2html18"
- HREF="node11.html">2.1 Linux/Unix Installation</A>
-<LI><A NAME="tex2html19"
- HREF="node12.html">2.2 Windows Installation</A>
-<UL>
-<LI><A NAME="tex2html20"
- HREF="node12.html#SECTION00032100000000000000">2.2.1 Windows Install Using a Binary Package</A>
-<LI><A NAME="tex2html21"
- HREF="node12.html#SECTION00032200000000000000">2.2.2 Windows Install Using Cygwin</A>
-</UL>
-<LI><A NAME="tex2html22"
- HREF="node13.html">2.3 Testing out the SDCC Compiler</A>
-<LI><A NAME="tex2html23"
- HREF="node14.html">2.4 Install Trouble-shooting</A>
-<UL>
-<LI><A NAME="tex2html24"
- HREF="node14.html#SECTION00034100000000000000">2.4.1 SDCC cannot find libraries or header files.</A>
-<LI><A NAME="tex2html25"
- HREF="node14.html#SECTION00034200000000000000">2.4.2 SDCC does not compile correctly.</A>
-<LI><A NAME="tex2html26"
- HREF="node14.html#SECTION00034300000000000000">2.4.3 What the ''./configure'' does</A>
-<LI><A NAME="tex2html27"
- HREF="node14.html#SECTION00034400000000000000">2.4.4 What the ''make'' does.</A>
-<LI><A NAME="tex2html28"
- HREF="node14.html#SECTION00034500000000000000">2.4.5 What the ''make install'' command does.</A>
-</UL>
-<LI><A NAME="tex2html29"
- HREF="node15.html">2.5 Additional Information for Windows Users</A>
-<UL>
-<LI><A NAME="tex2html30"
- HREF="node15.html#SECTION00035100000000000000">2.5.1 Getting started with Cygwin</A>
-<LI><A NAME="tex2html31"
- HREF="node15.html#SECTION00035200000000000000">2.5.2 Running SDCC as Native Compiled Executables</A>
-</UL>
-<LI><A NAME="tex2html32"
- HREF="node16.html">2.6 SDCC on Other Platforms</A>
-<LI><A NAME="tex2html33"
- HREF="node17.html">2.7 Advanced Install Options</A>
-<LI><A NAME="tex2html34"
- HREF="node18.html">2.8 Components of SDCC</A>
-<UL>
-<LI><A NAME="tex2html35"
- HREF="node18.html#SECTION00038100000000000000">2.8.1 sdcc - The Compiler</A>
-<LI><A NAME="tex2html36"
- HREF="node18.html#SECTION00038200000000000000">2.8.2 sdcpp (C-Preprocessor)</A>
-<LI><A NAME="tex2html37"
- HREF="node18.html#SECTION00038300000000000000">2.8.3 asx8051, as-z80, as-gbz80, aslink, link-z80, link-gbz80 (The Assemblers
-and Linkage Editors)</A>
-<LI><A NAME="tex2html38"
- HREF="node18.html#SECTION00038400000000000000">2.8.4 s51 - Simulator</A>
-<LI><A NAME="tex2html39"
- HREF="node18.html#SECTION00038500000000000000">2.8.5 sdcdb - Source Level Debugger</A>
-</UL>
-</UL>
-<LI><A NAME="tex2html40"
- HREF="node19.html">3. Using SDCC</A>
-<UL>
-<LI><A NAME="tex2html41"
- HREF="node20.html">3.1 Compiling</A>
-<UL>
-<LI><A NAME="tex2html42"
- HREF="node20.html#SECTION00041100000000000000">3.1.1 Single Source File Projects</A>
-<LI><A NAME="tex2html43"
- HREF="node20.html#SECTION00041200000000000000">3.1.2 Projects with Multiple Source Files</A>
-<LI><A NAME="tex2html44"
- HREF="node20.html#SECTION00041300000000000000">3.1.3 Projects with Additional Libraries</A>
-</UL>
-<LI><A NAME="tex2html45"
- HREF="node21.html">3.2 Command Line Options</A>
-<UL>
-<LI><A NAME="tex2html46"
- HREF="node21.html#SECTION00042100000000000000">3.2.1 Processor Selection Options</A>
-<LI><A NAME="tex2html47"
- HREF="node21.html#SECTION00042200000000000000">3.2.2 Preprocessor Options</A>
-<LI><A NAME="tex2html48"
- HREF="node21.html#SECTION00042300000000000000">3.2.3 Linker Options</A>
-<LI><A NAME="tex2html49"
- HREF="node21.html#SECTION00042400000000000000">3.2.4 MCS51 Options</A>
-<LI><A NAME="tex2html50"
- HREF="node21.html#SECTION00042500000000000000">3.2.5 DS390 Options</A>
-<LI><A NAME="tex2html51"
- HREF="node21.html#SECTION00042600000000000000">3.2.6 Optimization Options</A>
-<LI><A NAME="tex2html52"
- HREF="node21.html#SECTION00042700000000000000">3.2.7 Other Options</A>
-<LI><A NAME="tex2html53"
- HREF="node21.html#SECTION00042800000000000000">3.2.8 Intermediate Dump Options</A>
-</UL>
-<LI><A NAME="tex2html54"
- HREF="node22.html">3.3 MCS51/DS390 Storage Class Language Extensions</A>
-<UL>
-<LI><A NAME="tex2html55"
- HREF="node22.html#SECTION00043100000000000000">3.3.1 xdata</A>
-<LI><A NAME="tex2html56"
- HREF="node22.html#SECTION00043200000000000000">3.3.2 data</A>
-<LI><A NAME="tex2html57"
- HREF="node22.html#SECTION00043300000000000000">3.3.3 idata</A>
-<LI><A NAME="tex2html58"
- HREF="node22.html#SECTION00043400000000000000">3.3.4 bit</A>
-<LI><A NAME="tex2html59"
- HREF="node22.html#SECTION00043500000000000000">3.3.5 sfr / sbit</A>
-</UL>
-<LI><A NAME="tex2html60"
- HREF="node23.html">3.4 Pointers</A>
-<LI><A NAME="tex2html61"
- HREF="node24.html">3.5 Parameters &amp; Local Variables</A>
-<LI><A NAME="tex2html62"
- HREF="node25.html">3.6 Overlaying</A>
-<LI><A NAME="tex2html63"
- HREF="node26.html">3.7 Interrupt Service Routines</A>
-<LI><A NAME="tex2html64"
- HREF="node27.html">3.8 Critical Functions</A>
-<LI><A NAME="tex2html65"
- HREF="node28.html">3.9 Naked Functions</A>
-<LI><A NAME="tex2html66"
- HREF="node29.html">3.10 Functions using private banks</A>
-<LI><A NAME="tex2html67"
- HREF="node30.html">3.11 Absolute Addressing</A>
-<LI><A NAME="tex2html68"
- HREF="node31.html">3.12 Startup Code</A>
-<LI><A NAME="tex2html69"
- HREF="node32.html">3.13 Inline Assembler Code</A>
-<LI><A NAME="tex2html70"
- HREF="node33.html">3.14 int(16 bit) and long (32 bit) Support</A>
-<LI><A NAME="tex2html71"
- HREF="node34.html">3.15 Floating Point Support</A>
-<LI><A NAME="tex2html72"
- HREF="node35.html">3.16 MCS51 Memory Models</A>
-<LI><A NAME="tex2html73"
- HREF="node36.html">3.17 DS390 Memory Models</A>
-<LI><A NAME="tex2html74"
- HREF="node37.html">3.18 Defines Created by the Compiler</A>
-</UL>
-<LI><A NAME="tex2html75"
- HREF="node38.html">4. SDCC Technical Data</A>
-<UL>
-<LI><A NAME="tex2html76"
- HREF="node39.html">4.1 Optimizations</A>
-<UL>
-<LI><A NAME="tex2html77"
- HREF="node39.html#SECTION00051100000000000000">4.1.1 Sub-expression Elimination</A>
-<LI><A NAME="tex2html78"
- HREF="node39.html#SECTION00051200000000000000">4.1.2 Dead-Code Elimination</A>
-<LI><A NAME="tex2html79"
- HREF="node39.html#SECTION00051300000000000000">4.1.3 Copy-Propagation</A>
-<LI><A NAME="tex2html80"
- HREF="node39.html#SECTION00051400000000000000">4.1.4 Loop Optimizations</A>
-<LI><A NAME="tex2html81"
- HREF="node39.html#SECTION00051500000000000000">4.1.5 Loop Reversing</A>
-<LI><A NAME="tex2html82"
- HREF="node39.html#SECTION00051600000000000000">4.1.6 Algebraic Simplifications</A>
-<LI><A NAME="tex2html83"
- HREF="node39.html#SECTION00051700000000000000">4.1.7 'switch' Statements</A>
-<LI><A NAME="tex2html84"
- HREF="node39.html#SECTION00051800000000000000">4.1.8 Bit-shifting Operations.</A>
-<LI><A NAME="tex2html85"
- HREF="node39.html#SECTION00051900000000000000">4.1.9 Bit-rotation</A>
-<LI><A NAME="tex2html86"
- HREF="node39.html#SECTION000511000000000000000">4.1.10 Highest Order Bit</A>
-<LI><A NAME="tex2html87"
- HREF="node39.html#SECTION000511100000000000000">4.1.11 Peep-hole Optimizer</A>
-</UL>
-<LI><A NAME="tex2html88"
- HREF="node40.html">4.2 Pragmas</A>
-<LI><A NAME="tex2html89"
- HREF="node41.html">4.3 <I>&lt;pending: this is messy and incomplete&gt;</I> Library Routines</A>
-<LI><A NAME="tex2html90"
- HREF="node42.html">4.4 Interfacing with Assembly Routines</A>
-<UL>
-<LI><A NAME="tex2html91"
- HREF="node42.html#SECTION00054100000000000000">4.4.1 Global Registers used for Parameter Passing</A>
-<LI><A NAME="tex2html92"
- HREF="node42.html#SECTION00054200000000000000">4.4.2 Assembler Routine(non-reentrant)</A>
-<LI><A NAME="tex2html93"
- HREF="node42.html#SECTION00054300000000000000">4.4.3 Assembler Routine(reentrant)</A>
-</UL>
-<LI><A NAME="tex2html94"
- HREF="node43.html">4.5 External Stack</A>
-<LI><A NAME="tex2html95"
- HREF="node44.html">4.6 ANSI-Compliance</A>
-<LI><A NAME="tex2html96"
- HREF="node45.html">4.7 Cyclomatic Complexity</A>
-</UL>
-<LI><A NAME="tex2html97"
- HREF="node46.html">5. TIPS</A>
-<UL>
-<LI><A NAME="tex2html98"
- HREF="node47.html">5.1 Notes on MCS51 memory layout</A>
-</UL>
-<LI><A NAME="tex2html99"
- HREF="node48.html">6. Retargetting for other MCUs.</A>
-<LI><A NAME="tex2html100"
- HREF="node49.html">7. SDCDB - Source Level Debugger</A>
-<UL>
-<LI><A NAME="tex2html101"
- HREF="node50.html">7.1 Compiling for Debugging</A>
-<LI><A NAME="tex2html102"
- HREF="node51.html">7.2 How the Debugger Works</A>
-<LI><A NAME="tex2html103"
- HREF="node52.html">7.3 Starting the Debugger</A>
-<LI><A NAME="tex2html104"
- HREF="node53.html">7.4 Command Line Options.</A>
-<LI><A NAME="tex2html105"
- HREF="node54.html">7.5 Debugger Commands.</A>
-<UL>
-<LI><A NAME="tex2html106"
- HREF="node54.html#SECTION00085100000000000000">7.5.1 break [line | file:line | function | file:function]</A>
-<LI><A NAME="tex2html107"
- HREF="node54.html#SECTION00085200000000000000">7.5.2 clear [line | file:line | function | file:function ]</A>
-<LI><A NAME="tex2html108"
- HREF="node54.html#SECTION00085300000000000000">7.5.3 continue</A>
-<LI><A NAME="tex2html109"
- HREF="node54.html#SECTION00085400000000000000">7.5.4 finish</A>
-<LI><A NAME="tex2html110"
- HREF="node54.html#SECTION00085500000000000000">7.5.5 delete [n]</A>
-<LI><A NAME="tex2html111"
- HREF="node54.html#SECTION00085600000000000000">7.5.6 info [break | stack | frame | registers ]</A>
-<LI><A NAME="tex2html112"
- HREF="node54.html#SECTION00085700000000000000">7.5.7 step</A>
-<LI><A NAME="tex2html113"
- HREF="node54.html#SECTION00085800000000000000">7.5.8 next</A>
-<LI><A NAME="tex2html114"
- HREF="node54.html#SECTION00085900000000000000">7.5.9 run</A>
-<LI><A NAME="tex2html115"
- HREF="node54.html#SECTION000851000000000000000">7.5.10 ptype variable </A>
-<LI><A NAME="tex2html116"
- HREF="node54.html#SECTION000851100000000000000">7.5.11 print variable</A>
-<LI><A NAME="tex2html117"
- HREF="node54.html#SECTION000851200000000000000">7.5.12 file filename</A>
-<LI><A NAME="tex2html118"
- HREF="node54.html#SECTION000851300000000000000">7.5.13 frame</A>
-<LI><A NAME="tex2html119"
- HREF="node54.html#SECTION000851400000000000000">7.5.14 set srcmode</A>
-<LI><A NAME="tex2html120"
- HREF="node54.html#SECTION000851500000000000000">7.5.15 ! simulator command</A>
-<LI><A NAME="tex2html121"
- HREF="node54.html#SECTION000851600000000000000">7.5.16 quit.</A>
-</UL>
-<LI><A NAME="tex2html122"
- HREF="node55.html">7.6 Interfacing with XEmacs.</A>
-</UL>
-<LI><A NAME="tex2html123"
- HREF="node56.html">8. Other Processors</A>
-<UL>
-<LI><A NAME="tex2html124"
- HREF="node57.html">8.1 The Z80 and gbz80 port</A>
-</UL>
-<LI><A NAME="tex2html125"
- HREF="node58.html">9. Support</A>
-<UL>
-<LI><A NAME="tex2html126"
- HREF="node59.html">9.1 Reporting Bugs</A>
-</UL>
-<LI><A NAME="tex2html127"
- HREF="node60.html">10. Acknowledgments</A>
-<LI><A NAME="tex2html128"
- HREF="node61.html">Index</A>
-<LI><A NAME="tex2html129"
- HREF="node62.html">About this document ...</A>
-</UL>
-<!--End of Table of Child-Links-->
-<BR><HR>
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/sdccman.html/up_motif.gif b/doc/sdccman.html/up_motif.gif
deleted file mode 100644 (file)
index c7c9cf7..0000000
Binary files a/doc/sdccman.html/up_motif.gif and /dev/null differ
diff --git a/doc/sdccman.html/up_motif_gr.gif b/doc/sdccman.html/up_motif_gr.gif
deleted file mode 100644 (file)
index 6aeb675..0000000
Binary files a/doc/sdccman.html/up_motif_gr.gif and /dev/null differ
diff --git a/doc/sdccman.pdf b/doc/sdccman.pdf
deleted file mode 100644 (file)
index 8cdccd6..0000000
Binary files a/doc/sdccman.pdf and /dev/null differ
diff --git a/doc/sdccman.txt b/doc/sdccman.txt
deleted file mode 100644 (file)
index 2c163aa..0000000
+++ /dev/null
@@ -1,3221 +0,0 @@
-
-
-SDCC Compiler User Guide
-
-Table of Contents
-
-Introduction
-    About SDCC
-    Open Source
-    Typographic conventions
-    Compatibility with previous versions
-    System Requirements
-    Other Resources
-    Wishes for the future
-Installation
-    Linux/Unix Installation
-    Windows Installation
-        Windows Install Using a Binary Package
-        Windows Install Using Cygwin
-    Testing out the SDCC Compiler
-    Install Trouble-shooting
-        SDCC cannot find libraries or header files.
-        SDCC does not compile correctly.
-        What the ./configure does
-        What the make does.
-        What the make install command does.
-    Additional Information for Windows Users
-        Getting started with Cygwin
-        Running SDCC as Native Compiled Executables
-    SDCC on Other Platforms
-    Advanced Install Options
-    Components of SDCC
-        sdcc - The Compiler
-        sdcpp (C-Preprocessor)
-        asx8051, as-z80, as-gbz80, aslink, link-z80, link-gbz80 (The Assemblers and Linkage Editors)
-        s51 - Simulator
-        sdcdb - Source Level Debugger
-Using SDCC
-    Compiling
-        Single Source File Projects
-        Projects with Multiple Source Files
-        Projects with Additional Libraries
-    Command Line Options
-        Processor Selection Options
-        Preprocessor Options
-        Linker Options
-        MCS51 Options
-        DS390 Options
-        Optimization Options
-        Other Options
-        Intermediate Dump Options
-    MCS51/DS390 Storage Class Language Extensions
-        xdata
-        data
-        idata
-        bit
-        sfr / sbit
-    Pointers
-    Parameters & Local Variables
-    Overlaying
-    Interrupt Service Routines
-    Critical Functions
-    Naked Functions
-    Functions using private banks
-    Absolute Addressing
-    Startup Code
-    Inline Assembler Code
-    int(16 bit) and long (32 bit) Support
-    Floating Point Support
-    MCS51 Memory Models
-    DS390 Memory Models
-    Defines Created by the Compiler
-SDCC Technical Data
-    Optimizations
-        Sub-expression Elimination
-        Dead-Code Elimination
-        Copy-Propagation
-        Loop Optimizations
-        Loop Reversing
-        Algebraic Simplifications
-        'switch' Statements
-        Bit-shifting Operations.
-        Bit-rotation
-        Highest Order Bit
-        Peep-hole Optimizer
-    Pragmas
-    <pending: this is messy and incomplete> Library Routines
-    Interfacing with Assembly Routines
-        Global Registers used for Parameter Passing
-        Assembler Routine(non-reentrant)
-        Assembler Routine(reentrant)
-    External Stack
-    ANSI-Compliance
-    Cyclomatic Complexity
-TIPS
-    Notes on MCS51 memory layout
-Retargetting for other MCUs.
-SDCDB - Source Level Debugger
-    Compiling for Debugging
-    How the Debugger Works
-    Starting the Debugger
-    Command Line Options.
-    Debugger Commands.
-        break [line | file:line | function | file:function]
-        clear [line | file:line | function | file:function ]
-        continue
-        finish
-        delete [n]
-        info [break | stack | frame | registers ]
-        step
-        next
-        run
-        ptype variable 
-        print variable
-        file filename
-        frame
-        set srcmode
-        ! simulator command
-        quit.
-    Interfacing with XEmacs.
-Other Processors
-    The Z80 and gbz80 port
-Support
-    Reporting Bugs
-Acknowledgments
-
-
-
- Introduction
-
- About SDCC
-
-SDCC is a Freeware, retargettable, optimizing ANSI-C compiler
-by Sandeep Dutta designed for 8 bit Microprocessors. The
-current version targets Intel MCS51 based Microprocessors(8051,8052,
-etc), Zilog Z80 based MCUs, and the Dallas DS80C390 variant.
-It can be retargetted for other microprocessors, support
-for PIC, AVR and 186 is under development. The entire source
-code for the compiler is distributed under GPL. SDCC uses
-ASXXXX & ASLINK, a Freeware, retargettable assembler & linker.
-SDCC has extensive language extensions suitable for utilizing
-various microcontrollers and underlying hardware effectively.
-
-
-In addition to the MCU specific optimizations SDCC also does
-a host of standard optimizations like:
-
- global sub expression elimination, 
-
- loop optimizations (loop invariant, strength reduction
-  of induction variables and loop reversing), 
-
- constant folding & propagation, 
-
- copy propagation, 
-
- dead code elimination 
-
- jumptables for switch statements.
-
-For the back-end SDCC uses a global register allocation scheme
-which should be well suited for other 8 bit MCUs. 
-
-The peep hole optimizer uses a rule based substitution mechanism
-which is MCU independent. 
-
-Supported data-types are:
-
- char (8 bits, 1 byte), 
-
- short and int (16 bits, 2 bytes), 
-
- long (32 bit, 4 bytes)
-
- float (4 byte IEEE). 
-
-The compiler also allows inline assembler code to be embedded
-anywhere in a function. In addition, routines developed
-in assembly can also be called.
-
-SDCC also provides an option (--cyclomatic) to report the
-relative complexity of a function. These functions can then
-be further optimized, or hand coded in assembly if needed.
-
-
-SDCC also comes with a companion source level debugger SDCDB,
-the debugger currently uses ucSim a freeware simulator for
-8051 and other micro-controllers. 
-
-The latest version can be downloaded from [http://sdcc.sourceforge.net/].
-
- Open Source
-
-All packages used in this compiler system are opensource
-and freeware; source code for all the sub-packages (asxxxx
-assembler/linker, pre-processor) is distributed with the
-package. This documentation is maintained using a freeware
-word processor (LyX). 
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version
-2, or (at your option) any later version. This program is
-distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-Public License for more details. You should have received
-a copy of the GNU General Public License along with this
-program; if not, write to the Free Software Foundation,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-In other words, you are welcome to use, share and improve
-this program. You are forbidden to forbid anyone else to
-use, share and improve what you give them. Help stamp out
-software-hoarding! 
-
- Typographic conventions
-
-Throughout this manual, we will use the following convention.
-Commands you have to type in are printed in "sans serif".
-Code samples are printed in typewriter font. Interesting
-items and new terms are printed in italicised type.
-
- Compatibility with previous versions
-
-This version has numerous bug fixes compared with the previous
-version. But we also introduced some incompatibilities with
-older versions. Not just for the fun of it, but to make
-the compiler more stable, efficient and ANSI compliant. 
-
-
- short is now equivalent to int (16 bits), it used to be
-  equivalent to char (8 bits)
-
- the default directory where include, library and documention
-  files are stored is no in /usr/local/share
-
- char type parameters to vararg functions are casted to
-  int unless explicitly casted, e.g.: 
-    char a=3;
-    printf ("%d %c\n", a, (char)a);
-   will push a as an int and as a char resp.
-
- option --regextend has been removed
-
- option --noreparms has been removed
-
-<pending: more incompatibilities?>
-
- System Requirements
-
-What do you need before you start installation of SDCC? A
-computer, and a desire to compute. The preferred method
-of installation is to compile SDCC from source using GNU
-gcc and make. For Windows some pre-compiled binary distributions
-are available for your convenience. You should have some
-experience with command line tools and compiler use.
-
- Other Resources
-
-The SDCC home page at [http://sdcc.sourceforge.net/]
-is a great place to find distribution sets. You can also
-find links to the user mailing lists that offer help or
-discuss SDCC with other SDCC users. Web links to other SDCC
-related sites can also be found here. This document can
-be found in the DOC directory of the source package as a
-text or HTML file. Some of the other tools (simulator and
-assembler) included with SDCC contain their own documentation
-and can be found in the source distribution. If you want
-the latest unreleased software, the complete source package
-is available directly by anonymous CVS on cvs.sdcc.sourceforge.net.
-
- Wishes for the future
-
-There are (and always will be) some things that could be
-done. Here are some I can think of:
-
-
-sdcc -c --model-large -o large _atoi.c (where large could
-be a different basename or a directory)
-
-
-char KernelFunction3(char p) at 0x340;
-
-If you can think of some more, please send them to the list.
-
-<pending: And then of course a proper index-table>
-
- Installation
-
- Linux/Unix Installation
-
- Download the source package, it will be named something
-  like sdcc-2.x.x.tgz.
-
- Bring up a command line terminal, such as xterm.
-
- Unpack the file using a command like: "tar -xzf sdcc-2.x.x.tgz",
-  this will create a sub-directory called sdcc with all
-  of the sources.
-
- Change directory into the main SDCC directory, for example
-  type: "cd sdcc".
-
- Type "./configure". This configures the package for compilation
-  on your system.
-
- Type "make". All of the source packages will compile, this
-  can take a while.
-
- Type "make install" as root. This copies the binary executables,
-  the include files, the libraries and the documentation
-  to the install directories.
-
- Windows Installation
-
-<pending: is this complete? where is borland, mingw>
-
-For installation under Windows you first need to pick between
-a pre-compiled binary package, or installing the source
-package along with the Cygwin package. The binary package
-is the quickest to install, while the Cygwin package includes
-all of the open source power tools used to compile the complete
-SDCC source package in the Windows environment. If you are
-not familiar with the Unix command line environment, you
-may want to read the section on additional information for
-Windows users prior to your initial installation.
-
- Windows Install Using a Binary Package
-
- Download the binary package and unpack it using your favorite
-  unpacking tool (gunzip, WinZip, etc). This should unpack
-  to a group of sub-directories. An example directory structure
-  after unpacking is: c:\usr\local\bin for the executables,
-  c:\usr\local\share\sdcc\include and c:\usr\local\share\sdcc\lib
-  for the include and libraries.
-
- Adjust your environment PATH to include the location of
-  the bin directory. For example, make a setsdcc.bat file
-  with the following: set PATH=c:\usr\local\bin;%PATH%
-
- When you compile with sdcc, you may need to specify the
-  location of the lib and include folders. For example,
-  sdcc -I c:\usr\local\share\sdcc\include -L c:\usr\local\share\sdcc\lib\small
-  test.c
-
- Windows Install Using Cygwin
-
- Download and install the cygwin package from the redhat
-  site[http://sources.redhat.com/cygwin/]. Currently,
-  this involved downloading a small install program which
-  then automates downloading and installing selected parts
-  of the package (a large 80M byte sized dowload for the
-  whole thing). 
-
- Bring up a Unix/Bash command line terminal from the Cygwin
-  menu.
-
- Follow the instructions in the preceding Linux/Unix installation
-  section.
-
- Testing out the SDCC Compiler
-
-The first thing you should do after installing your SDCC
-compiler is to see if it runs. Type "sdcc --version" at
-the prompt, and the program should run and tell you the
-version. If it doesn't run, or gives a message about not
-finding sdcc program, then you need to check over your installation.
-Make sure that the sdcc bin directory is in your executable
-search path defined by the PATH environment setting (see
-the Trouble-shooting section for suggestions). Make sure
-that the sdcc program is in the bin folder, if not perhaps
-something did not install correctly.
-
-SDCC binaries are commonly installed in a directory arrangement
-like this:
-
-+--------------------------------+-------------------------------------------+
-| /usr/local/bin                 | Holds executables(sdcc, s51, aslink, ...) |
-+--------------------------------+-------------------------------------------+
-+--------------------------------+-------------------------------------------+
-| /usr/local/share/sdcc/lib      | Holds common C libraries                  |
-+--------------------------------+-------------------------------------------+
-| /usr/local/share/sdcc/include  | Holds common C header files               |
-+--------------------------------+-------------------------------------------+
-
-
-Make sure the compiler works on a very simple example. Type
-in the following test.c program using your favorite editor:
-
-int test(int t) {
-    return t+3;
-}
-
-Compile this using the following command: "sdcc -c test.c".
-If all goes well, the compiler will generate a test.asm
-and test.rel file. Congratulations, you've just compiled
-your first program with SDCC. We used the -c option to tell
-SDCC not to link the generated code, just to keep things
-simple for this step.
-
-The next step is to try it with the linker. Type in "sdcc
-test.c". If all goes well the compiler will link with the
-libraries and produce a test.ihx output file. If this step
-fails (no test.ihx, and the linker generates warnings),
-then the problem is most likely that sdcc cannot find the
-/usr/local/share/sdcc/lib directory (see the Install trouble-shooting
-section for suggestions).
-
-The final test is to ensure sdcc can use the standard header
-files and libraries. Edit test.c and change it to the following:
-
-#include <string.h>
-main() {
-char str1[10];
-    strcpy(str1, "testing");
-}
-
-Compile this by typing "sdcc test.c". This should generate
-a test.ihx output file, and it should give no warnings such
-as not finding the string.h file. If it cannot find the
-string.h file, then the problem is that sdcc cannot find
-the /usr/local/share/sdcc/include directory (see the Install
-trouble-shooting section for suggestions).
-
- Install Trouble-shooting
-
- SDCC cannot find libraries or header files.
-
-The default installation assumes the libraries and header
-files are located at "/usr/local/share/sdcc/lib"
-and "/usr/local/share/sdcc/include".
-An alternative is to specify these locations as compiler
-options like this: "sdcc -L /usr/local/sdcc/lib/small -I /usr/local/sdcc/include test.c".
-
- SDCC does not compile correctly.
-
-A thing to try is starting from scratch by unpacking the
-.tgz source package again in an empty directory. Confure
-it again and build like:
-
-make 2&>1 | tee make.log
-
-After this you can review the make.log file to locate the
-problem. Or a relevant part of this be attached to an email
-that could be helpful when requesting help from the mailing
-list.
-
- What the "./configure"
-  does
-
-The "./configure" command is a script
-that analyzes your system and performs some configuration
-to ensure the source package compiles on your system. It
-will take a few minutes to run, and will compile a few tests
-to determine what compiler features are installed.
-
- What the "make" does.
-
-This runs the GNU make tool, which automatically compiles
-all the source packages into the final installed binary
-executables.
-
- What the "make install"
-  command does.
-
-This will install the compiler, other executables and libraries
-in to the appropriate system directories. The default is
-to copy the executables to /usr/local/bin and the libraries
-and header files to /usr/local/share/sdcc/lib and /usr/local/share/sdcc/include.
-
- Additional Information for Windows Users
-
-<pending: is this up to date?>
-
-The standard method of installing on a Unix system involves
-compiling the source package. This is easily done under
-Unix, but under Windows it can be a more difficult process.
-The Cygwin is a large package to download, and the compilation
-runs considerably slower under Windows due to the overhead
-of the Cygwin tool set. An alternative is to install a pre-compiled
-Windows binary package. There are various trade-offs between
-each of these methods. 
-
-The Cygwin package allows a Windows user to run a Unix command
-line interface (bash shell) and also implements a Unix like
-file system on top of Windows. Included are many of the
-famous GNU software development tools which can augment
-the SDCC compiler.This is great if you have some experience
-with Unix command line tools and file system conventions,
-if not you may find it easier to start by installing a binary
-Windows package. The binary packages work with the Windows
-file system conventions.
-
- Getting started with Cygwin
-
-SDCC is typically distributed as a tarred/gzipped file (.tgz).
-This is a packed file similar to a .zip file. Cygwin includes
-the tools you will need to unpack the SDCC distribution
-(tar and gzip). To unpack it, simply follow the instructions
-under the Linux/Unix install section. Before you do this
-you need to learn how to start a cygwin shell and some of
-the basic commands used to move files, change directory,
-run commands and so on. The change directory command is
-"cd", the move command is "mv".
-To print the current working directory, type "pwd".
-To make a directory, use "mkdir".
-
-There are some basic differences between Unix and Windows
-file systems you should understand. When you type in directory
-paths, Unix and the Cygwin bash prompt uses forward slashes
-'/' between directories while Windows traditionally uses
-'\' backward slashes. So when you work at the Cygwin bash
-prompt, you will need to use the forward '/' slashes. Unix
-does not have a concept of drive letters, such as "c:",
-instead all files systems attach and appear as directories.
-
- Running SDCC as Native Compiled Executables
-
-If you use the pre-compiled binaries, the install directories
-for the libraries and header files may need to be specified
-on the sdcc command line like this: "sdcc -L c:\usr\local\sdcc\lib\small
--I c:\usr\local\sdcc\include test.c" if you are running outside
-of a Unix bash shell.
-
-If you have successfully installed and compiled SDCC with
-the Cygwin package, it is possible to compile into native
-.exe files by using the additional makefiles included for
-this purpose. For example, with the Borland 32-bit compiler
-you would run "make -f Makefile.bcc". A command line version
-of the Borland 32-bit compiler can be downloaded from the
-Inprise web site.
-
- SDCC on Other Platforms
-
- FreeBSD and other non-GNU Unixes - Make sure the GNU make
-  is installed as the default make tool.
-
- SDCC has been ported to run under a variety of operating
-  systems and processors. If you can run GNU GCC/make then
-  chances are good SDCC can be compiled and run on your
-  system.
-
- Advanced Install Options
-
-The "configure" command has several options.
-The most commonly used option is --prefix=<directory name>,
-where <directory name> is the final location for the sdcc
-executables and libraries, (default location is /usr/local).
-The installation process will create the following directory
-structure under the <directory name> specified (if they
-do not already exist). 
-
-bin/ - binary exectables (add to PATH environment variable)
-bin/share/
-bin/share/sdcc/include/ - include header files
-bin/share/sdcc/lib/
-bin/share/sdcc/lib/small/ - Object & library files for small
-model library
-bin/share/sdcc/lib/large/ - Object & library files for large
-model library
-bin/share/sdcc/lib/ds390/ - Object & library files forDS80C390
-library
-
-The command "./configure --prefix=/usr/local"
-will configure the compiler to be installed in directory
-/usr/local.
-
- Components of SDCC
-
-SDCC is not just a compiler, but a collection of tools by
-various developers. These include linkers, assemblers, simulators
-and other components. Here is a summary of some of the components.
-Note that the included simulator and assembler have separate
-documentation which you can find in the source package in
-their respective directories. As SDCC grows to include support
-for other processors, other packages from various developers
-are included and may have their own sets of documentation.
-
-You might want to look at the files which are installed in
-<installdir>. At the time of this writing, we find the following
-programs:
-In <installdir>/bin:
-
- sdcc - The compiler.
-
- sdcpp - The C preprocessor.
-
- asx8051 - The assembler for 8051 type processors.
-
- as-z80, as-gbz80 - The Z80 and GameBoy Z80 assemblers.
-
- aslink -The linker for 8051 type processors.
-
- link-z80, link-gbz80 - The Z80 and GameBoy Z80 linkers.
-
- s51 - The ucSim 8051 simulator.
-
- sdcdb - The source debugger.
-
- packihx - A tool to pack Intel hex files.
-
-In <installdir>/share/sdcc/include
-
- the include files
-
-In <installdir>/share/sdcc/lib
-
- the sources of the runtime library and the subdirs small
-  large and ds390 with the precompiled relocatables.
-
-In <installdir>/share/sdcc/doc
-
- the documentation
-
-As development for other processors proceeds, this list will
-expand to include executables to support processors like
-AVR, PIC, etc.
-
- sdcc - The Compiler
-
-This is the actual compiler, it in turn uses the c-preprocessor
-and invokes the assembler and linkage editor.
-
- sdcpp (C-Preprocessor)
-
-The preprocessor is a modified version of the GNU preprocessor.
-The C preprocessor is used to pull in #include sources,
-process #ifdef statements, #defines and so on.
-
- asx8051, as-z80, as-gbz80, aslink, link-z80, link-gbz80
-  (The Assemblers and Linkage Editors)
-
-This is retargettable assembler & linkage editor, it was
-developed by Alan Baldwin. John Hartman created the version
-for 8051, and I (Sandeep) have made some enhancements and
-bug fixes for it to work properly with the SDCC.
-
- s51 - Simulator
-
-S51 is a freeware, opensource simulator developed by Daniel
-Drotos ([mailto:drdani@mazsola.iit.uni-miskolc.hu]).
-The simulator is built as part of the build process. For
-more information visit Daniel's website at: [http://mazsola.iit.uni-miskolc.hu/~drdani/embedded/s51] .
-
- sdcdb - Source Level Debugger
-
-Sdcdb is the companion source level debugger. The current
-version of the debugger uses Daniel's Simulator S51, but
-can be easily changed to use other simulators.
-
- Using SDCC
-
- Compiling
-
- Single Source File Projects
-
-For single source file 8051 projects the process is very
-simple. Compile your programs with the following command
-"sdcc sourcefile.c". This will compile, assemble and link
-your source file. Output files are as follows
-
-sourcefile.asm - Assembler source file created by the compiler
-sourcefile.lst - Assembler listing file created by the Assembler
-sourcefile.rst - Assembler listing file updated with linkedit
-information, created by linkage editor
-sourcefile.sym - symbol listing for the sourcefile, created
-by the assembler
-sourcefile.rel - Object file created by the assembler, input
-to Linkage editor
-sourcefile.map - The memory map for the load module, created
-by the Linker
-sourcefile.ihx - The load module in Intel hex format (you
-can select the Motorola S19 format with --out-fmt-s19)
-sourcefile.cdb - An optional file (with --debug) containing
-debug information
-
-
- Projects with Multiple Source Files
-
-SDCC can compile only ONE file at a time. Let us for example
-assume that you have a project containing the following
-files:
-
-foo1.c (contains some functions)
-foo2.c (contains some more functions)
-foomain.c (contains more functions and the function main)
-
-The first two files will need to be compiled separately with
-the commands: 
-
-sdcc -c foo1.c
-sdcc -c foo2.c
-
-Then compile the source file containing the main() function
-and link the files together with the following command:
-
-
-sdcc foomain.c foo1.rel foo2.rel
-
-Alternatively, foomain.c can be separately compiled as well:
-
-
-sdcc -c foomain.c
-sdcc foomain.rel foo1.rel foo2.rel
-
-The file containing the main() function must be the first
-file specified in the command line, since the linkage editor
-processes file in the order they are presented to it.
-
- Projects with Additional Libraries
-
-Some reusable routines may be compiled into a library, see
-the documentation for the assembler and linkage editor (which
-are in <installdir>/share/sdcc/doc) for how to create a
-.lib library file. Libraries created in this manner can
-be included in the command line. Make sure you include the
--L <library-path> option to tell the linker where to look
-for these files if they are not in the current directory.
-Here is an example, assuming you have the source file foomain.c
-and a library foolib.lib in the directory mylib (if that
-is not the same as your current project):
-
-sdcc foomain.c foolib.lib -L mylib
-
-Note here that mylib must be an absolute path name.
-
-The most efficient way to use libraries is to keep seperate
-modules in seperate source files. The lib file now should
-name all the modules.rel files. For an example see the standard
-library file libsdcc.lib in the directory <installdir>/share/lib/small.
-
- Command Line Options
-
- Processor Selection Options
-
--mmcs51 Generate code for the MCS51 (8051) family of processors.
-This is the default processor target.
-
--mds390 Generate code for the DS80C390 processor.
-
--mz80 Generate code for the Z80 family of processors.
-
--mgbz80 Generate code for the GameBoy Z80 processor.
-
--mavr Generate code for the Atmel AVR processor(In development,
-not complete).
-
--mpic14 Generate code for the PIC 14-bit processors(In development,
-not complete).
-
--mtlcs900h Generate code for the Toshiba TLCS-900H processor(In
-development, not complete).
-
- Preprocessor Options
-
--I<path> The additional location where the pre processor
-will look for <..h> or "..h"
-files.
-
--D<macro[=value]> Command line definition of macros. Passed
-to the pre processor.
-
--M Tell the preprocessor to output a rule suitable for make
-describing the dependencies of each object file. For each
-source file, the preprocessor outputs one make-rule whose
-target is the object file name for that source file and
-whose dependencies are all the files `#include'd in it.
-This rule may be a single line or may be continued with
-`\'-newline if it is long. The list of rules is printed on
-standard output instead of the preprocessed C program. `-M'
-implies `-E'.
-
--C Tell the preprocessor not to discard comments. Used with
-the `-E' option.
-
--MM Like `-M' but the output mentions only the user header
-files included with `#include "file"'.
-System header files included with `#include <file>' are
-omitted.
-
--Aquestion(answer) Assert the answer answer for question,
-in case it is tested with a preprocessor conditional such
-as `#if #question(answer)'. `-A-' disables the standard
-assertions that normally describe the target machine.
-
--Aquestion (answer) Assert the answer answer for question,
-in case it is tested with a preprocessor conditional such
-as `#if #question(answer)'. `-A-' disables the standard
-assertions that normally describe the target machine.
-
--Umacro Undefine macro macro. `-U' options are evaluated
-after all `-D' options, but before any `-include' and `-imacros'
-options.
-
--dM Tell the preprocessor to output only a list of the macro
-definitions that are in effect at the end of preprocessing.
-Used with the `-E' option.
-
--dD Tell the preprocessor to pass all macro definitions into
-the output, in their proper sequence in the rest of the
-output.
-
--dN Like `-dD' except that the macro arguments and contents
-are omitted. Only `#define name' is included in the output.
-
- Linker Options
-
--L --lib-path <absolute path to additional libraries> This
-option is passed to the linkage editor's additional libraries
-search path. The path name must be absolute. Additional
-library files may be specified in the command line. See
-section Compiling programs for more details.
-
---xram-loc<Value> The start location of the external ram,
-default value is 0. The value entered can be in Hexadecimal
-or Decimal format, e.g.: --xram-loc 0x8000 or --xram-loc
-32768.
-
---code-loc<Value> The start location of the code segment,
-default value 0. Note when this option is used the interrupt
-vector table is also relocated to the given address. The
-value entered can be in Hexadecimal or Decimal format, e.g.:
---code-loc 0x8000 or --code-loc 32768.
-
---stack-loc<Value> The initial value of the stack pointer.
-The default value of the stack pointer is 0x07 if only register
-bank 0 is used, if other register banks are used then the
-stack pointer is initialized to the location above the highest
-register bank used. eg. if register banks 1 & 2 are used
-the stack pointer will default to location 0x18. The value
-entered can be in Hexadecimal or Decimal format, eg. --stack-loc
-0x20 or --stack-loc 32. If all four register banks are used
-the stack will be placed after the data segment (equivalent
-to --stack-after-data)
-
---stack-after-data This option will cause the stack to be
-located in the internal ram after the data segment.
-
---data-loc<Value> The start location of the internal ram
-data segment, the default value is 0x30.The value entered
-can be in Hexadecimal or Decimal format, eg. --data-loc
-0x20 or --data-loc 32.
-
---idata-loc<Value> The start location of the indirectly addressable
-internal ram, default value is 0x80. The value entered can
-be in Hexadecimal or Decimal format, eg. --idata-loc 0x88
-or --idata-loc 136.
-
---out-fmt-ihx The linker output (final object code) is in
-Intel Hex format. (This is the default option).
-
---out-fmt-s19 The linker output (final object code) is in
-Motorola S19 format.
-
- MCS51 Options
-
---model-large Generate code for Large model programs see
-section Memory Models for more details. If this option is
-used all source files in the project should be compiled
-with this option. In addition the standard library routines
-are compiled with small model, they will need to be recompiled.
-
---model-small Generate code for Small Model programs see
-section Memory Models for more details. This is the default
-model.
-
- DS390 Options
-
---model-flat24 Generate 24-bit flat mode code. This is the
-one and only that the ds390 code generator supports right
-now and is default when using -mds390. See section Memory
-Models for more details.
-
---stack-10bit Generate code for the 10 bit stack mode of
-the Dallas DS80C390 part. This is the one and only that
-the ds390 code generator supports right now and is default
-when using -mds390. In this mode, the stack is located in
-the lower 1K of the internal RAM, which is mapped to 0x400000.
-Note that the support is incomplete, since it still uses
-a single byte as the stack pointer. This means that only
-the lower 256 bytes of the potential 1K stack space will
-actually be used. However, this does allow you to reclaim
-the precious 256 bytes of low RAM for use for the DATA and
-IDATA segments. The compiler will not generate any code
-to put the processor into 10 bit stack mode. It is important
-to ensure that the processor is in this mode before calling
-any re-entrant functions compiled with this option. In principle,
-this should work with the --stack-auto option, but that
-has not been tested. It is incompatible with the --xstack
-option. It also only makes sense if the processor is in
-24 bit contiguous addressing mode (see the --model-flat24
-option).
-
- Optimization Options
-
---nogcse 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 NOGCSE can be used to turn off global subexpression
-elimination for a given function only.
-
---noinvariant Will not do loop invariant optimizations, this
-may be turned off for reasons explained for the previous
-option. For more details of loop optimizations performed
-see section Loop Invariants.It recommended that this option
-NOT be used, #pragma NOINVARIANT can
-be used to turn off invariant optimizations for a given
-function only.
-
---noinduction Will not do loop induction optimizations, see
-section strength reduction for more details.It is recommended
-that this option is NOT used, #pragma NOINDUCTION
-can be used to turn off induction optimizations for a given
-function only.
-
---nojtbound  Will not generate boundary condition check when
-switch statements are implemented using jump-tables. See
-section Switch Statements for more details. It is recommended
-that this option is NOT used, #pragma NOJTBOUND
-can be used to turn off boundary checking for jump tables
-for a given function only.
-
---noloopreverse Will not do loop reversal optimization.
-
- Other Options
-
--c --compile-only will compile and assemble the source,
-but will not call the linkage editor.
-
--E Run only the C preprocessor. Preprocess all the C source
-files specified and output the results to standard output.
-
---stack-auto All functions in the source file will be compiled
-as reentrant, i.e. the parameters and local variables will
-be allocated on the stack. see section Parameters and Local
-Variables for more details. If this option is used all source
-files in the project should be compiled with this option. 
-
---xstack Uses a pseudo stack in the first 256 bytes in the
-external ram for allocating variables and passing parameters.
-See section on external stack for more details.
-
---callee-saves function1[,function2][,function3].... The
-compiler by default uses a caller saves convention for register
-saving across function calls, however this can cause unneccessary
-register pushing & popping when calling small functions
-from larger functions. This option can be used to switch
-the register saving convention for the function names specified.
-The compiler will not save registers when calling these
-functions, no extra code will be generated at the entry
-& exit for these functions to save & restore the registers
-used by these functions, this can SUBSTANTIALLY reduce code
-& improve run time performance of the generated code. In
-the future the compiler (with interprocedural analysis)
-will be able to determine the appropriate scheme to use
-for each function call. DO NOT use this option for built-in
-functions such as _muluint..., if this option is used for
-a library function the appropriate library function needs
-to be recompiled with the same option. If the project consists
-of multiple source files then all the source file should
-be compiled with the same --callee-saves option string.
-Also see #pragma CALLEE-SAVES.
-
---debug When this option is used the compiler will generate
-debug information, that can be used with the SDCDB. The
-debug information is collected in a file with .cdb extension.
-For more information see documentation for SDCDB.
-
---regextend  This option is obsolete and isn't supported
-anymore.
-
---noregparms This option is obsolete and isn't supported
-anymore.
-
---peep-file<filename> This option can be used to use additional
-rules to be used by the peep hole optimizer. See section
-Peep Hole optimizations for details on how to write these
-rules.
-
--S Stop after the stage of compilation proper; do not assemble.
-The output is an assembler code file for the input file
-specified.
-
--Wa_asmOption[,asmOption]... Pass the asmOption to the assembler.
-
--Wl_linkOption[,linkOption]... Pass the linkOption to the
-linker.
-
---int-long-reent  Integer (16 bit) and long (32 bit) libraries
-have been compiled as reentrant. Note by default these libraries
-are compiled as non-reentrant. See section Installation
-for more details.
-
---cyclomatic This option will cause the compiler to generate
-an information message for each function in the source file.
-The message contains some important information about the
-function. The number of edges and nodes the compiler detected
-in the control flow graph of the function, and most importantly
-the cyclomatic complexity see section on Cyclomatic Complexity
-for more details.
-
---float-reent  Floating point library is compiled as reentrant.See
-section Installation for more details.
-
---nooverlay  The compiler will not overlay parameters and
-local variables of any function, see section Parameters
-and local variables for more details.
-
---main-return This option can be used when the code generated
-is called by a monitor program. The compiler will generate
-a 'ret' upon return from the 'main' function. The default
-option is to lock up i.e. generate a 'ljmp '.
-
---no-peep  Disable peep-hole optimization.
-
---peep-asm  Pass the inline assembler code through the peep
-hole optimizer. This can cause unexpected changes to inline
-assembler code, please go through the peephole optimizer
-rules defined in the source file tree '<target>/peeph.def'
-before using this option.
-
---iram-size<Value> Causes the linker to check if the interal
-ram usage is within limits of the given value.
-
---nostdincl This will prevent the compiler from passing on
-the default include path to the preprocessor.
-
---nostdlib This will prevent the compiler from passing on
-the default library path to the linker.
-
---verbose Shows the various actions the compiler is performing.
-
--V Shows the actual commands the compiler is executing.
-
- Intermediate Dump Options
-
-The following options are provided for the purpose of retargetting
-and debugging the compiler. These provided a means to dump
-the intermediate code (iCode) generated by the compiler
-in human readable form at various stages of the compilation
-process. 
-
---dumpraw This option will cause the compiler to dump the
-intermediate code into a file of named <source filename>.dumpraw
-just after the intermediate code has been generated for
-a function, i.e. before any optimizations are done. The
-basic blocks at this stage ordered in the depth first number,
-so they may not be in sequence of execution.
-
---dumpgcse Will create a dump of iCode's, after global subexpression
-elimination, into a file named <source filename>.dumpgcse.
-
---dumpdeadcode Will create a dump of iCode's, after deadcode
-elimination, into a file named <source filename>.dumpdeadcode.
-
---dumploop Will create a dump of iCode's, after loop optimizations,
-into a file named <source filename>.dumploop.
-
---dumprange Will create a dump of iCode's, after live range
-analysis, into a file named <source filename>.dumprange.
-
---dumlrange Will dump the life ranges for all symbols.
-
---dumpregassign Will create a dump of iCode's, after register
-assignment, into a file named <source filename>.dumprassgn.
-
---dumplrange Will create a dump of the live ranges of iTemp's
-
---dumpall Will cause all the above mentioned dumps to be
-created.
-
- MCS51/DS390 Storage Class Language Extensions
-
-In addition to the ANSI storage classes SDCC allows the following
-MCS51 specific storage classes.
-
- xdata
-
-Variables declared with this storage class will be placed
-in the extern RAM. This is the default storage class for
-Large Memory model, e.g.:
-
-xdata unsigned char xduc;
-
- data
-
-This is the default storage class for Small Memory model.
-Variables declared with this storage class will be allocated
-in the internal RAM, e.g.:
-
-data int iramdata;
-
- idata
-
-Variables declared with this storage class will be allocated
-into the indirectly addressable portion of the internal
-ram of a 8051, e.g.:
-
-idata int idi;
-
- bit
-
-This is a data-type and a storage class specifier. When a
-variable is declared as a bit, it is allocated into the
-bit addressable memory of 8051, e.g.:
-
-bit iFlag;
-
- sfr / sbit
-
-Like the bit keyword, sfr / sbit signifies both a data-type
-and storage class, they are used to describe the special
-function registers and special bit variables of a 8051,
-eg:
-
-sfr at 0x80 P0; /* special function register P0 at location
-0x80 */
-sbit at 0xd7 CY; /* CY (Carry Flag) */
-
- Pointers
-
-SDCC allows (via language extensions) pointers to explicitly
-point to any of the memory spaces of the 8051. In addition
-to the explicit pointers, the compiler also allows a _generic
-class of pointers which can be used to point to any of the
-memory spaces.
-
-Pointer declaration examples:
-
-/* pointer physically in xternal ram pointing to object in
-internal ram */ 
-data unsigned char * xdata p;
-
-/* pointer physically in code rom pointing to data in xdata
-space */ 
-xdata unsigned char * code p;
-
-/* pointer physically in code space pointing to data in code
-space */ 
-code unsigned char * code p;
-
-/* the folowing is a generic pointer physically located in
-xdata space */
-char * xdata p;
-
-Well you get the idea. 
-
-For compatibility with the previous version of the compiler,
-the following syntax for pointer declaration is still supported
-but will disappear int the near future. 
-
-unsigned char _xdata *ucxdp; /* pointer to data in external
-ram */ 
-unsigned char _data  *ucdp ; /* pointer
-to data in internal ram */ 
-unsigned char _code  *uccp ; /* pointer
-to data in R/O code space */
-unsigned char _idata *uccp;  /*
-pointer to upper 128 bytes of ram */
-
-All unqualified pointers are treated as 3-byte (4-byte for
-the ds390) generic pointers. These type of pointers can
-also to be explicitly declared.
-
-unsigned char _generic *ucgp;
-
-The highest order byte of the generic pointers contains the
-data space information. Assembler support routines are called
-whenever data is stored or retrieved using generic pointers.
-These are useful for developing reusable library routines.
-Explicitly specifying the pointer type will generate the
-most efficient code. Pointers declared using a mixture of
-OLD and NEW style could have unpredictable results.
-
- Parameters & Local Variables
-
-Automatic (local) variables and parameters to functions can
-either be placed on the stack or in data-space. The default
-action of the compiler is to place these variables in the
-internal RAM (for small model) or external RAM (for Large
-model). This in fact makes them static so by default functions
-are non-reentrant.
-
-They can be placed on the stack either by using the --stack-auto
-compiler option or by using the reentrant keyword in the
-function declaration, e.g.:
-
-unsigned char foo(char i) reentrant 
-{ 
-... 
-}
-
-Since stack space on 8051 is limited, the reentrant keyword
-or the --stack-auto option should be used sparingly. Note
-that the reentrant keyword just means that the parameters
-& local variables will be allocated to the stack, it does
-not mean that the function is register bank independent.
-
-Local variables can be assigned storage classes and absolute
-addresses, e.g.: 
-
-unsigned char foo() {
-    xdata unsigned char i;
-    bit bvar;
-    data at 0x31 unsiged char j;
-    ... 
-}
-
-In the above example the variable i will be allocated in
-the external ram, bvar in bit addressable space and j in
-internal ram. When compiled with --stack-auto or when a
-function is declared as reentrant this can only be done
-for static variables.
-
-Parameters however are not allowed any storage class, (storage
-classes for parameters will be ignored), their allocation
-is governed by the memory model in use, and the reentrancy
-options.
-
- Overlaying
-
-For non-reentrant functions SDCC will try to reduce internal
-ram space usage by overlaying parameters and local variables
-of a function (if possible). Parameters and local variables
-of a function will be allocated to an overlayable segment
-if the function has no other function calls and the function
-is non-reentrant and the memory model is small. If an explicit
-storage class is specified for a local variable, it will
-NOT be overlayed.
-
-Note that the compiler (not the linkage editor) makes the
-decision for overlaying the data items. Functions that are
-called from an interrupt service routine should be preceded
-by a #pragma NOOVERLAY if they are not reentrant.
-
-Also note that the compiler does not do any processing of
-inline assembler code, so the compiler might incorrectly
-assign local variables and parameters of a function into
-the overlay segment if the inline assembler code calls other
-c-functions that might use the overlay. In that case the
-#pragma NOOVERLAY should be used.
-
-Parameters and Local variables of functions that contain
-16 or 32 bit multiplication or division will NOT be overlayed
-since these are implemented using external functions, e.g.:
-
-#pragma SAVE 
-#pragma NOOVERLAY 
-void set_error(unsigned char errcd) 
-{
-    P3 = errcd;
-} 
-#pragma RESTORE 
-
-void some_isr () interrupt 2 using 1 
-{
-    ...
-    set_error(10);
-    ... 
-}
-
-In the above example the parameter errcd for the function
-set_error would be assigned to the overlayable segment if
-the #pragma NOOVERLAY was not present, this could
-cause unpredictable runtime behavior when called from an
-ISR. The #pragma NOOVERLAY ensures that
-the parameters and local variables for the function are
-NOT overlayed.
-
- Interrupt Service Routines
-
-SDCC allows interrupt service routines to be coded in C,
-with some extended keywords.
-
-void timer_isr (void) interrupt 2 using 1 
-{ 
-.. 
-}
-
-The number following the interrupt keyword is the interrupt
-number this routine will service. The compiler will insert
-a call to this routine in the interrupt vector table for
-the interrupt number specified. The using keyword is used
-to tell the compiler to use the specified register bank
-(8051 specific) when generating code for this function.
-Note that when some function is called from an interrupt
-service routine it should be preceded by a #pragma NOOVERLAY
-if it is not reentrant. A special note here, int (16 bit)
-and long (32 bit) integer division, multiplication & modulus
-operations are implemented using external support routines
-developed in ANSI-C, if an interrupt service routine needs
-to do any of these operations then the support routines
-(as mentioned in a following section) will have to be recompiled
-using the --stack-auto option and the source file will need
-to be compiled using the --int-long-rent compiler option.
-
-If you have multiple source files in your project, interrupt
-service routines can be present in any of them, but a prototype
-of the isr MUST be present or included in the file that
-contains the function main.
-
-Interrupt Numbers and the corresponding address & descriptions
-for the Standard 8051 are listed below. SDCC will automatically
-adjust the interrupt vector table to the maximum interrupt
-number specified.
-
-
-+--------------+--------------+----------------+
-| Interrupt #  | Description  | Vector Address |
-+--------------+--------------+----------------+
-+--------------+--------------+----------------+
-|      0       | External 0   |     0x0003     |
-+--------------+--------------+----------------+
-|      1       |   Timer 0    |     0x000B     |
-+--------------+--------------+----------------+
-|      2       | External 1   |     0x0013     |
-+--------------+--------------+----------------+
-|      3       |   Timer 1    |     0x001B     |
-+--------------+--------------+----------------+
-|      4       |   Serial     |     0x0023     |
-+--------------+--------------+----------------+
-
-
-If the interrupt service routine is defined without using
-a register bank or with register bank 0 (using 0), the compiler
-will save the registers used by itself on the stack upon
-entry and restore them at exit, however if such an interrupt
-service routine calls another function then the entire register
-bank will be saved on the stack. This scheme may be advantageous
-for small interrupt service routines which have low register
-usage.
-
-If the interrupt service routine is defined to be using a
-specific register bank then only a, b & dptr are save and
-restored, if such an interrupt service routine calls another
-function (using another register bank) then the entire register
-bank of the called function will be saved on the stack.
-This scheme is recommended for larger interrupt service
-routines.
-
-Calling other functions from an interrupt service routine
-is not recommended, avoid it if possible.
-
-Also see the _naked modifier.
-
- Critical Functions
-
-A special keyword may be associated with a function declaring
-it as critical. SDCC will generate code to disable all interrupts
-upon entry to a critical function and enable them back before
-returning. Note that nesting critical functions may cause
-unpredictable results.
-
-int foo () critical 
-{ 
-... 
-... 
-}
-
-The critical attribute maybe used with other attributes like
-reentrant.
-
- Naked Functions
-
-A special keyword may be associated with a function declaring
-it as _naked. The _naked function modifier attribute prevents
-the compiler from generating prologue and epilogue code
-for that function. This means that the user is entirely
-responsible for such things as saving any registers that
-may need to be preserved, selecting the proper register
-bank, generating the return instruction at the end, etc.
-Practically, this means that the contents of the function
-must be written in inline assembler. This is particularly
-useful for interrupt functions, which can have a large (and
-often unnecessary) prologue/epilogue. For example, compare
-the code generated by these two functions:
-
-data unsigned char counter;
-void simpleInterrupt(void) interrupt 1
-{
-    counter++;
-}
-
-void nakedInterrupt(void) interrupt 2 _naked
-{
-    _asm
-      inc     _counter
-      reti    ;
-MUST explicitly include ret in _naked function.
-    _endasm;
-}
-
-For an 8051 target, the generated simpleInterrupt looks like:
-
-_simpleIterrupt:
-    push    acc
-    push    b
-    push    dpl
-    push    dph
-    push    psw
-    mov     psw,#0x00
-    inc     _counter
-    pop     psw
-    pop     dph
-    pop     dpl
-    pop     b
-    pop     acc
-    reti
-
-whereas nakedInterrupt looks like:
-
-_nakedInterrupt:
-    inc    _counter
-    reti   ; MUST explicitly
-include ret(i) in _naked function.
-
-While there is nothing preventing you from writing C code
-inside a _naked function, there are many ways to shoot yourself
-in the foot doing this, and is is recommended that you stick
-to inline assembler.
-
- Functions using private banks
-
-The using attribute (which tells the compiler to use a register
-bank other than the default bank zero) should only be applied
-to interrupt functions (see note 1 below). This will in
-most circumstances make the generated ISR code more efficient
-since it will not have to save registers on the stack.
-
-The using attribute will have no effect on the generated
-code for a non-interrupt function (but may occasionally
-be useful anyway([footnote] possible exception: if a function is called ONLY
-from 'interrupt' functions using a particular bank, it can
-be declared with the same 'using' attribute as the calling
-'interrupt' functions. For instance, if you have several
-ISRs using bank one, and all of them call memcpy(), it might
-make sense to create a specialized version of memcpy() 'using
-1', since this would prevent the ISR from having to save
-bank zero to the stack on entry and switch to bank zero
-before calling the function) ).
-(pending: I don't think this has been done yet)
-
-An interrupt function using a non-zero bank will assume that
-it can trash that register bank, and will not save it. Since
-high-priority interrupts can interrupt low-priority ones
-on the 8051 and friends, this means that if a high-priority
-ISR using a particular bank occurs while processing a low-priority
-ISR using the same bank, terrible and bad things can happen.
-To prevent this, no single register bank should be used
-by both a high priority and a low priority ISR. This is
-probably most easily done by having all high priority ISRs
-use one bank and all low priority ISRs use another. If you
-have an ISR which can change priority at runtime, you're
-on your own: I suggest using the default bank zero and taking
-the small performance hit.
-
-It is most efficient if your ISR calls no other functions.
-If your ISR must call other functions, it is most efficient
-if those functions use the same bank as the ISR (see note
-1 below); the next best is if the called functions use bank
-zero. It is very inefficient to call a function using a
-different, non-zero bank from an ISR. 
-
- Absolute Addressing
-
-Data items can be assigned an absolute address with the at
-<address> keyword, in addition to a storage class, e.g.:
-
-xdata at 0x8000 unsigned char PORTA_8255 ;
-
-In the above example the PORTA_8255 will be allocated to
-the location 0x8000 of the external ram. Note that this
-feature is provided to give the programmer access to memory
-mapped devices attached to the controller. The compiler
-does not actually reserve any space for variables declared
-in this way (they are implemented with an equate in the
-assembler). Thus it is left to the programmer to make sure
-there are no overlaps with other variables that are declared
-without the absolute address. The assembler listing file
-(.lst) and the linker output files (.rst) and (.map) are
-a good places to look for such overlaps.
-
-Absolute address can be specified for variables in all storage
-classes, e.g.:
-
-bit at 0x02 bvar;
-
-The above example will allocate the variable at offset 0x02
-in the bit-addressable space. There is no real advantage
-to assigning absolute addresses to variables in this manner,
-unless you want strict control over all the variables allocated.
-
- Startup Code
-
-The compiler inserts a call to the C routine _sdcc__external__startup()
-at the start of the CODE area. This routine is in the runtime
-library. By default this routine returns 0, if this routine
-returns a non-zero value, the static & global variable initialization
-will be skipped and the function main will be invoked Other
-wise static & global variables will be initialized before
-the function main is invoked. You could add a _sdcc__external__startup()
-routine to your program to override the default if you need
-to setup hardware or perform some other critical operation
-prior to static & global variable initialization.
-
- Inline Assembler Code
-
-SDCC allows the use of in-line assembler with a few restriction
-as regards labels. All labels defined within inline assembler
-code has to be of the form nnnnn$ where nnnn is a number
-less than 100 (which implies a limit of utmost 100 inline
-assembler labels per function). It is strongly recommended
-that each assembly instruction (including labels) be placed
-in a separate line (as the example shows). When the --peep-asm
-command line option is used, the inline assembler code will
-be passed through the peephole optimizer. This might cause
-some unexpected changes in the inline assembler code. Please
-go throught the peephole optimizer rules defined in file
-SDCCpeeph.def carefully before using this option.
-
-_asm 
-    mov     b,#10
-
-00001$: 
-    djnz    b,00001$
-
-_endasm ;
-
-The inline assembler code can contain any valid code understood
-by the assembler, this includes any assembler directives
-and comment lines. The compiler does not do any validation
-of the code within the _asm ... _endasm; keyword pair. 
-
-Inline assembler code cannot reference any C-Labels, however
-it can reference labels defined by the inline assembler,
-e.g.:
-
-foo() { 
-    /* some c code */ 
-    _asm 
-      ; some assembler code 
-      ljmp $0003 
-    _endasm; 
-    /* some more c code */ 
-clabel:  /* inline assembler cannot reference
-this label */ 
-    _asm
-    $0003: ;label (can be reference by inline assembler
-only) 
-    _endasm ; 
-    /* some more c code */
-}
-
-In other words inline assembly code can access labels defined
-in inline assembly within the scope of the funtion. 
-
-The same goes the other way, ie. labels defines in inline
-assembly CANNOT be accessed by C statements.
-
- int(16 bit) and long (32 bit) Support
-
-For signed & unsigned int (16 bit) and long (32 bit) variables,
-division, multiplication and modulus operations are implemented
-by support routines. These support routines are all developed
-in ANSI-C to facilitate porting to other MCUs, although
-some model specific assembler optimations are used. The
-following files contain the described routine, all of them
-can be found in <installdir>/share/sdcc/lib.
-
-<pending: tabularise this>
-
-_mulsint.c - signed 16 bit multiplication (calls _muluint)
-_muluint.c - unsigned 16 bit multiplication
-_divsint.c - signed 16 bit division (calls _divuint)
-_divuint.c - unsigned 16 bit division
-_modsint.c - signed 16 bit modulus (call _moduint)
-_moduint.c - unsigned 16 bit modulus
-_mulslong.c - signed 32 bit multiplication (calls _mululong)
-_mululong.c - unsigned32 bit multiplication
-_divslong.c - signed 32 division (calls _divulong)
-_divulong.c - unsigned 32 division
-_modslong.c - signed 32 bit modulus (calls _modulong)
-_modulong.c - unsigned 32 bit modulus 
-
-Since they are compiled as non-reentrant, interrupt service
-routines should not do any of the above operations. If this
-is unavoidable then the above routines will need to be compiled
-with the --stack-auto option, after which the source program
-will have to be compiled with --int-long-rent option.
-
- Floating Point Support
-
-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:
-
-<pending: tabularise this>
-
-_fsadd.c - add floating point numbers
-_fssub.c - subtract floating point numbers
-_fsdiv.c - divide floating point numbers
-_fsmul.c - multiply floating point numbers
-_fs2uchar.c - convert floating point to unsigned char
-_fs2char.c - convert floating point to signed char
-_fs2uint.c - convert floating point to unsigned int
-_fs2int.c - convert floating point to signed int
-_fs2ulong.c - convert floating point to unsigned long
-_fs2long.c - convert floating point to signed long
-_uchar2fs.c - convert unsigned char to floating point
-_char2fs.c - convert char to floating point number
-_uint2fs.c - convert unsigned int to floating point
-_int2fs.c - convert int to floating point numbers
-_ulong2fs.c - convert unsigned long to floating point number
-_long2fs.c - convert long to floating point number
-
-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 model be used.
-
- MCS51 Memory Models
-
-SDCC allows two memory models for MCS51 code, small and large.
-Modules compiled with different memory models should never
-be combined together or the results would be unpredictable.
-The library routines supplied with the compiler are compiled
-as both small and large. The compiled library modules are
-contained in seperate directories as small and large so
-that you can link to either set. 
-
-When the large model is used all variables declared without
-a storage class will be allocated into the external ram,
-this includes all parameters and local variables (for non-reentrant
-functions). When the small model is used variables without
-storage class are allocated in the internal ram.
-
-Judicious usage of the processor specific storage classes
-and the 'reentrant' function type will yield much more efficient
-code, than using the large model. Several optimizations
-are disabled when the program is compiled using the large
-model, it is therefore strongly recommdended that the small
-model be used unless absolutely required.
-
- DS390 Memory Models
-
-The only model supported is Flat 24. This generates code
-for the 24 bit contiguous addressing mode of the Dallas
-DS80C390 part. In this mode, up to four meg of external
-RAM or code space can be directly addressed. See the data
-sheets at www.dalsemi.com for further information on this
-part.
-
-In older versions of the compiler, this option was used with
-the MCS51 code generator (-mmcs51). Now, however, the '390
-has it's own code generator, selected by the -mds390 switch.
-
-
-Note that the compiler does not generate any code to place
-the processor into 24 bitmode (although tinibios in the
-ds390 libraries will do that for you). If you don't use
-tinibios, the boot loader or similar code must ensure that
-the processor is in 24 bit contiguous addressing mode before
-calling the SDCC startup code.
-
-Like the --model-large option, variables will by default
-be placed into the XDATA segment. 
-
-Segments may be placed anywhere in the 4 meg address space
-using the usual --*-loc options. Note that if any segments
-are located above 64K, the -r flag must be passed to the
-linker to generate the proper segment relocations, and the
-Intel HEX output format must be used. The -r flag can be
-passed to the linker by using the option -Wl-r on the sdcc
-command line. However, currently the linker can not handle
-code segments > 64k.
-
- Defines Created by the Compiler
-
-The compiler creates the following #defines.
-
- SDCC - this Symbol is always defined.
-
- SDCC_mcs51 or SDCC_ds390 or SDCC_z80, etc - depending on
-  the model used (e.g.: -mds390)
-
- __mcs51 or __ds390 or __z80, etc - depending on the model
-  used (e.g. -mz80)
-
- SDCC_STACK_AUTO - this symbol is defined when --stack-auto
-  option is used.
-
- SDCC_MODEL_SMALL - when --model-small is used.
-
- SDCC_MODEL_LARGE - when --model-large is used.
-
- SDCC_USE_XSTACK - when --xstack option is used.
-
- SDCC_STACK_TENBIT - when -mds390 is used
-
- SDCC_MODEL_FLAT24 - when -mds390 is used
-
- SDCC Technical Data
-
- Optimizations
-
-SDCC performs a host of standard optimizations in addition
-to some MCU specific optimizations. 
-
- Sub-expression Elimination
-
-The compiler does local and global common subexpression elimination,
-e.g.: 
-
-i = x + y + 1; 
-j = x + y;
-
-will be translated to
-
-iTemp = x + y 
-i = iTemp + 1 
-j = iTemp
-
-Some subexpressions are not as obvious as the above example,
-e.g.:
-
-a->b[i].c = 10; 
-a->b[i].d = 11;
-
-In this case the address arithmetic a->b[i] will be computed
-only once; the equivalent code in C would be.
-
-iTemp = a->b[i]; 
-iTemp.c = 10; 
-iTemp.d = 11;
-
-The compiler will try to keep these temporary variables in
-registers.
-
- Dead-Code Elimination
-
-int global; 
-void f () { 
-  int i; 
-  i = 1;  /* dead store */ 
-  global = 1; /* dead store */ 
-  global = 2; 
-  return; 
-  global = 3; /* unreachable */ 
-}
-
-will be changed to
-
-int global; void f () 
-{
-  global = 2; 
-  return; 
-}
-
- Copy-Propagation
-
-int f() { 
-  int i, j; 
-  i = 10; 
-  j = i; 
-  return j; 
-}
-
-will be changed to 
-
-int f() { 
-    int i,j; 
-    i = 10; 
-    j = 10; 
-    return 10; 
-}
-
-Note: the dead stores created by this copy propagation will
-be eliminated by dead-code elimination.
-
- Loop Optimizations
-
-Two types of loop optimizations are done by SDCC loop invariant
-lifting and strength reduction of loop induction variables.
-In addition to the strength reduction the optimizer marks
-the induction variables and the register allocator tries
-to keep the induction variables in registers for the duration
-of the loop. Because of this preference of the register
-allocator, loop induction optimization causes an increase
-in register pressure, which may cause unwanted spilling
-of other temporary variables into the stack / data space.
-The compiler will generate a warning message when it is
-forced to allocate extra space either on the stack or data
-space. If this extra space allocation is undesirable then
-induction optimization can be eliminated either for the
-entire source file (with --noinduction option) or for a
-given function only using #pragma NOINDUCTION.
-
-Loop Invariant:
-
-for (i = 0 ; i < 100 ; i ++) 
-    f += k + l;
-
-changed to
-
-itemp = k + l; 
-for (i = 0; i < 100; i++) 
-  f += itemp;
-
-As mentioned previously some loop invariants are not as apparent,
-all static address computations are also moved out of the
-loop.
-
-Strength Reduction, this optimization substitutes an expression
-by a cheaper expression:
-
-for (i=0;i < 100; i++)
-  ar[i*5] = i*3;
-
-changed to
-
-itemp1 = 0; 
-itemp2 = 0; 
-for (i=0;i< 100;i++) { 
-    ar[itemp1] = itemp2; 
-    itemp1 += 5; 
-    itemp2 += 3; 
-}
-
-The more expensive multiplication is changed to a less expensive
-addition.
-
- Loop Reversing
-
-This optimization is done to reduce the overhead of checking
-loop boundaries for every iteration. Some simple loops can
-be reversed and implemented using a "decrement
-and jump if not zero" instruction. SDCC
-checks for the following criterion to determine if a loop
-is reversible (note: more sophisticated compilers use data-dependency
-analysis to make this determination, SDCC uses a more simple
-minded analysis).
-
- The 'for' loop is of the form 
-  
-  for (<symbol> = <expression> ; <sym> [< | <=] <expression>
-  ; [<sym>++ | <sym> += 1])
-      <for body>
-
- The <for body> does not contain "continue"
-  or 'break".
-
- All goto's are contained within the loop.
-
- No function calls within the loop.
-
- The loop control variable <sym> is not assigned any value
-  within the loop
-
- The loop control variable does NOT participate in any arithmetic
-  operation within the loop.
-
- There are NO switch statements in the loop.
-
-Note djnz instruction can be used for 8-bit values only,
-therefore it is advantageous to declare loop control symbols
-as char. Ofcourse this may not be possible on all situations.
-
- Algebraic Simplifications
-
-SDCC does numerous algebraic simplifications, the following
-is a small sub-set of these optimizations.
-
-i = j + 0 ; /* changed to */ i = j; 
-i /= 2; /* changed to */ i >>= 1; 
-i = j - j ; /* changed to */ i = 0; 
-i = j / 1 ; /* changed to */ i = j;
-
-Note the subexpressions given above are generally introduced
-by macro expansions or as a result of copy/constant propagation.
-
- 'switch' Statements
-
-SDCC changes switch statements to jump tables when the following
-conditions are true. 
-
- The case labels are in numerical sequence, the labels need
-  not be in order, and the starting number need not be one
-  or zero.
-  
-  switch(i) {     
-             
-         switch (i) { 
-  case 4:...      
-             
-         case 1: ... 
-  case 5:...      
-             
-         case 2: ... 
-  case 3:...      
-             
-         case 3: ... 
-  case 6:...      
-             
-         case 4: ... 
-  }           
-             
-             }
-  
-  Both the above switch statements will be implemented using
-  a jump-table.
-
- The number of case labels is at least three, since it takes
-  two conditional statements to handle the boundary conditions.
-
- The number of case labels is less than 84, since each label
-  takes 3 bytes and a jump-table can be utmost 256 bytes
-  long. 
-
-Switch statements which have gaps in the numeric sequence
-or those that have more that 84 case labels can be split
-into more than one switch statement for efficient code generation,
-e.g.:
-
-switch (i) { 
-case 1: ... 
-case 2: ... 
-case 3: ... 
-case 4: ... 
-case 9: ... 
-case 10: ... 
-case 11: ... 
-case 12: ... 
-}
-
-If the above switch statement is broken down into two switch
-statements
-
-switch (i) { 
-case 1: ... 
-case 2: ... 
-case 3: ... 
-case 4: ... 
-}
-
-and
-
-switch (i) { 
-case 9:  ... 
-case 10: ... 
-case 11: ... 
-case 12: ... 
-}
-
-then both the switch statements will be implemented using
-jump-tables whereas the unmodified switch statement will
-not be.
-
- Bit-shifting Operations.
-
-Bit shifting is one of the most frequently used operation
-in embedded programming. SDCC tries to implement bit-shift
-operations in the most efficient way possible, e.g.:
-
-unsigned char i;
-... 
-i>>= 4; 
-...
-
-generates the following code:
-
-mov a,_i 
-swap a 
-anl a,#0x0f 
-mov _i,a
-
-In general SDCC will never setup a loop if the shift count
-is known. Another example:
-
-unsigned int i; 
-... 
-i >>= 9; 
-...
-
-will generate:
-
-mov a,(_i + 1) 
-mov (_i + 1),#0x00 
-clr c 
-rrc a 
-mov _i,a
-
-Note that SDCC stores numbers in little-endian format (i.e.
-lowest order first).
-
- Bit-rotation
-
-A special case of the bit-shift operation is bit rotation,
-SDCC recognizes the following expression to be a left bit-rotation:
-
-unsigned char i; 
-... 
-i = ((i << 1) | (i >> 7)); 
-...
-
-will generate the following code:
-
-mov a,_i 
-rl a 
-mov _i,a
-
-SDCC uses pattern matching on the parse tree to determine
-this operation.Variations of this case will also be recognized
-as bit-rotation, i.e.: 
-
-i = ((i >> 7) | (i << 1)); /* left-bit rotation */
-
- Highest Order Bit
-
-It is frequently required to obtain the highest order bit
-of an integral type (long, int, short or char types). SDCC
-recognizes the following expression to yield the highest
-order bit and generates optimized code for it, e.g.:
-
- unsigned int gint; 
-
-foo () { 
-unsigned char hob; 
-  ... 
-  hob = (gint >> 15) & 1; 
-  .. 
-}
-
-will generate the following code:
-
-                            
-61 ;  hob.c 7 
-   000A E5*01               
-62         mov 
-a,(_gint + 1) 
-   000C 33                  
-63         rlc 
-a 
-   000D E4                  
-64         clr 
-a 
-   000E 13                  
-65         rrc 
-a 
-   000F F5*02               
-66         mov 
-_foo_hob_1_1,a
-
-Variations of this case however will not be recognized. It
-is a standard C expression, so I heartily recommend this
-be the only way to get the highest order bit, (it is portable).
-Of course it will be recognized even if it is embedded in
-other expressions, e.g.:
-
-xyz = gint + ((gint >> 15) & 1);
-
-will still be recognized.
-
- Peep-hole Optimizer
-
-The compiler uses a rule based, pattern matching and re-writing
-mechanism for peep-hole optimization. It is inspired by
-copt a peep-hole optimizer by Christopher W. Fraser (cwfraser@microsoft.com).
-A default set of rules are compiled into the compiler, additional
-rules may be added with the --peep-file <filename> option.
-The rule language is best illustrated with examples.
-
-replace { 
-  mov %1,a 
-  mov a,%1
-} by {
-  mov %1,a
-}
-
-The above rule will change the following assembly sequence:
-
-  mov r1,a 
-  mov a,r1
-
-to
-
-mov r1,a
-
-Note: All occurrences of a %n (pattern variable) must denote
-the same string. With the above rule, the assembly sequence:
-
-  mov r1,a 
-  mov a,r2
-
-will remain unmodified.
-
-Other special case optimizations may be added by the user
-(via --peep-file option). E.g. some variants of the 8051
-MCU allow only ajmp and acall. The following two rules will
-change all ljmp and lcall to ajmp and acall
-
-replace { lcall %1 } by { acall %1 } 
-replace { ljmp %1 } by { ajmp %1 }
-
-The inline-assembler code is also passed through the peep
-hole optimizer, thus the peephole optimizer can also be
-used as an assembly level macro expander. The rules themselves
-are MCU dependent whereas the rule language infra-structure
-is MCU independent. Peephole optimization rules for other
-MCU can be easily programmed using the rule language.
-
-The syntax for a rule is as follows:
-
-rule := replace [ restart ] '{' <assembly sequence> '\n' 
-               
-            '}' by '{' '\n'
-
-               
-             
-  <assembly sequence> '\n' 
-               
-            '}' [if <functionName>
-] '\n' 
-
-<assembly sequence> := assembly instruction (each instruction
-including labels must be on a separate line).
-
-The optimizer will apply to the rules one by one from the
-top in the sequence of their appearance, it will terminate
-when all rules are exhausted. If the 'restart' option is
-specified, then the optimizer will start matching the rules
-again from the top, this option for a rule is expensive
-(performance), it is intended to be used in situations where
-a transformation will trigger the same rule again. A good
-example of this the following rule:
-
-replace restart { 
-  pop %1 
-  push %1 } by { 
-  ; nop 
-}
-
-Note that the replace pattern cannot be a blank, but can
-be a comment line. Without the 'restart' option only the
-inner most 'pop' 'push' pair would be eliminated, i.e.:
-
-  pop ar1 
-  pop ar2 
-  push ar2 
-  push ar1
-
-would result in:
-
-  pop ar1 
-  ; nop 
-  push ar1
-
-with the restart option the rule will be applied again to
-the resulting code and then all the pop-push pairs will
-be eliminated to yield:
-
-  ; nop 
-  ; nop
-
-A conditional function can be attached to a rule. Attaching
-rules are somewhat more involved, let me illustrate this
-with an example.
-
-replace { 
-     ljmp %5 
-%2:
-} by { 
-     sjmp %5 
-%2:
-} if labelInRange
-
-The optimizer does a look-up of a function name table defined
-in function callFuncByName in the source file SDCCpeeph.c,
-with the name labelInRange. If it finds a corresponding
-entry the function is called. Note there can be no parameters
-specified for these functions, in this case the use of %5
-is crucial, since the function labelInRange expects to find
-the label in that particular variable (the hash table containing
-the variable bindings is passed as a parameter). If you
-want to code more such functions, take a close look at the
-function labelInRange and the calling mechanism in source
-file SDCCpeeph.c. I know this whole thing is a little kludgey,
-but maybe some day we will have some better means. If you
-are looking at this file, you will also see the default
-rules that are compiled into the compiler, you can add your
-own rules in the default set there if you get tired of specifying
-the --peep-file option.
-
- Pragmas
-
-SDCC supports the following #pragma directives. This directives
-are applicable only at a function level.
-
- SAVE - this will save all the current options.
-
- RESTORE - will restore the saved options from the last
-  save. Note that SAVES & RESTOREs cannot be nested. SDCC
-  uses the same buffer to save the options each time a SAVE
-  is called.
-
- NOGCSE - will stop global subexpression elimination.
-
- NOINDUCTION - will stop loop induction optimizations.
-
- NOJTBOUND - will not generate code for boundary value checking,
-  when switch statements are turned into jump-tables.
-
- NOOVERLAY - the compiler will not overlay the parameters
-  and local variables of a function.
-
- NOLOOPREVERSE - Will not do loop reversal optimization
-
- EXCLUDE NONE | {acc[,b[,dpl[,dph]]] - The exclude pragma
-  disables generation of pair of push/pop instruction in
-  ISR function (using interrupt keyword). The directive
-  should be placed immediately before the ISR function definition
-  and it affects ALL ISR functions following it. To enable
-  the normal register saving for ISR functions use #pragma EXCLUDE none.
-
- CALLEE-SAVES function1[,function2[,function3...]] - The
-  compiler by default uses a caller saves convention for
-  register saving across function calls, however this can
-  cause unneccessary register pushing & popping when calling
-  small functions from larger functions. This option can
-  be used to switch the register saving convention for the
-  function names specified. The compiler will not save registers
-  when calling these functions, extra code will be generated
-  at the entry & exit for these functions to save & restore
-  the registers used by these functions, this can SUBSTANTIALLY
-  reduce code & improve run time performance of the generated
-  code. In future the compiler (with interprocedural analysis)
-  will be able to determine the appropriate scheme to use
-  for each function call. If --callee-saves command line
-  option is used, the function names specified in #pragma CALLEE-SAVES
-  is appended to the list of functions specified inthe command
-  line.
-
-The pragma's are intended to be used to turn-off certain
-optimizations which might cause the compiler to generate
-extra stack / data space to store compiler generated temporary
-variables. This usually happens in large functions. Pragma
-directives should be used as shown in the following example,
-they are used to control options & optimizations for a given
-function; pragmas should be placed before and/or after a
-function, placing pragma's inside a function body could
-have unpredictable results.
-
-#pragma SAVE /* save the current settings */ 
-#pragma NOGCSE /* turnoff global subexpression elimination
-*/ 
-#pragma NOINDUCTION /* turn off induction optimizations */
-
-int foo () 
-{ 
-    ... 
-    /* large code */ 
-    ... 
-} 
-#pragma RESTORE /* turn the optimizations back on */
-
-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 changing options for a function.
-
- <pending: this is messy and incomplete> Library Routines
-
-The following library routines are provided for your convenience.
-
-stdio.h - Contains the following functions printf & sprintf
-these routines are developed by Martijn van Balen <balen@natlab.research.philips.com>. 
-
-%[flags][width][b|B|l|L]type
-
-           flags:
--        left justify output
-in specified field width 
-                
-+        prefix output with
-+/- sign if output is signed type 
-                
-space    prefix output with a blank if
-it's a signed positive value 
-          width:         
-specifies minimum number of characters outputted for numbers
-
-                         
-or strings. 
-                         
-- For numbers, spaces are added on the left when needed.
-
-                           
-If width starts with a zero character, zeroes and used 
-                           
-instead of spaces. 
-                         
-- For strings, spaces are are added on the left or right
-(when 
-                           
-flag '-' is used) when needed. 
-                         
-
-          b/B:           
-byte argument (used by d, u, o, x, X) 
-          l/L:           
-long argument (used by d, u, o, x, X)
-          type: 
-d        decimal number 
-                
-u        unsigned decimal number
-
-                
-o        unsigned octal number
-
-                
-x        unsigned hexadecimal
-number (0-9, a-f) 
-                
-X        unsigned hexadecimal
-number (0-9, A-F) 
-                
-c        character 
-                
-s        string (generic pointer)
-
-                
-p        generic pointer (I:data/idata,
-C:code, X:xdata, P:paged) 
-                
-f        float (still to be
-implemented)
-
-Also contains a very simple version of printf (printf_small).
-This simplified version of printf supports only the following
-formats.
-
-format     output type     argument-type
-
-%d         decimal
-      short/int 
-%ld        decimal       long
-
-%hd        decimal       char
-
-%x        hexadecimal    short/int
-
-%lx       hexadecimal    long
-
-%hx       hexadecimal    char
-
-%o         octal         short/int
-
-%lo        octal         long
-
-%ho        octal         char
-
-%c        character      char
-
-%s        character     _generic
-pointer
-
-The routine is very stack intesive, --stack-after-data parameter
-should be used when using this routine, the routine also
-takes about 1K of code space. It also expects an external
-function named putchar(char) to be present (this can be
-changed). When using the %s format the string / pointer
-should be cast to a generic pointer. eg.
-
-printf_small("my str %s, my int %d\n",(char
-_generic *)mystr,myint);
-
- stdarg.h - contains definition for the following macros
-  to be used for variable parameter list, note that a function
-  can have a variable parameter list if and only if it is
-  'reentrant'
-
-  va_list, va_start, va_arg, va_end.
-
- setjmp.h - contains defintion for ANSI setjmp & longjmp
-  routines. Note in this case setjmp & longjmp can be used
-  between functions executing within the same register bank,
-  if long jmp is executed from a function that is using
-  a different register bank from the function issuing the
-  setjmp function, the results may be unpredictable. The
-  jump buffer requires 3 bytes of data (the stack pointer
-  & a 16 byte return address), and can be placed in any
-  address space.
-
- stdlib.h - contains the following functions.
-
-  atoi, atol.
-
- string.h - contains the following functions.
-
-  strcpy, strncpy, strcat, strncat, strcmp, strncmp, strchr,
-  strrchr, strspn, strcspn, strpbrk, strstr, strlen, strtok,
-  memcpy, memcmp, memset.
-
- ctype.h - contains the following routines.
-
-  iscntrl, isdigit, isgraph, islower, isupper, isprint, ispunct,
-  isspace, isxdigit, isalnum, isalpha.
-
- malloc.h - The malloc routines are developed by Dmitry
-  S. Obukhov (dso@usa.net). These routines will allocate
-  memory from the external ram. Here is a description on
-  how to use them (as described by the author).
-
-  //Example: 
-       //    
-  #define DYNAMIC_MEMORY_SIZE 0x2000 
-       //    
-  ..... 
-       //    
-  unsigned char xdata dynamic_memory_pool[DYNAMIC_MEMORY_SIZE];
-  
-       //    
-  unsigned char xdata * current_buffer; 
-       //    
-  ..... 
-       //    
-  void main(void) 
-       //    
-  { 
-       //        
-  ... 
-       //        
-  init_dynamic_memory(dynamic_memory_pool,DYNAMIC_MEMORY_SIZE);
-  
-       //        
-  //Now it's possible to use malloc. 
-       //        
-  ... 
-       //        
-  current_buffer = malloc(0x100); 
-       //
-
- serial.h - Serial IO routines are also developed by Dmitry
-  S. Obukhov (dso@usa.net). These routines are interrupt
-  driven with a 256 byte circular buffer, they also expect
-  external ram to be present. Please see documentation in
-  file SDCCDIR/sdcc51lib/serial.c. Note the header file
-  "serial.h" MUST be included in the file containing
-  the 'main' function.
-
- ser.h - Alternate serial routine provided by Wolfgang Esslinger
-  <wolfgang@WiredMinds.com> these routines are more compact
-  and faster. Please see documentation in file SDCCDIR/sdcc51lib/ser.c
-
- ser_ir.h - Another alternate set of serial routines provided
-  by Josef Wolf <jw@raven.inka.de>, these routines do not
-  use the external ram.
-
- reg51.h - contains register definitions for a standard
-  8051
-
- float.h - contains min, max and other floating point related
-  stuff.
-
-All library routines are compiled as --model-small, they
-are all non-reentrant, if you plan to use the large model
-or want to make these routines reentrant, then they will
-have to be recompiled with the appropriate compiler option.
-
-Have not had time to do the more involved routines like printf,
-will get to them shortly.
-
- Interfacing with Assembly Routines
-
- Global Registers used for Parameter Passing
-
-The compiler always uses the global registers DPL,DPH,B and
-ACC to pass the first parameter to a routine. The second
-parameter onwards is either allocated on the stack (for
-reentrant routines or if --stack-auto is used) or in the
-internal / external ram (depending on the memory model). 
-
- Assembler Routine(non-reentrant)
-
-In the following example the function cfunc calls an assembler
-routine asm_func, which takes two parameters.
-
-extern int asm_func(unsigned char, unsigned char);
-
-int c_func (unsigned char i, unsigned char j)
-{
-    return asm_func(i,j);
-}
-
-int main()
-{
-    return c_func(10,9);
-}
-
-The corresponding assembler function is:
-
-.globl _asm_func_PARM_2 
-        .globl _asm_func 
-        .area OSEG 
-_asm_func_PARM_2:
-        .ds      1 
-        .area CSEG 
-_asm_func: 
-        mov     a,dpl 
-        add     a,_asm_func_PARM_2
-
-        mov     dpl,a 
-        mov     dpl,#0x00 
-        ret
-
-Note here that the return values are placed in 'dpl' - One
-byte return value, 'dpl' LSB & 'dph' MSB for two byte values.
-'dpl', 'dph' and 'b' for three byte values (generic pointers)
-and 'dpl','dph','b' & 'acc' for four byte values.
-
-The parameter naming convention is _<function_name>_PARM_<n>,
-where n is the parameter number starting from 1, and counting
-from the left. The first parameter is passed in "dpl"
-for One bye parameter, "dptr"
-if two bytes, "b,dptr"
-for three bytes and "acc,b,dptr"
-for four bytes, the varible name for the second parameter
-will be _<function_name>_PARM_2.
-
-Assemble the assembler routine with the following command:
-
-asx8051 -losg asmfunc.asm
-
-Then compile and link the assembler routine to the C source
-file with the following command:
-
-sdcc cfunc.c asmfunc.rel
-
- Assembler Routine(reentrant)
-
-In this case the second parameter onwards will be passed
-on the stack, the parameters are pushed from right to left
-i.e. after the call the left most parameter will be on the
-top of the stack. Here is an example:
-
-extern int asm_func(unsigned char, unsigned char);
-
-int c_func (unsigned char i, unsigned char j) reentrant 
-{ 
-    return asm_func(i,j); 
-} 
-
-int main() 
-{ 
-    return c_func(10,9); 
-}
-
-The corresponding assembler routine is:
-
-.globl _asm_func 
-_asm_func: 
-    push  _bp 
-    mov  _bp,sp 
-    mov  r2,dpl
-    mov  a,_bp 
-    clr  c 
-    add  a,#0xfd 
-    mov  r0,a 
-    add  a,#0xfc
-    mov  r1,a 
-    mov  a,@r0 
-    add  a,r2
-    mov  dpl,a 
-    mov  dph,#0x00 
-    mov  sp,_bp 
-    pop  _bp 
-    ret
-
-The compiling and linking procedure remains the same, however
-note the extra entry & exit linkage required for the assembler
-code, _bp is the stack frame pointer and is used to compute
-the offset into the stack for parameters and local variables.
-
- External Stack
-
-The external stack is located at the start of the external
-ram segment, and is 256 bytes in size. When --xstack option
-is used to compile the program, the parameters and local
-variables of all reentrant functions are allocated in this
-area. This option is provided for programs with large stack
-space requirements. When used with the --stack-auto option,
-all parameters and local variables are allocated on the
-external stack (note support libraries will need to be recompiled
-with the same options).
-
-The compiler outputs the higher order address byte of the
-external ram segment into PORT P2, therefore when using
-the External Stack option, this port MAY NOT be used by
-the application program.
-
- ANSI-Compliance
-
-Deviations from the compliancy.
-
- functions are not always reentrant.
-
- structures cannot be assigned values directly, cannot be
-  passed as function parameters or assigned to each other
-  and cannot be a return value from a function, e.g.:
-  
-  struct s { ... }; 
-  struct s s1, s2; 
-  foo() 
-  { 
-      ... 
-      s1 = s2 ; /* is invalid in SDCC although
-  allowed in ANSI */ 
-      ... 
-  }
-  struct s foo1 (struct s parms) /* is invalid in SDCC although
-  allowed in ANSI */ 
-  { 
-      struct s rets; 
-      ... 
-      return rets;/* is invalid in SDCC although
-  allowed in ANSI */ 
-  }
-
- 'long long' (64 bit integers) not supported.
-
- 'double' precision floating point not supported.
-
- No support for setjmp and longjmp (for now).
-
- Old K&R style function declarations are NOT allowed.
-  
-  foo(i,j) /* this old style of function declarations */
-  
-  int i,j; /* are valid in ANSI but not valid in SDCC */
-  
-  { 
-      ... 
-  }
-
- functions declared as pointers must be dereferenced during
-  the call.
-  
-  int (*foo)();
-  ... 
-  /* has to be called like this */ 
-  (*foo)(); /* ansi standard allows calls to be made like
-  'foo()' */
-
- Cyclomatic Complexity
-
-Cyclomatic complexity of a function is defined as the number
-of independent paths the program can take during execution
-of the function. This is an important number since it defines
-the number test cases you have to generate to validate the
-function. The accepted industry standard for complexity
-number is 10, if the cyclomatic complexity reported by SDCC
-exceeds 10 you should think about simplification of the
-function logic. Note that the complexity level is not related
-to the number of lines of code in a function. Large functions
-can have low complexity, and small functions can have large
-complexity levels. 
-
-SDCC uses the following formula to compute the complexity:
-
-
-complexity = (number of edges in control flow graph) - (number
-of nodes in control flow graph) + 2;
-
-Having said that the industry standard is 10, you should
-be aware that in some cases it be may unavoidable to have
-a complexity level of less than 10. For example if you have
-switch statement with more than 10 case labels, each case
-label adds one to the complexity level. The complexity level
-is by no means an absolute measure of the algorithmic complexity
-of the function, it does however provide a good starting
-point for which functions you might look at for further
-optimization.
-
- TIPS
-
-Here are a few guidelines that will help the compiler generate
-more efficient code, some of the tips are specific to this
-compiler others are generally good programming practice.
-
- Use the smallest data type to represent your data-value.
-  If it is known in advance that the value is going to be
-  less than 256 then use a 'char' instead of a 'short' or
-  'int'.
-
- Use unsigned when it is known in advance that the value
-  is not going to be negative. This helps especially if
-  you are doing division or multiplication.
-
- NEVER jump into a LOOP.
-
- Declare the variables to be local whenever possible, especially
-  loop control variables (induction).
-
- Since the compiler does not do implicit integral promotion,
-  the programmer should do an explicit cast when integral
-  promotion is required.
-
- Reducing the size of division, multiplication & modulus
-  operations can reduce code size substantially. Take the
-  following code for example.
-  
-  foobar(unsigned int p1, unsigned char ch)
-  {
-      unsigned char ch1 = p1 % ch ;
-      ....    
-  }
-  
-  For the modulus operation the variable ch will be promoted
-  to unsigned int first then the modulus operation will
-  be performed (this will lead to a call to support routine
-  _muduint()), and the result will be casted to an int.
-  If the code is changed to 
-  
-  foobar(unsigned int p1, unsigned char ch)
-  {
-      unsigned char ch1 = (unsigned char)p1 % ch ;
-      ....    
-  }
-  
-  It would substantially reduce the code generated (future
-  versions of the compiler will be smart enough to detect
-  such optimization oppurtunities).
-
- Notes on MCS51 memory layout
-
-The 8051 family of micro controller have a minimum of 128
-bytes of internal memory which is structured as follows
-
-- Bytes 00-1F - 32 bytes to hold up to 4 banks of the registers
-R7 to R7 
-- Bytes 20-2F - 16 bytes to hold 128 bit variables and 
-- Bytes 30-7F - 60 bytes for general purpose use.
-
-Normally the SDCC compiler will only utilise the first bank
-of registers, but it is possible to specify that other banks
-of registers should be used in interrupt routines. By default,
-the compiler will place the stack after the last bank of
-used registers, i.e. if the first 2 banks of registers are
-used, it will position the base of the internal stack at
-address 16 (0X10). This implies that as the stack grows,
-it will use up the remaining register banks, and the 16
-bytes used by the 128 bit variables, and 60 bytes for general
-purpose use.
-
-By default, the compiler uses the 60 general purpose bytes
-to hold "near data". The compiler/optimiser may also declare
-some Local Variables in this area to hold local data. 
-
-If any of the 128 bit variables are used, or near data is
-being used then care needs to be taken to ensure that the
-stack does not grow so much that it starts to over write
-either your bit variables or "near data". There is no runtime
-checking to prevent this from happening.
-
-The amount of stack being used is affected by the use of
-the "internal stack" to save registers before a subroutine
-call is made (--stack-auto will declare parameters and local
-variables on the stack) and the number of nested subroutines.
-
-If you detect that the stack is over writing you data, then
-the following can be done. --xstack will cause an external
-stack to be used for saving registers and (if --stack-auto
-is being used) storing parameters and local variables. However
-this will produce more code which will be slower to execute. 
-
---stack-loc will allow you specify the start of the stack,
-i.e. you could start it after any data in the general purpose
-area. However this may waste the memory not used by the
-register banks and if the size of the "near data" increases,
-it may creep into the bottom of the stack.
-
---stack-after-data, similar to the --stack-loc, but it automatically
-places the stack after the end of the "near data". Again
-this could waste any spare register space.
-
---data-loc allows you to specify the start address of the
-near data. This could be used to move the "near data" further
-away from the stack giving it more room to grow. This will
-only work if no bit variables are being used and the stack
-can grow to use the bit variable space.
-
-Conclusion.
-
-If you find that the stack is over writing your bit variables
-or "near data" then the approach which best utilised the
-internal memory is to position the "near data" after the
-last bank of used registers or, if you use bit variables,
-after the last bit variable by using the --data-loc, e.g.
-if two register banks are being used and no bit variables,
---data-loc 16, and use the --stack-after-data option.
-
-If bit variables are being used, another method would be
-to try and squeeze the data area in the unused register
-banks if it will fit, and start the stack after the last
-bit variable.
-
- Retargetting for other MCUs.
-
-The issues for retargetting the compiler are far too numerous
-to be covered by this document. What follows is a brief
-description of each of the seven phases of the compiler
-and its MCU dependency.
-
- Parsing the source and building the annotated parse tree.
-  This phase is largely MCU independent (except for the
-  language extensions). Syntax & semantic checks are also
-  done in this phase, along with some initial optimizations
-  like back patching labels and the pattern matching optimizations
-  like bit-rotation etc.
-
- The second phase involves generating an intermediate code
-  which can be easy manipulated during the later phases.
-  This phase is entirely MCU independent. The intermediate
-  code generation assumes the target machine has unlimited
-  number of registers, and designates them with the name
-  iTemp. The compiler can be made to dump a human readable
-  form of the code generated by using the --dumpraw option.
-
- This phase does the bulk of the standard optimizations
-  and is also MCU independent. This phase can be broken
-  down into several sub-phases:
-  
-  Break down intermediate code (iCode) into basic blocks.
-  Do control flow & data flow analysis on the basic blocks.
-  Do local common subexpression elimination, then global
-  subexpression elimination
-  Dead code elimination
-  Loop optimizations
-  If loop optimizations caused any changes then do 'global
-  subexpression elimination' and 'dead code elimination'
-  again.
-
- This phase determines the live-ranges; by live range I
-  mean those iTemp variables defined by the compiler that
-  still survive after all the optimizations. Live range
-  analysis is essential for register allocation, since these
-  computation determines which of these iTemps will be assigned
-  to registers, and for how long.
-
- Phase five is register allocation. There are two parts
-  to this process.
-  
-  The first part I call 'register packing' (for lack of a
-  better term). In this case several MCU specific expression
-  folding is done to reduce register pressure.
-  
-  The second part is more MCU independent and deals with
-  allocating registers to the remaining live ranges. A lot
-  of MCU specific code does creep into this phase because
-  of the limited number of index registers available in
-  the 8051.
-
- The Code generation phase is (unhappily), entirely MCU
-  dependent and very little (if any at all) of this code
-  can be reused for other MCU. However the scheme for allocating
-  a homogenized assembler operand for each iCode operand
-  may be reused.
-
- As mentioned in the optimization section the peep-hole
-  optimizer is rule based system, which can reprogrammed
-  for other MCUs.
-
- SDCDB - Source Level Debugger
-
-SDCC is distributed with a source level debugger. The debugger
-uses a command line interface, the command repertoire of
-the debugger has been kept as close to gdb (the GNU debugger)
-as possible. The configuration and build process is part
-of the standard compiler installation, which also builds
-and installs the debugger in the target directory specified
-during configuration. The debugger allows you debug BOTH
-at the C source and at the ASM source level.
-
- Compiling for Debugging
-
-The debug option must be specified for all files
-for which debug information is to be generated. The complier
-generates a .cdb file for each of these files. The linker
-updates the .cdb file with the address information. This
-.cdb is used by the debugger.
-
- How the Debugger Works
-
-When the --debug option is specified the compiler generates
-extra symbol information some of which are put into the
-the assembler source and some are put into the .cdb file,
-the linker updates the .cdb file with the address information
-for the symbols. The debugger reads the symbolic information
-generated by the compiler & the address information generated
-by the linker. It uses the SIMULATOR (Daniel's S51) to execute
-the program, the program execution is controlled by the
-debugger. When a command is issued for the debugger, it
-translates it into appropriate commands for the simulator.
-
- Starting the Debugger
-
-The debugger can be started using the following command line.
-(Assume the file you are debugging has the file name foo).
-
-sdcdb foo
-
-The debugger will look for the following files.
-
- foo.c - the source file.
-
- foo.cdb - the debugger symbol information file.
-
- foo.ihx - the intel hex format object file.
-
- Command Line Options.
-
- --directory=<source file directory> this option can used
-  to specify the directory search list. The debugger will
-  look into the directory list specified for source, cdb
-  & ihx files. The items in the directory list must be separated
-  by ':', e.g. if the source files can be in the directories
-  /home/src1 and /home/src2, the --directory option should
-  be --directory=/home/src1:/home/src2. Note there can be
-  no spaces in the option. 
-
- -cd <directory> - change to the <directory>.
-
- -fullname - used by GUI front ends.
-
- -cpu <cpu-type> - this argument is passed to the simulator
-  please see the simulator docs for details.
-
- -X <Clock frequency > this options is passed to the simulator
-  please see the simulator docs for details.
-
- -s <serial port file> passed to simulator see the simulator
-  docs for details.
-
- -S <serial in,out> passed to simulator see the simulator
-  docs for details.
-
- Debugger Commands.
-
-As mention earlier the command interface for the debugger
-has been deliberately kept as close the GNU debugger gdb,
-as possible. This will help the integration with existing
-graphical user interfaces (like ddd, xxgdb or xemacs) existing
-for the GNU debugger.
-
- break [line | file:line | function | file:function]
-
-Set breakpoint at specified line or function:
-
-sdcdb>break 100 
-sdcdb>break foo.c:100
-sdcdb>break funcfoo
-sdcdb>break foo.c:funcfoo
-
- clear [line | file:line | function | file:function ]
-
-Clear breakpoint at specified line or function:
-
-sdcdb>clear 100
-sdcdb>clear foo.c:100
-sdcdb>clear funcfoo
-sdcdb>clear foo.c:funcfoo
-
- continue
-
-Continue program being debugged, after breakpoint.
-
- finish
-
-Execute till the end of the current function.
-
- delete [n]
-
-Delete breakpoint number 'n'. If used without any option
-clear ALL user defined break points.
-
- info [break | stack | frame | registers ]
-
- info break - list all breakpoints
-
- info stack - show the function call stack.
-
- info frame - show information about the current execution
-  frame.
-
- info registers - show content of all registers.
-
- step
-
-Step program until it reaches a different source line.
-
- next
-
-Step program, proceeding through subroutine calls.
-
- run
-
-Start debugged program.
-
- ptype variable 
-
-Print type information of the variable.
-
- print variable
-
-print value of variable.
-
- file filename
-
-load the given file name. Note this is an alternate method
-of loading file for debugging.
-
- frame
-
-print information about current frame.
-
- set srcmode
-
-Toggle between C source & assembly source.
-
- ! simulator command
-
-Send the string following '!' to the simulator, the simulator
-response is displayed. Note the debugger does not interpret
-the command being sent to the simulator, so if a command
-like 'go' is sent the debugger can loose its execution context
-and may display incorrect values.
-
- quit.
-
-"Watch me now. Iam going Down. My name is Bobby Brown"
-
- Interfacing with XEmacs.
-
-Two files (in emacs lisp) are provided for the interfacing
-with XEmacs, sdcdb.el and sdcdbsrc.el. These two files can
-be found in the $(prefix)/bin directory after the installation
-is complete. These files need to be loaded into XEmacs for
-the interface to work. This can be done at XEmacs startup
-time by inserting the following into your '.xemacs' file
-(which can be found in your HOME directory): 
-
-(load-file sdcdbsrc.el) 
-
-.xemacs is a lisp file so the () around the command is REQUIRED.
-The files can also be loaded dynamically while XEmacs is
-running, set the environment variable 'EMACSLOADPATH' to
-the installation bin directory (<installdir>/bin), then
-enter the following command ESC-x load-file sdcdbsrc. To
-start the interface enter the following command: 
-
-ESC-x sdcdbsrc
-
-You will prompted to enter the file name to be debugged.
-
-
-The command line options that are passed to the simulator
-directly are bound to default values in the file sdcdbsrc.el.
-The variables are listed below, these values maybe changed
-as required.
-
- sdcdbsrc-cpu-type '51
-
- sdcdbsrc-frequency '11059200
-
- sdcdbsrc-serial nil
-
-The following is a list of key mapping for the debugger interface.
-
-;; Current Listing :: 
-;;key               binding                      Comment
-
-;;---               -------                      -------
-
-;; 
-;; n              
-sdcdb-next-from-src          SDCDB
-next command 
-;; b              
-sdcdb-back-from-src          SDCDB
-back command 
-;; c              
-sdcdb-cont-from-src          SDCDB
-continue command
-;; s              
-sdcdb-step-from-src          SDCDB
-step command 
-;; ?              
-sdcdb-whatis-c-sexp          SDCDB
-ptypecommand for data at 
-;;                                              
-buffer point 
-;; x              
-sdcdbsrc-delete              SDCDB
-Delete all breakpoints if no arg 
-;;                                              given
-or delete arg (C-u arg x) 
-;; m              
-sdcdbsrc-frame               SDCDB
-Display current frame if no arg, 
-;;                                               given
-or display frame arg 
-;;                                               buffer
-point 
-;; !              
-sdcdbsrc-goto-sdcdb          Goto
-the SDCDB output buffer 
-;; p              
-sdcdb-print-c-sexp           SDCDB
-print command for data at 
-;;                                              
-buffer point 
-;; g              
-sdcdbsrc-goto-sdcdb          Goto
-the SDCDB output buffer 
-;; t              
-sdcdbsrc-mode                Toggles
-Sdcdbsrc mode (turns it off) 
-;; 
-;; C-c C-f        
-sdcdb-finish-from-src        SDCDB
-finish command 
-;; 
-;; C-x SPC        
-sdcdb-break                  Set
-break for line with point 
-;; ESC t          
-sdcdbsrc-mode                Toggle
-Sdcdbsrc mode 
-;; ESC m          
-sdcdbsrc-srcmode            
-Toggle list mode 
-;; 
-
-
- Other Processors
-
- The Z80 and gbz80 port
-
-SDCC can target both the Zilog Z80 and the Nintendo Gameboy's
-Z80-like gbz80. The port is incomplete - long support is
-incomplete (mul, div and mod are unimplimented), and both
-float and bitfield support is missing. Apart from that the
-code generated is correct.
-
-As always, the code is the authoritave reference - see z80/ralloc.c
-and z80/gen.c. The stack frame is similar to that generated
-by the IAR Z80 compiler. IX is used as the base pointer,
-HL is used as a temporary register, and BC and DE are available
-for holding varibles. IY is currently unusued. Return values
-are stored in HL. One bad side effect of using IX as the
-base pointer is that a functions stack frame is limited
-to 127 bytes - this will be fixed in a later version.
-
- Support
-
-SDCC has grown to be a large project. The compiler alone
-(without the preprocessor, assembler and linker) is about
-40,000 lines of code (blank stripped). The open source nature
-of this project is a key to its continued growth and support.
-You gain the benefit and support of many active software
-developers and end users. Is SDCC perfect? No, that's why
-we need your help. The developers take pride in fixing reported
-bugs. You can help by reporting the bugs and helping other
-SDCC users. There are lots of ways to contribute, and we
-encourage you to take part in making SDCC a great software
-package.
-
- Reporting Bugs
-
-Send an email to the mailing list at 'user-sdcc@sdcc.sourceforge.net'
-or 'devel-sdcc@sdcc.sourceforge.net'. Bugs will be fixed
-ASAP. When reporting a bug, it is very useful to include
-a small test program 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 --dumpall option can sometimes be useful in locating
-optimization problems.
-
- Acknowledgments
-
-Sandeep Dutta (sandeep.dutta@usa.net) - SDCC, the compiler,
-MCS51 code generator, Debugger, AVR port
-Alan Baldwin (baldwin@shop-pdp.kent.edu) - Initial version
-of ASXXXX & ASLINK. 
-John Hartman (jhartman@compuserve.com) - Porting ASXXX &
-ASLINK for 8051
-Dmitry S. Obukhov (dso@usa.net) - malloc & serial i/o routines.
-
-Daniel Drotos (drdani@mazsola.iit.uni-miskolc.hu) - for his
-Freeware simulator
-Malini Dutta(malini_dutta@hotmail.com) - my wife for her
-patience and support.
-Unknown - for the GNU C - preprocessor.
-Michael Hope - The Z80 and Z80GB port, 186 development
-Kevin Vigor - The DS390 port.
-Johan Knol - Lots of fixes and enhancements, DS390/TINI libs.
-Scott Datallo - The PIC port.
-
-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. 
-
-
diff --git a/doc/test_suite_spec.html/WARNINGS b/doc/test_suite_spec.html/WARNINGS
deleted file mode 100644 (file)
index caf4aef..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-No implementation found for style `fontenc'
-No implementation found for style `url'
diff --git a/doc/test_suite_spec.html/index.html b/doc/test_suite_spec.html/index.html
deleted file mode 100644 (file)
index e4309cf..0000000
+++ /dev/null
@@ -1,478 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Proposed Test Suite Design</TITLE>
-<META NAME="description" CONTENT="Proposed Test Suite Design">
-<META NAME="keywords" CONTENT="test_suite_spec">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="test_suite_spec.css">
-
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<IMG WIDTH="81" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next_group" SRC="next_group_motif_gr.gif"> 
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif_gr.gif"> 
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif_gr.gif">   
-<BR>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<P>
-
-<P>
-
-<P>
-
-<P>
-<H1 ALIGN="CENTER">Proposed Test Suite Design</H1>
-<P ALIGN="CENTER"><STRONG>Michael Hope (michaelh@juju.net.nz)</STRONG></P>
-<P ALIGN="CENTER"><STRONG>13 July 2001</STRONG></P>
-
-<H3>Abstract:</H3>
-<DIV>
-This article describes the goals, requirements, and suggested specification
-for a test suite for the output of the Small Device C Compiler (sdcc).
-Also included is a short list of existing works. 
-</DIV>
-<P>
-
-<P>
-
-<H1><A NAME="SECTION00010000000000000000">
-Goals</A>
-</H1>
-
-<P>
-The main goals of a test suite for sdcc are 
-
-<P>
-
-<OL>
-<LI>To allow developers to run regression tests to check that core changes
-do not break any of the many ports. </LI>
-<LI>To verify the core. </LI>
-<LI>To allow developers to verify individual ports. </LI>
-<LI>To allow developers to test port changes. </LI>
-</OL>
-This design only covers the generated code. It does not cover a test/unit
-test framework for the sdcc application itself, which may be useful.
-
-<P>
-One side effect of (1) is that it requires that the individual ports
-pass the tests originally. This may be too hard. See the section on
-Exceptions below.
-
-<P>
-
-<H1><A NAME="SECTION00020000000000000000">
-Requirements</A>
-</H1>
-
-<P>
-
-<H2><A NAME="SECTION00021000000000000000">
-Coverage</A>
-</H2>
-
-<P>
-The suite is intended to cover language features only. Hardware specific
-libraries are explicitly not covered.
-
-<P>
-
-<H2><A NAME="SECTION00022000000000000000">
-Permutations</A>
-</H2>
-
-<P>
-The ports often generate different code for handling different types
-(Byte, Word, DWord, and the signed forms). Meta information could
-be used to permute the different test cases across the different types.
-
-<P>
-
-<H2><A NAME="SECTION00023000000000000000">
-Exceptions</A>
-</H2>
-
-<P>
-The different ports are all at different levels of development. Test
-cases must be able to be disabled on a per port basis. Permutations
-also must be able to be disabled on a port level for unsupported cases.
-Disabling, as opposed to enabling, on a per port basis seems more
-maintainable.
-
-<P>
-
-<H2><A NAME="SECTION00024000000000000000">
-Running</A>
-</H2>
-
-<P>
-The tests must be able to run unaided. The test suite must run on
-all platforms that sdcc runs on. A good minimum may be a subset of
-Unix command set and common tools, provided by default on a Unix host
-and provided through cygwin on a Windows host.
-
-<P>
-The tests suits should be able to be sub-divided, so that the failing
-or interesting tests may be run separately.
-
-<P>
-
-<H2><A NAME="SECTION00025000000000000000">
-Artifcats</A>
-</H2>
-
-<P>
-The test code within the test cases should not generate artifacts.
-An artifact occurs when the test code itself interferes with the test
-and generates an erroneous result.
-
-<P>
-
-<H2><A NAME="SECTION00026000000000000000">
-Emulators</A>
-</H2>
-
-<P>
-sdcc is a cross compiling compiler. As such, an emulator is needed
-for each port to run the tests.
-
-<P>
-
-<H1><A NAME="SECTION00030000000000000000">
-Existing works</A>
-</H1>
-
-<P>
-
-<H2><A NAME="SECTION00031000000000000000">
-DejaGnu</A>
-</H2>
-
-<P>
-DejaGnu is a toolkit written in Expect designed to test an interactive
-program. It provides a way of specifying an interface to the program,
-and given that interface a way of stimulating the program and interpreting
-the results. It was originally written by Cygnus Solutions for running
-against development boards. I believe the gcc test suite is written
-against DejaGnu, perhaps partly to test the Cygnus ports of gcc on
-target systems.
-
-<P>
-
-<H2><A NAME="SECTION00032000000000000000">
-gcc test suite</A>
-</H2>
-
-<P>
-I don't know much about the gcc test suite. It was recently removed
-from the gcc distribution due to issues with copyright ownership.
-The code I saw from older distributions seemed more concerned with
-esoteric features of the language.
-
-<P>
-
-<H2><A NAME="SECTION00033000000000000000">
-xUnit</A>
-</H2>
-
-<P>
-The xUnit family, in particular JUnit, is a library of in test assertions,
-test wrappers, and test suite wrappers designed mainly for unit testing.
-PENDING: More.
-
-<P>
-
-<H2><A NAME="SECTION00034000000000000000">
-CoreLinux++ Assertion framework</A>
-</H2>
-
-<P>
-While not a test suite system, the assertion framework is an interesting
-model for the types of assertions that could be used. They include
-pre-condition, post-condition, invariants, conditional assertions,
-unconditional assertions, and methods for checking conditions.
-
-<P>
-
-<H1><A NAME="SECTION00040000000000000000">
-Specification</A>
-</H1>
-
-<P>
-This specification borrows from the JUnit style of unit testing and
-the CoreLinux++ style of assertions. The emphasis is on maintainability
-and ease of writing the test cases.
-
-<P>
-
-<H2><A NAME="SECTION00041000000000000000">
-Terms</A>
-</H2>
-
-<P>
-PENDING: Align these terms with the rest of the world.
-
-<P>
-
-<UL>
-<LI>An <I>assertion</I> is a statement of how things should be. PENDING:
-Better description, an example. </LI>
-<LI>A <I>test point</I> is the smallest unit of a test suite, and consists
-of a single assertion that passes if the test passes. </LI>
-<LI>A <I>test case</I> is a set of test points that test a certain feature. </LI>
-<LI>A <I>test suite</I> is a set of test cases that test a certain set
-of features. </LI>
-</UL>
-
-<P>
-
-<H2><A NAME="SECTION00042000000000000000">
-Test cases</A>
-</H2>
-
-<P>
-Test cases shall be contained in their own C file, along with the
-meta data on the test. Test cases shall be contained within functions
-whose names start with 'test' and which are descriptive of the test
-case. Any function that starts with 'test' will be automatically run
-in the test suite.
-
-<P>
-To make the automatic code generation easier, the C code shall have
-this format 
-
-<P>
-
-<UL>
-<LI>Test functions shall start with 'test' to allow automatic detection. </LI>
-<LI>Test functions shall follow the K&amp;R intention style for ease of detection.
-i.e. the function name shall start in the left column on a new line
-below the return specification. </LI>
-</UL>
-
-<P>
-
-<H2><A NAME="SECTION00043000000000000000">
-Assertions</A>
-</H2>
-
-<P>
-All assertions shall log the line number, function name, and test
-case file when they fail. Most assertions can have a more descriptive
-message attached to them. Assertions will be implemented through macros
-to get at the line information. This may cause trouble with artifacts.
-
-<P>
-The following definitions use C++ style default arguments where optional
-messages may be inserted. All assertions use double opening and closing
-brackets in the macros to allow them to be compiled out without any
-side effects. While this is not required for a test suite, they are
-there in case any of this code is incorporated into the main product.
-
-<P>
-Borrowing from JUnit, the assertions shall include 
-
-<P>
-
-<UL>
-<LI>FAIL((String msg = ``Failed'')). Used when execution should not
-get here. </LI>
-<LI>ASSERT((Boolean cond, String msg = ``Assertion failed''). Fails
-if cond is false. Parent to REQUIRE and ENSURE. </LI>
-</UL>
-JUnit also includes may sub-cases of ASSERT, such as assertNotNull,
-assertEquals, and assertSame.
-
-<P>
-CoreLinux++ includes the extra assertions 
-
-<P>
-
-<UL>
-<LI>REQUIRE((Boolean cond, String msg = ``Precondition failed'').
-Checks preconditions. </LI>
-<LI>ENSURE((Boolean cond, String msg = ``Postcondition failed'').
-Checks post conditions. </LI>
-<LI>CHECK((Boolean cond, String msg = ``Check failed'')). Used to
-call a function and to check that the return value is as expected.
-i.e. CHECK((fread(in, buf, 10) != -1)). Very similar to ASSERT, but
-the function still gets called in a release build. </LI>
-<LI>FORALL and EXISTS. Used to check conditions within part of the code.
-For example, can be used to check that a list is still sorted inside
-each loop of a sort routine. </LI>
-</UL>
-All of FAIL, ASSERT, REQUIRE, ENSURE, and CHECK shall be available.
-
-<P>
-
-<H2><A NAME="SECTION00044000000000000000">
-Meta data</A>
-</H2>
-
-<P>
-PENDING: It's not really meta data.
-
-<P>
-Meta data includes permutation information, exception information,
-and permutation exceptions.
-
-<P>
-Meta data shall be global to the file. Meta data names consist of
-the lower case alphanumerics. Test case specific meta data (fields)
-shall be stored in a comment block at the start of the file. This
-is only due to style.
-
-<P>
-A field definition shall consist of 
-
-<P>
-
-<UL>
-<LI>The field name </LI>
-<LI>A colon. </LI>
-<LI>A comma separated list of values. </LI>
-</UL>
-The values shall be stripped of leading and trailing white space.
-
-<P>
-Permutation exceptions are by port only. Exceptions to a field are
-specified by a modified field definition. An exception definition
-consists of
-
-<P>
-
-<UL>
-<LI>The field name. </LI>
-<LI>An opening square bracket. </LI>
-<LI>A comma separated list of ports the exception applies for. </LI>
-<LI>A closing square bracket. </LI>
-<LI>A colon. </LI>
-<LI>The values to use for this field for these ports. </LI>
-</UL>
-An instance of the test case shall be generated for each permutation
-of the test case specific meta data fields.
-
-<P>
-The runtime meta fields are 
-
-<P>
-
-<UL>
-<LI>port - The port this test is running on. </LI>
-<LI>testcase - The name of this test case. </LI>
-<LI>function - The name of the current function. </LI>
-</UL>
-Most of the runtime fields are not very usable. They are there for
-completeness.
-
-<P>
-Meta fields may be accessed inside the test case by enclosing them
-in curly brackets. The curly brackets will be interpreted anywhere
-inside the test case, including inside quoted strings. Field names
-that are not recognised will be passed through including the brackets.
-Note that it is therefore impossible to use some strings within the
-test case.
-
-<P>
-Test case function names should include the permuted fields in the
-name to reduce name collisions.
-
-<P>
-
-<H2><A NAME="SECTION00045000000000000000">
-An example</A>
-</H2>
-
-<P>
-I don't know how to do pre-formatted text in L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X . Sigh.
-
-<P>
-The following code generates a simple increment test for all combinations
-of the storage classes and all combinations of the data sizes. This
-is a bad example as the optimiser will often remove most of this code.
-
-<P>
-<TT>/** Test for increment. </TT>
-
-<P>
-<TT>type: char, int, long</TT>
-
-<P>
-<TT>Z80 port does not fully support longs (4 byte)</TT>
-
-<P>
-<TT>type[z80]: char, int</TT>
-
-<P>
-<TT>class: ``'', register, static */</TT>
-
-<P>
-<TT>static void</TT>
-
-<P>
-<TT>testInc{class}{types}(void)</TT>
-
-<P>
-<TT>{</TT>
-
-<P>
-<TT>{class} {type} i = 0; </TT>
-
-<P>
-<TT>i = i + 1;</TT>
-
-<P>
-<TT>ASSERT((i == 1));</TT>
-
-<P>
-<TT>}</TT>
-
-<H1><A NAME="SECTION00050000000000000000">
-About this document ...</A>
-</H1>
- <STRONG>Proposed Test Suite Design</STRONG><P>
-This document was generated using the
-<A HREF="http://www-dsed.llnl.gov/files/programs/unix/latex2html/manual/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 99.1 release (March 30, 1999)
-<P>
-Copyright &#169; 1993, 1994, 1995, 1996,
-<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>, 
-Computer Based Learning Unit, University of Leeds.
-<BR>
-Copyright &#169; 1997, 1998, 1999,
-<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>, 
-Mathematics Department, Macquarie University, Sydney.
-<P>
-The command line arguments were: <BR>
- <STRONG>latex2html</STRONG> <TT>-split 0 -dir test_suite_spec.html test_suite_spec</TT>
-<P>
-The translation was initiated by Johan Knol on 2001-07-13<HR>
-<!--Navigation Panel-->
-<IMG WIDTH="81" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next_group" SRC="next_group_motif_gr.gif"> 
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif_gr.gif"> 
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif_gr.gif">   
-<BR>
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/test_suite_spec.html/next_group_motif_gr.gif b/doc/test_suite_spec.html/next_group_motif_gr.gif
deleted file mode 100644 (file)
index a5888d7..0000000
Binary files a/doc/test_suite_spec.html/next_group_motif_gr.gif and /dev/null differ
diff --git a/doc/test_suite_spec.html/previous_motif_gr.gif b/doc/test_suite_spec.html/previous_motif_gr.gif
deleted file mode 100644 (file)
index d5398b3..0000000
Binary files a/doc/test_suite_spec.html/previous_motif_gr.gif and /dev/null differ
diff --git a/doc/test_suite_spec.html/test_suite_spec.html b/doc/test_suite_spec.html/test_suite_spec.html
deleted file mode 100644 (file)
index e4309cf..0000000
+++ /dev/null
@@ -1,478 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Proposed Test Suite Design</TITLE>
-<META NAME="description" CONTENT="Proposed Test Suite Design">
-<META NAME="keywords" CONTENT="test_suite_spec">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="test_suite_spec.css">
-
-</HEAD>
-
-<BODY >
-<!--Navigation Panel-->
-<IMG WIDTH="81" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next_group" SRC="next_group_motif_gr.gif"> 
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif_gr.gif"> 
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif_gr.gif">   
-<BR>
-<BR>
-<BR>
-<!--End of Navigation Panel-->
-
-<P>
-
-<P>
-
-<P>
-
-<P>
-<H1 ALIGN="CENTER">Proposed Test Suite Design</H1>
-<P ALIGN="CENTER"><STRONG>Michael Hope (michaelh@juju.net.nz)</STRONG></P>
-<P ALIGN="CENTER"><STRONG>13 July 2001</STRONG></P>
-
-<H3>Abstract:</H3>
-<DIV>
-This article describes the goals, requirements, and suggested specification
-for a test suite for the output of the Small Device C Compiler (sdcc).
-Also included is a short list of existing works. 
-</DIV>
-<P>
-
-<P>
-
-<H1><A NAME="SECTION00010000000000000000">
-Goals</A>
-</H1>
-
-<P>
-The main goals of a test suite for sdcc are 
-
-<P>
-
-<OL>
-<LI>To allow developers to run regression tests to check that core changes
-do not break any of the many ports. </LI>
-<LI>To verify the core. </LI>
-<LI>To allow developers to verify individual ports. </LI>
-<LI>To allow developers to test port changes. </LI>
-</OL>
-This design only covers the generated code. It does not cover a test/unit
-test framework for the sdcc application itself, which may be useful.
-
-<P>
-One side effect of (1) is that it requires that the individual ports
-pass the tests originally. This may be too hard. See the section on
-Exceptions below.
-
-<P>
-
-<H1><A NAME="SECTION00020000000000000000">
-Requirements</A>
-</H1>
-
-<P>
-
-<H2><A NAME="SECTION00021000000000000000">
-Coverage</A>
-</H2>
-
-<P>
-The suite is intended to cover language features only. Hardware specific
-libraries are explicitly not covered.
-
-<P>
-
-<H2><A NAME="SECTION00022000000000000000">
-Permutations</A>
-</H2>
-
-<P>
-The ports often generate different code for handling different types
-(Byte, Word, DWord, and the signed forms). Meta information could
-be used to permute the different test cases across the different types.
-
-<P>
-
-<H2><A NAME="SECTION00023000000000000000">
-Exceptions</A>
-</H2>
-
-<P>
-The different ports are all at different levels of development. Test
-cases must be able to be disabled on a per port basis. Permutations
-also must be able to be disabled on a port level for unsupported cases.
-Disabling, as opposed to enabling, on a per port basis seems more
-maintainable.
-
-<P>
-
-<H2><A NAME="SECTION00024000000000000000">
-Running</A>
-</H2>
-
-<P>
-The tests must be able to run unaided. The test suite must run on
-all platforms that sdcc runs on. A good minimum may be a subset of
-Unix command set and common tools, provided by default on a Unix host
-and provided through cygwin on a Windows host.
-
-<P>
-The tests suits should be able to be sub-divided, so that the failing
-or interesting tests may be run separately.
-
-<P>
-
-<H2><A NAME="SECTION00025000000000000000">
-Artifcats</A>
-</H2>
-
-<P>
-The test code within the test cases should not generate artifacts.
-An artifact occurs when the test code itself interferes with the test
-and generates an erroneous result.
-
-<P>
-
-<H2><A NAME="SECTION00026000000000000000">
-Emulators</A>
-</H2>
-
-<P>
-sdcc is a cross compiling compiler. As such, an emulator is needed
-for each port to run the tests.
-
-<P>
-
-<H1><A NAME="SECTION00030000000000000000">
-Existing works</A>
-</H1>
-
-<P>
-
-<H2><A NAME="SECTION00031000000000000000">
-DejaGnu</A>
-</H2>
-
-<P>
-DejaGnu is a toolkit written in Expect designed to test an interactive
-program. It provides a way of specifying an interface to the program,
-and given that interface a way of stimulating the program and interpreting
-the results. It was originally written by Cygnus Solutions for running
-against development boards. I believe the gcc test suite is written
-against DejaGnu, perhaps partly to test the Cygnus ports of gcc on
-target systems.
-
-<P>
-
-<H2><A NAME="SECTION00032000000000000000">
-gcc test suite</A>
-</H2>
-
-<P>
-I don't know much about the gcc test suite. It was recently removed
-from the gcc distribution due to issues with copyright ownership.
-The code I saw from older distributions seemed more concerned with
-esoteric features of the language.
-
-<P>
-
-<H2><A NAME="SECTION00033000000000000000">
-xUnit</A>
-</H2>
-
-<P>
-The xUnit family, in particular JUnit, is a library of in test assertions,
-test wrappers, and test suite wrappers designed mainly for unit testing.
-PENDING: More.
-
-<P>
-
-<H2><A NAME="SECTION00034000000000000000">
-CoreLinux++ Assertion framework</A>
-</H2>
-
-<P>
-While not a test suite system, the assertion framework is an interesting
-model for the types of assertions that could be used. They include
-pre-condition, post-condition, invariants, conditional assertions,
-unconditional assertions, and methods for checking conditions.
-
-<P>
-
-<H1><A NAME="SECTION00040000000000000000">
-Specification</A>
-</H1>
-
-<P>
-This specification borrows from the JUnit style of unit testing and
-the CoreLinux++ style of assertions. The emphasis is on maintainability
-and ease of writing the test cases.
-
-<P>
-
-<H2><A NAME="SECTION00041000000000000000">
-Terms</A>
-</H2>
-
-<P>
-PENDING: Align these terms with the rest of the world.
-
-<P>
-
-<UL>
-<LI>An <I>assertion</I> is a statement of how things should be. PENDING:
-Better description, an example. </LI>
-<LI>A <I>test point</I> is the smallest unit of a test suite, and consists
-of a single assertion that passes if the test passes. </LI>
-<LI>A <I>test case</I> is a set of test points that test a certain feature. </LI>
-<LI>A <I>test suite</I> is a set of test cases that test a certain set
-of features. </LI>
-</UL>
-
-<P>
-
-<H2><A NAME="SECTION00042000000000000000">
-Test cases</A>
-</H2>
-
-<P>
-Test cases shall be contained in their own C file, along with the
-meta data on the test. Test cases shall be contained within functions
-whose names start with 'test' and which are descriptive of the test
-case. Any function that starts with 'test' will be automatically run
-in the test suite.
-
-<P>
-To make the automatic code generation easier, the C code shall have
-this format 
-
-<P>
-
-<UL>
-<LI>Test functions shall start with 'test' to allow automatic detection. </LI>
-<LI>Test functions shall follow the K&amp;R intention style for ease of detection.
-i.e. the function name shall start in the left column on a new line
-below the return specification. </LI>
-</UL>
-
-<P>
-
-<H2><A NAME="SECTION00043000000000000000">
-Assertions</A>
-</H2>
-
-<P>
-All assertions shall log the line number, function name, and test
-case file when they fail. Most assertions can have a more descriptive
-message attached to them. Assertions will be implemented through macros
-to get at the line information. This may cause trouble with artifacts.
-
-<P>
-The following definitions use C++ style default arguments where optional
-messages may be inserted. All assertions use double opening and closing
-brackets in the macros to allow them to be compiled out without any
-side effects. While this is not required for a test suite, they are
-there in case any of this code is incorporated into the main product.
-
-<P>
-Borrowing from JUnit, the assertions shall include 
-
-<P>
-
-<UL>
-<LI>FAIL((String msg = ``Failed'')). Used when execution should not
-get here. </LI>
-<LI>ASSERT((Boolean cond, String msg = ``Assertion failed''). Fails
-if cond is false. Parent to REQUIRE and ENSURE. </LI>
-</UL>
-JUnit also includes may sub-cases of ASSERT, such as assertNotNull,
-assertEquals, and assertSame.
-
-<P>
-CoreLinux++ includes the extra assertions 
-
-<P>
-
-<UL>
-<LI>REQUIRE((Boolean cond, String msg = ``Precondition failed'').
-Checks preconditions. </LI>
-<LI>ENSURE((Boolean cond, String msg = ``Postcondition failed'').
-Checks post conditions. </LI>
-<LI>CHECK((Boolean cond, String msg = ``Check failed'')). Used to
-call a function and to check that the return value is as expected.
-i.e. CHECK((fread(in, buf, 10) != -1)). Very similar to ASSERT, but
-the function still gets called in a release build. </LI>
-<LI>FORALL and EXISTS. Used to check conditions within part of the code.
-For example, can be used to check that a list is still sorted inside
-each loop of a sort routine. </LI>
-</UL>
-All of FAIL, ASSERT, REQUIRE, ENSURE, and CHECK shall be available.
-
-<P>
-
-<H2><A NAME="SECTION00044000000000000000">
-Meta data</A>
-</H2>
-
-<P>
-PENDING: It's not really meta data.
-
-<P>
-Meta data includes permutation information, exception information,
-and permutation exceptions.
-
-<P>
-Meta data shall be global to the file. Meta data names consist of
-the lower case alphanumerics. Test case specific meta data (fields)
-shall be stored in a comment block at the start of the file. This
-is only due to style.
-
-<P>
-A field definition shall consist of 
-
-<P>
-
-<UL>
-<LI>The field name </LI>
-<LI>A colon. </LI>
-<LI>A comma separated list of values. </LI>
-</UL>
-The values shall be stripped of leading and trailing white space.
-
-<P>
-Permutation exceptions are by port only. Exceptions to a field are
-specified by a modified field definition. An exception definition
-consists of
-
-<P>
-
-<UL>
-<LI>The field name. </LI>
-<LI>An opening square bracket. </LI>
-<LI>A comma separated list of ports the exception applies for. </LI>
-<LI>A closing square bracket. </LI>
-<LI>A colon. </LI>
-<LI>The values to use for this field for these ports. </LI>
-</UL>
-An instance of the test case shall be generated for each permutation
-of the test case specific meta data fields.
-
-<P>
-The runtime meta fields are 
-
-<P>
-
-<UL>
-<LI>port - The port this test is running on. </LI>
-<LI>testcase - The name of this test case. </LI>
-<LI>function - The name of the current function. </LI>
-</UL>
-Most of the runtime fields are not very usable. They are there for
-completeness.
-
-<P>
-Meta fields may be accessed inside the test case by enclosing them
-in curly brackets. The curly brackets will be interpreted anywhere
-inside the test case, including inside quoted strings. Field names
-that are not recognised will be passed through including the brackets.
-Note that it is therefore impossible to use some strings within the
-test case.
-
-<P>
-Test case function names should include the permuted fields in the
-name to reduce name collisions.
-
-<P>
-
-<H2><A NAME="SECTION00045000000000000000">
-An example</A>
-</H2>
-
-<P>
-I don't know how to do pre-formatted text in L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X . Sigh.
-
-<P>
-The following code generates a simple increment test for all combinations
-of the storage classes and all combinations of the data sizes. This
-is a bad example as the optimiser will often remove most of this code.
-
-<P>
-<TT>/** Test for increment. </TT>
-
-<P>
-<TT>type: char, int, long</TT>
-
-<P>
-<TT>Z80 port does not fully support longs (4 byte)</TT>
-
-<P>
-<TT>type[z80]: char, int</TT>
-
-<P>
-<TT>class: ``'', register, static */</TT>
-
-<P>
-<TT>static void</TT>
-
-<P>
-<TT>testInc{class}{types}(void)</TT>
-
-<P>
-<TT>{</TT>
-
-<P>
-<TT>{class} {type} i = 0; </TT>
-
-<P>
-<TT>i = i + 1;</TT>
-
-<P>
-<TT>ASSERT((i == 1));</TT>
-
-<P>
-<TT>}</TT>
-
-<H1><A NAME="SECTION00050000000000000000">
-About this document ...</A>
-</H1>
- <STRONG>Proposed Test Suite Design</STRONG><P>
-This document was generated using the
-<A HREF="http://www-dsed.llnl.gov/files/programs/unix/latex2html/manual/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 99.1 release (March 30, 1999)
-<P>
-Copyright &#169; 1993, 1994, 1995, 1996,
-<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>, 
-Computer Based Learning Unit, University of Leeds.
-<BR>
-Copyright &#169; 1997, 1998, 1999,
-<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>, 
-Mathematics Department, Macquarie University, Sydney.
-<P>
-The command line arguments were: <BR>
- <STRONG>latex2html</STRONG> <TT>-split 0 -dir test_suite_spec.html test_suite_spec</TT>
-<P>
-The translation was initiated by Johan Knol on 2001-07-13<HR>
-<!--Navigation Panel-->
-<IMG WIDTH="81" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next_group" SRC="next_group_motif_gr.gif"> 
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif_gr.gif"> 
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif_gr.gif">   
-<BR>
-<!--End of Navigation Panel-->
-<ADDRESS>
-<I>Johan Knol</I>
-<BR><I>2001-07-13</I>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/test_suite_spec.html/up_motif_gr.gif b/doc/test_suite_spec.html/up_motif_gr.gif
deleted file mode 100644 (file)
index 6aeb675..0000000
Binary files a/doc/test_suite_spec.html/up_motif_gr.gif and /dev/null differ
diff --git a/doc/test_suite_spec.pdf b/doc/test_suite_spec.pdf
deleted file mode 100644 (file)
index 4e79e98..0000000
Binary files a/doc/test_suite_spec.pdf and /dev/null differ
diff --git a/doc/test_suite_spec.txt b/doc/test_suite_spec.txt
deleted file mode 100644 (file)
index 47bf496..0000000
+++ /dev/null
@@ -1,298 +0,0 @@
-
-
-Proposed Test Suite Design
-
-Michael Hope (michaelh@juju.net.nz)
-
-
-
-Abstract
-
-This article describes the goals, requirements, and suggested
-specification for a test suite for the output of the Small
-Device C Compiler (sdcc). Also included is a short list
-of existing works. 
-
- Goals
-
-The main goals of a test suite for sdcc are 
-
- To allow developers to run regression tests to check that
-  core changes do not break any of the many ports. 
-
- To verify the core. 
-
- To allow developers to verify individual ports. 
-
- To allow developers to test port changes. 
-
-This design only covers the generated code. It does not cover
-a test/unit test framework for the sdcc application itself,
-which may be useful.
-
-One side effect of (1) is that it requires that the individual
-ports pass the tests originally. This may be too hard. See
-the section on Exceptions below.
-
- Requirements
-
- Coverage
-
-The suite is intended to cover language features only. Hardware
-specific libraries are explicitly not covered.
-
- Permutations
-
-The ports often generate different code for handling different
-types (Byte, Word, DWord, and the signed forms). Meta information
-could be used to permute the different test cases across
-the different types.
-
- Exceptions
-
-The different ports are all at different levels of development.
-Test cases must be able to be disabled on a per port basis.
-Permutations also must be able to be disabled on a port
-level for unsupported cases. Disabling, as opposed to enabling,
-on a per port basis seems more maintainable.
-
- Running
-
-The tests must be able to run unaided. The test suite must
-run on all platforms that sdcc runs on. A good minimum may
-be a subset of Unix command set and common tools, provided
-by default on a Unix host and provided through cygwin on
-a Windows host.
-
-The tests suits should be able to be sub-divided, so that
-the failing or interesting tests may be run separately.
-
- Artifcats
-
-The test code within the test cases should not generate artifacts.
-An artifact occurs when the test code itself interferes
-with the test and generates an erroneous result.
-
- Emulators
-
-sdcc is a cross compiling compiler. As such, an emulator
-is needed for each port to run the tests.
-
- Existing works
-
- DejaGnu
-
-DejaGnu is a toolkit written in Expect designed to test an
-interactive program. It provides a way of specifying an
-interface to the program, and given that interface a way
-of stimulating the program and interpreting the results.
-It was originally written by Cygnus Solutions for running
-against development boards. I believe the gcc test suite
-is written against DejaGnu, perhaps partly to test the Cygnus
-ports of gcc on target systems.
-
- gcc test suite
-
-I don't know much about the gcc test suite. It was recently
-removed from the gcc distribution due to issues with copyright
-ownership. The code I saw from older distributions seemed
-more concerned with esoteric features of the language.
-
- xUnit
-
-The xUnit family, in particular JUnit, is a library of in
-test assertions, test wrappers, and test suite wrappers
-designed mainly for unit testing. PENDING: More.
-
- CoreLinux++ Assertion framework
-
-While not a test suite system, the assertion framework is
-an interesting model for the types of assertions that could
-be used. They include pre-condition, post-condition, invariants,
-conditional assertions, unconditional assertions, and methods
-for checking conditions.
-
- Specification
-
-This specification borrows from the JUnit style of unit testing
-and the CoreLinux++ style of assertions. The emphasis is
-on maintainability and ease of writing the test cases.
-
- Terms
-
-PENDING: Align these terms with the rest of the world.
-
- An assertion is a statement of how things should be. PENDING:
-  Better description, an example. 
-
- A test point is the smallest unit of a test suite, and
-  consists of a single assertion that passes if the test
-  passes. 
-
- A test case is a set of test points that test a certain
-  feature. 
-
- A test suite is a set of test cases that test a certain
-  set of features. 
-
- Test cases
-
-Test cases shall be contained in their own C file, along
-with the meta data on the test. Test cases shall be contained
-within functions whose names start with 'test' and which
-are descriptive of the test case. Any function that starts
-with 'test' will be automatically run in the test suite.
-
-To make the automatic code generation easier, the C code
-shall have this format 
-
- Test functions shall start with 'test' to allow automatic
-  detection. 
-
- Test functions shall follow the K&R intention style for
-  ease of detection. i.e. the function name shall start
-  in the left column on a new line below the return specification. 
-
- Assertions
-
-All assertions shall log the line number, function name,
-and test case file when they fail. Most assertions can have
-a more descriptive message attached to them. Assertions
-will be implemented through macros to get at the line information.
-This may cause trouble with artifacts.
-
-The following definitions use C++ style default arguments
-where optional messages may be inserted. All assertions
-use double opening and closing brackets in the macros to
-allow them to be compiled out without any side effects.
-While this is not required for a test suite, they are there
-in case any of this code is incorporated into the main product.
-
-Borrowing from JUnit, the assertions shall include 
-
- FAIL((String msg = "Failed")).
-  Used when execution should not get here. 
-
- ASSERT((Boolean cond, String msg = "Assertion
-  failed"). Fails if cond is false. Parent to REQUIRE
-  and ENSURE. 
-
-JUnit also includes may sub-cases of ASSERT, such as assertNotNull,
-assertEquals, and assertSame.
-
-CoreLinux++ includes the extra assertions 
-
- REQUIRE((Boolean cond, String msg = "Precondition
-  failed"). Checks preconditions. 
-
- ENSURE((Boolean cond, String msg = "Postcondition
-  failed"). Checks post conditions. 
-
- CHECK((Boolean cond, String msg = "Check
-  failed")). Used to call a function and to check
-  that the return value is as expected. i.e. CHECK((fread(in,
-  buf, 10) != -1)). Very similar to ASSERT, but the function
-  still gets called in a release build. 
-
- FORALL and EXISTS. Used to check conditions within part
-  of the code. For example, can be used to check that a
-  list is still sorted inside each loop of a sort routine. 
-
-All of FAIL, ASSERT, REQUIRE, ENSURE, and CHECK shall be
-available.
-
- Meta data
-
-PENDING: It's not really meta data.
-
-Meta data includes permutation information, exception information,
-and permutation exceptions.
-
-Meta data shall be global to the file. Meta data names consist
-of the lower case alphanumerics. Test case specific meta
-data (fields) shall be stored in a comment block at the
-start of the file. This is only due to style.
-
-A field definition shall consist of 
-
- The field name 
-
- A colon. 
-
- A comma separated list of values. 
-
-The values shall be stripped of leading and trailing white
-space.
-
-Permutation exceptions are by port only. Exceptions to a
-field are specified by a modified field definition. An exception
-definition consists of
-
- The field name. 
-
- An opening square bracket. 
-
- A comma separated list of ports the exception applies for. 
-
- A closing square bracket. 
-
- A colon. 
-
- The values to use for this field for these ports. 
-
-An instance of the test case shall be generated for each
-permutation of the test case specific meta data fields.
-
-The runtime meta fields are 
-
- port - The port this test is running on. 
-
- testcase - The name of this test case. 
-
- function - The name of the current function. 
-
-Most of the runtime fields are not very usable. They are
-there for completeness.
-
-Meta fields may be accessed inside the test case by enclosing
-them in curly brackets. The curly brackets will be interpreted
-anywhere inside the test case, including inside quoted strings.
-Field names that are not recognised will be passed through
-including the brackets. Note that it is therefore impossible
-to use some strings within the test case.
-
-Test case function names should include the permuted fields
-in the name to reduce name collisions.
-
- An example
-
-I don't know how to do pre-formatted text in LaTeX. Sigh.
-
-The following code generates a simple increment test for
-all combinations of the storage classes and all combinations
-of the data sizes. This is a bad example as the optimiser
-will often remove most of this code.
-
-/** Test for increment. 
-
-type: char, int, long
-
-Z80 port does not fully support longs (4 byte)
-
-type[z80]: char, int
-
-class: "", register, static */
-
-static void
-
-testInc{class}{types}(void)
-
-{
-
-{class} {type} i = 0; 
-
-i = i + 1;
-
-ASSERT((i == 1));
-
-}