Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > e677bbbdff6d27fe001f15e0ef2bb4cc > files > 71

sdcc-3.0.0-0.fc14.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<!--Converted with LaTeX2HTML 2008 (1.71)
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 NAME="Generator" CONTENT="LaTeX2HTML v2008">
<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="tex2html138"
  HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_g.png"> 
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev_g.png"> 
<A NAME="tex2html134"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html136"
  HREF="node191.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html139"
  HREF="node1.html">Contents</A>
 &nbsp; <B>  <A NAME="tex2html135"
  HREF="node1.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html137"
  HREF="node191.html">Index</A></B> 
<BR>
<BR>
<!--End of Navigation Panel-->

<P>

<P>

<P>
<H1 ALIGN="CENTER">SDCC Compiler User Guide</H1>
<DIV>

<P ALIGN="CENTER"><STRONG>SDCC 3.0.0
<BR><FONT SIZE="-1">$Date:: 2010-10-19 #$ </FONT>
<BR><FONT SIZE="-1">$Revision: 6035 $</FONT></STRONG></P>
</DIV>

<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>

<UL>
<LI><A NAME="tex2html140"
  HREF="node1.html">Contents</A>
<LI><A NAME="tex2html141"
  HREF="node2.html">1. Introduction</A>
<UL>
<LI><A NAME="tex2html142"
  HREF="node3.html">1.1 About SDCC</A>
<LI><A NAME="tex2html143"
  HREF="node4.html">1.2 Open Source</A>
<LI><A NAME="tex2html144"
  HREF="node5.html">1.3 Typographic conventions</A>
<LI><A NAME="tex2html145"
  HREF="node6.html">1.4 Compatibility with previous
versions</A>
<LI><A NAME="tex2html146"
  HREF="node7.html">1.5 System Requirements</A>
<LI><A NAME="tex2html147"
  HREF="node8.html">1.6 Other Resources</A>
<LI><A NAME="tex2html148"
  HREF="node9.html">1.7 Wishes for the future</A>
</UL>
<BR>
<LI><A NAME="tex2html149"
  HREF="node10.html">2. Installing SDCC</A>
<UL>
<LI><A NAME="tex2html150"
  HREF="node11.html">2.1 Configure Options</A>
<LI><A NAME="tex2html151"
  HREF="node12.html">2.2 Install paths</A>
<LI><A NAME="tex2html152"
  HREF="node13.html">2.3 Search Paths</A>
<LI><A NAME="tex2html153"
  HREF="node14.html">2.4 Building SDCC</A>
<UL>
<LI><A NAME="tex2html154"
  HREF="node15.html">2.4.1 Building SDCC on Linux</A>
<LI><A NAME="tex2html155"
  HREF="node16.html">2.4.2 Building SDCC on Mac OS X</A>
<LI><A NAME="tex2html156"
  HREF="node17.html">2.4.3 Cross compiling SDCC on Linux for Windows</A>
<LI><A NAME="tex2html157"
  HREF="node18.html">2.4.4 Building SDCC using Cygwin and Mingw32</A>
<LI><A NAME="tex2html158"
  HREF="node19.html">2.4.5 Building SDCC Using Microsoft Visual C++ 6.0/NET (MSVC)</A>
<LI><A NAME="tex2html159"
  HREF="node20.html">2.4.6 Windows Install Using a ZIP Package</A>
<LI><A NAME="tex2html160"
  HREF="node21.html">2.4.7 Windows Install Using the Setup Program</A>
<LI><A NAME="tex2html161"
  HREF="node22.html">2.4.8 VPATH feature</A>
</UL>
<LI><A NAME="tex2html162"
  HREF="node23.html">2.5 Building the Documentation</A>
<LI><A NAME="tex2html163"
  HREF="node24.html">2.6 Reading the Documentation</A>
<LI><A NAME="tex2html164"
  HREF="node25.html">2.7 Testing the SDCC Compiler</A>
<LI><A NAME="tex2html165"
  HREF="node26.html">2.8 Install Trouble-shooting</A>
<UL>
<LI><A NAME="tex2html166"
  HREF="node27.html">2.8.1 If SDCC does not build correctly</A>
<LI><A NAME="tex2html167"
  HREF="node28.html">2.8.2 What the ''./configure'' does</A>
<LI><A NAME="tex2html168"
  HREF="node29.html">2.8.3 What the ''make'' does</A>
<LI><A NAME="tex2html169"
  HREF="node30.html">2.8.4 What the ''make install'' command does.</A>
</UL>
<LI><A NAME="tex2html170"
  HREF="node31.html">2.9 Components of SDCC</A>
<UL>
<LI><A NAME="tex2html171"
  HREF="node32.html">2.9.1 sdcc - The Compiler</A>
<LI><A NAME="tex2html172"
  HREF="node33.html">2.9.2 sdcpp - The C-Preprocessor</A>
<LI><A NAME="tex2html173"
  HREF="node34.html">2.9.3 sdas, sdld - The Assemblers and Linkage Editors</A>
<LI><A NAME="tex2html174"
  HREF="node35.html">2.9.4 s51, sz80, shc08 - The Simulators</A>
<LI><A NAME="tex2html175"
  HREF="node36.html">2.9.5 sdcdb - Source Level Debugger</A>
</UL>
</UL>
<BR>
<LI><A NAME="tex2html176"
  HREF="node37.html">3. Using SDCC</A>
<UL>
<LI><A NAME="tex2html177"
  HREF="node38.html">3.1 Compiling</A>
<UL>
<LI><A NAME="tex2html178"
  HREF="node39.html">3.1.1 Single Source File Projects</A>
<LI><A NAME="tex2html179"
  HREF="node40.html">3.1.2 Postprocessing the Intel Hex file</A>
<LI><A NAME="tex2html180"
  HREF="node41.html">3.1.3 Projects with Multiple Source Files</A>
<LI><A NAME="tex2html181"
  HREF="node42.html">3.1.4 Projects with Additional Libraries</A>
<LI><A NAME="tex2html182"
  HREF="node43.html">3.1.5 Using sdcclib to Create and Manage Libraries</A>
<LI><A NAME="tex2html183"
  HREF="node44.html">3.1.6 Using ar to Create and Manage Libraries</A>
</UL>
<LI><A NAME="tex2html184"
  HREF="node45.html">3.2 Command Line Options</A>
<UL>
<LI><A NAME="tex2html185"
  HREF="node46.html">3.2.1 Processor Selection Options</A>
<LI><A NAME="tex2html186"
  HREF="node47.html">3.2.2 Preprocessor Options</A>
<LI><A NAME="tex2html187"
  HREF="node48.html">3.2.3 Linker Options</A>
<LI><A NAME="tex2html188"
  HREF="node49.html">3.2.4 MCS51 Options</A>
<LI><A NAME="tex2html189"
  HREF="node50.html">3.2.5 DS390 / DS400 Options</A>
<LI><A NAME="tex2html190"
  HREF="node51.html">3.2.6 Z80 Options</A>
<LI><A NAME="tex2html191"
  HREF="node52.html">3.2.7 GBZ80 Options</A>
<LI><A NAME="tex2html192"
  HREF="node53.html">3.2.8 Optimization Options</A>
<LI><A NAME="tex2html193"
  HREF="node54.html">3.2.9 Other Options</A>
<LI><A NAME="tex2html194"
  HREF="node55.html">3.2.10 Intermediate Dump Options</A>
<LI><A NAME="tex2html195"
  HREF="node56.html">3.2.11 Redirecting output on Windows Shells</A>
</UL>
<LI><A NAME="tex2html196"
  HREF="node57.html">3.3 Environment variables</A>
<LI><A NAME="tex2html197"
  HREF="node58.html">3.4 Storage Class Language Extensions</A>
<UL>
<LI><A NAME="tex2html198"
  HREF="node59.html">3.4.1 MCS51/DS390 Storage Class Language Extensions</A>
<UL>
<LI><A NAME="tex2html199"
  HREF="node59.html#SECTION00441100000000000000">3.4.1.1 data
/ near</A>
<LI><A NAME="tex2html200"
  HREF="node59.html#SECTION00441200000000000000">3.4.1.2 xdata
/ far</A>
<LI><A NAME="tex2html201"
  HREF="node59.html#SECTION00441300000000000000">3.4.1.3 idata</A>
<LI><A NAME="tex2html202"
  HREF="node59.html#SECTION00441400000000000000">3.4.1.4 pdata</A>
<LI><A NAME="tex2html203"
  HREF="node59.html#SECTION00441500000000000000">3.4.1.5 code</A>
<LI><A NAME="tex2html204"
  HREF="node59.html#SECTION00441600000000000000">3.4.1.6 bit</A>
<LI><A NAME="tex2html205"
  HREF="node59.html#SECTION00441700000000000000">3.4.1.7 sfr / sfr16
/ sfr32 / sbit</A>
<LI><A NAME="tex2html206"
  HREF="node59.html#SECTION00441800000000000000">3.4.1.8 Pointers to MCS51/DS390 specific memory spaces</A>
<LI><A NAME="tex2html207"
  HREF="node59.html#SECTION00441900000000000000">3.4.1.9 Notes on MCS51 memory layout</A>
</UL>
<LI><A NAME="tex2html208"
  HREF="node60.html">3.4.2 Z80/Z180 Storage Class Language Extensions</A>
<UL>
<LI><A NAME="tex2html209"
  HREF="node60.html#SECTION00442100000000000000">3.4.2.1 sfr (in/out to 8-bit addresses)</A>
<LI><A NAME="tex2html210"
  HREF="node60.html#SECTION00442200000000000000">3.4.2.2 banked sfr (in/out to 16-bit addresses)</A>
<LI><A NAME="tex2html211"
  HREF="node60.html#SECTION00442300000000000000">3.4.2.3 sfr (in0/out0 to 8 bit addresses
on Z180/HD64180)</A>
</UL>
<LI><A NAME="tex2html212"
  HREF="node61.html">3.4.3 HC08 Storage Class Language Extensions</A>
<UL>
<LI><A NAME="tex2html213"
  HREF="node61.html#SECTION00443100000000000000">3.4.3.1 data </A>
<LI><A NAME="tex2html214"
  HREF="node61.html#SECTION00443200000000000000">3.4.3.2 xdata </A>
</UL>
</UL>
<LI><A NAME="tex2html215"
  HREF="node62.html">3.5 Other SDCC language extensions</A>
<UL>
<LI><A NAME="tex2html216"
  HREF="node63.html">3.5.1 Binary constants</A>
</UL>
<LI><A NAME="tex2html217"
  HREF="node64.html">3.6 Absolute Addressing</A>
<LI><A NAME="tex2html218"
  HREF="node65.html">3.7 Parameters &amp; Local
Variables</A>
<LI><A NAME="tex2html219"
  HREF="node66.html">3.8 Overlaying</A>
<LI><A NAME="tex2html220"
  HREF="node67.html">3.9 Interrupt Service Routines</A>
<UL>
<LI><A NAME="tex2html221"
  HREF="node68.html">3.9.1 General Information</A>
<UL>
<LI><A NAME="tex2html222"
  HREF="node68.html#SECTION00491100000000000000">3.9.1.1 Common interrupt pitfall:
variable not declared <I>volatile</I></A>
<LI><A NAME="tex2html223"
  HREF="node68.html#SECTION00491200000000000000">3.9.1.2 Common interrupt
pitfall: <I>non-atomic access</I></A>
<LI><A NAME="tex2html224"
  HREF="node68.html#SECTION00491300000000000000">3.9.1.3 Common interrupt
pitfall: <I>stack overflow</I></A>
<LI><A NAME="tex2html225"
  HREF="node68.html#SECTION00491400000000000000">3.9.1.4 Common interrupt
pitfall: <I>use of non-reentrant functions</I></A>
</UL>
<LI><A NAME="tex2html226"
  HREF="node69.html">3.9.2 MCS51/DS390 Interrupt Service Routines</A>
<LI><A NAME="tex2html227"
  HREF="node70.html">3.9.3 HC08 Interrupt Service Routines</A>
<LI><A NAME="tex2html228"
  HREF="node71.html">3.9.4 Z80 Interrupt Service Routines</A>
</UL>
<LI><A NAME="tex2html229"
  HREF="node72.html">3.10 Enabling and Disabling Interrupts</A>
<UL>
<LI><A NAME="tex2html230"
  HREF="node73.html">3.10.1 Critical Functions and Critical Statements</A>
<LI><A NAME="tex2html231"
  HREF="node74.html">3.10.2 Enabling and Disabling Interrupts directly</A>
<LI><A NAME="tex2html232"
  HREF="node75.html">3.10.3 Semaphore locking (mcs51/ds390)</A>
</UL>
<LI><A NAME="tex2html233"
  HREF="node76.html">3.11 Functions using private register banks(mcs51/ds390)</A>
<LI><A NAME="tex2html234"
  HREF="node77.html">3.12 Startup Code</A>
<UL>
<LI><A NAME="tex2html235"
  HREF="node78.html">3.12.1 MCS51/DS390 Startup Code</A>
<LI><A NAME="tex2html236"
  HREF="node79.html">3.12.2 HC08 Startup Code</A>
<LI><A NAME="tex2html237"
  HREF="node80.html">3.12.3 Z80 Startup Code</A>
</UL>
<LI><A NAME="tex2html238"
  HREF="node81.html">3.13 Inline Assembler Code</A>
<UL>
<LI><A NAME="tex2html239"
  HREF="node82.html">3.13.1 A Step by Step Introduction</A>
<LI><A NAME="tex2html240"
  HREF="node83.html">3.13.2 Naked Functions</A>
<LI><A NAME="tex2html241"
  HREF="node84.html">3.13.3 Use of Labels within Inline Assembler</A>
</UL>
<LI><A NAME="tex2html242"
  HREF="node85.html">3.14 Interfacing with Assembler Code</A>
<UL>
<LI><A NAME="tex2html243"
  HREF="node86.html">3.14.1 Global Registers used for Parameter Passing</A>
<LI><A NAME="tex2html244"
  HREF="node87.html">3.14.2 Registers usage</A>
<LI><A NAME="tex2html245"
  HREF="node88.html">3.14.3 Assembler Routine (non-reentrant)</A>
<LI><A NAME="tex2html246"
  HREF="node89.html">3.14.4 Assembler Routine (reentrant)</A>
</UL>
<LI><A NAME="tex2html247"
  HREF="node90.html">3.15 int (16 bit) and long (32 bit)
Support</A>
<LI><A NAME="tex2html248"
  HREF="node91.html">3.16 Floating Point Support</A>
<LI><A NAME="tex2html249"
  HREF="node92.html">3.17 Library Routines</A>
<UL>
<LI><A NAME="tex2html250"
  HREF="node93.html">3.17.1 Compiler support routines (_gptrget, _mulint etc.)</A>
<LI><A NAME="tex2html251"
  HREF="node94.html">3.17.2 Stdclib functions (puts, printf, strcat etc.)</A>
<UL>
<LI><A NAME="tex2html252"
  HREF="node94.html#SECTION004172100000000000000">3.17.2.1 &lt;stdio.h&gt;</A>
<LI><A NAME="tex2html253"
  HREF="node94.html#SECTION004172200000000000000">3.17.2.2 &lt;malloc.h&gt;</A>
</UL>
<LI><A NAME="tex2html254"
  HREF="node95.html">3.17.3 Math functions (sinf, powf, sqrtf etc.)</A>
<UL>
<LI><A NAME="tex2html255"
  HREF="node95.html#SECTION004173100000000000000">3.17.3.1 &lt;math.h&gt;</A>
</UL>
<LI><A NAME="tex2html256"
  HREF="node96.html">3.17.4 Other libraries</A>
</UL>
<LI><A NAME="tex2html257"
  HREF="node97.html">3.18 Memory Models</A>
<UL>
<LI><A NAME="tex2html258"
  HREF="node98.html">3.18.1 MCS51 Memory Models</A>
<UL>
<LI><A NAME="tex2html259"
  HREF="node98.html#SECTION004181100000000000000">3.18.1.1 Small, Medium, Large and Huge</A>
<LI><A NAME="tex2html260"
  HREF="node98.html#SECTION004181200000000000000">3.18.1.2 External Stack</A>
</UL>
<LI><A NAME="tex2html261"
  HREF="node99.html">3.18.2 DS390 Memory Model</A>
</UL>
<LI><A NAME="tex2html262"
  HREF="node100.html">3.19 Pragmas</A>
<LI><A NAME="tex2html263"
  HREF="node101.html">3.20 Defines Created by the Compiler</A>
</UL>
<BR>
<LI><A NAME="tex2html264"
  HREF="node102.html">4. Notes on supported Processors</A>
<UL>
<LI><A NAME="tex2html265"
  HREF="node103.html">4.1 MCS51 variants</A>
<UL>
<LI><A NAME="tex2html266"
  HREF="node104.html">4.1.1 pdata access by SFR</A>
<LI><A NAME="tex2html267"
  HREF="node105.html">4.1.2 Other Features available by SFR</A>
<LI><A NAME="tex2html268"
  HREF="node106.html">4.1.3 Bankswitching</A>
<UL>
<LI><A NAME="tex2html269"
  HREF="node106.html#SECTION00513100000000000000">4.1.3.1 Hardware</A>
<LI><A NAME="tex2html270"
  HREF="node106.html#SECTION00513200000000000000">4.1.3.2 Software</A>
</UL>
</UL>
<LI><A NAME="tex2html271"
  HREF="node107.html">4.2 DS400 port</A>
<LI><A NAME="tex2html272"
  HREF="node108.html">4.3 The Z80 and gbz80 port</A>
<LI><A NAME="tex2html273"
  HREF="node109.html">4.4 The HC08 port</A>
<LI><A NAME="tex2html274"
  HREF="node110.html">4.5 The PIC14 port</A>
<UL>
<LI><A NAME="tex2html275"
  HREF="node111.html">4.5.1 PIC Code Pages and Memory Banks</A>
<LI><A NAME="tex2html276"
  HREF="node112.html">4.5.2 Adding New Devices to the Port </A>
<LI><A NAME="tex2html277"
  HREF="node113.html">4.5.3 Interrupt Code</A>
<LI><A NAME="tex2html278"
  HREF="node114.html">4.5.4 Linking and Assembling</A>
<LI><A NAME="tex2html279"
  HREF="node115.html">4.5.5 Command-Line Options</A>
<LI><A NAME="tex2html280"
  HREF="node116.html">4.5.6 Environment Variables</A>
<LI><A NAME="tex2html281"
  HREF="node117.html">4.5.7 The Library</A>
<UL>
<LI><A NAME="tex2html282"
  HREF="node117.html#SECTION00557100000000000000">4.5.7.1 error: missing definition for symbol ``__gptrget1''</A>
<LI><A NAME="tex2html283"
  HREF="node117.html#SECTION00557200000000000000">4.5.7.2 Processor mismatch in file ``XXX''.</A>
</UL>
<LI><A NAME="tex2html284"
  HREF="node118.html">4.5.8 Known Bugs</A>
<UL>
<LI><A NAME="tex2html285"
  HREF="node118.html#SECTION00558100000000000000">4.5.8.1 Function arguments</A>
<LI><A NAME="tex2html286"
  HREF="node118.html#SECTION00558200000000000000">4.5.8.2 Regression tests fail</A>
</UL>
</UL>
<LI><A NAME="tex2html287"
  HREF="node119.html">4.6 The PIC16 port</A>
<UL>
<LI><A NAME="tex2html288"
  HREF="node120.html">4.6.1 Global Options</A>
<LI><A NAME="tex2html289"
  HREF="node121.html">4.6.2 Port Specific Options</A>
<UL>
<LI><A NAME="tex2html290"
  HREF="node121.html#SECTION00562100000000000000">4.6.2.1 Code Generation Options</A>
<LI><A NAME="tex2html291"
  HREF="node121.html#SECTION00562200000000000000">4.6.2.2 Optimization Options</A>
<LI><A NAME="tex2html292"
  HREF="node121.html#SECTION00562300000000000000">4.6.2.3 Assembling Options</A>
<LI><A NAME="tex2html293"
  HREF="node121.html#SECTION00562400000000000000">4.6.2.4 Linking Options</A>
<LI><A NAME="tex2html294"
  HREF="node121.html#SECTION00562500000000000000">4.6.2.5 Debugging Options</A>
</UL>
<LI><A NAME="tex2html295"
  HREF="node122.html">4.6.3 Environment Variables</A>
<LI><A NAME="tex2html296"
  HREF="node123.html">4.6.4 Preprocessor Macros</A>
<LI><A NAME="tex2html297"
  HREF="node124.html">4.6.5 Directories</A>
<LI><A NAME="tex2html298"
  HREF="node125.html">4.6.6 Pragmas</A>
<LI><A NAME="tex2html299"
  HREF="node126.html">4.6.7 Header Files and Libraries</A>
<LI><A NAME="tex2html300"
  HREF="node127.html">4.6.8 Header Files</A>
<LI><A NAME="tex2html301"
  HREF="node128.html">4.6.9 Libraries</A>
<UL>
<LI><A NAME="tex2html302"
  HREF="node128.html#SECTION00569100000000000000">Building the libraries</A>
<LI><A NAME="tex2html303"
  HREF="node128.html#SECTION00569200000000000000">Output of float values via printf()</A>
</UL>
<LI><A NAME="tex2html304"
  HREF="node129.html">4.6.10 Adding New Devices to the Port</A>
<LI><A NAME="tex2html305"
  HREF="node130.html">4.6.11 Memory Models</A>
<LI><A NAME="tex2html306"
  HREF="node131.html">4.6.12 Stack</A>
<LI><A NAME="tex2html307"
  HREF="node132.html">4.6.13 Functions</A>
<LI><A NAME="tex2html308"
  HREF="node133.html">4.6.14 Function return values</A>
<LI><A NAME="tex2html309"
  HREF="node134.html">4.6.15 Interrupts</A>
<LI><A NAME="tex2html310"
  HREF="node135.html">4.6.16 Generic Pointers</A>
<LI><A NAME="tex2html311"
  HREF="node136.html">4.6.17 PIC16 C Libraries</A>
<UL>
<LI><A NAME="tex2html312"
  HREF="node136.html#SECTION005617100000000000000">4.6.17.1 Standard I/O Streams</A>
<LI><A NAME="tex2html313"
  HREF="node136.html#SECTION005617200000000000000">4.6.17.2 Printing functions</A>
<LI><A NAME="tex2html314"
  HREF="node136.html#SECTION005617300000000000000">4.6.17.3 Signals</A>
</UL>
<LI><A NAME="tex2html315"
  HREF="node137.html">4.6.18 PIC16 Port - Tips</A>
<UL>
<LI><A NAME="tex2html316"
  HREF="node137.html#SECTION005618100000000000000">4.6.18.1 Stack size</A>
</UL>
<LI><A NAME="tex2html317"
  HREF="node138.html">4.6.19 Known Bugs</A>
<UL>
<LI><A NAME="tex2html318"
  HREF="node138.html#SECTION005619100000000000000">4.6.19.1 Extended Instruction Set</A>
<LI><A NAME="tex2html319"
  HREF="node138.html#SECTION005619200000000000000">4.6.19.2 Regression Tests</A>
</UL>
</UL>
</UL>
<BR>
<LI><A NAME="tex2html320"
  HREF="node139.html">5. Debugging</A>
<UL>
<LI><A NAME="tex2html321"
  HREF="node140.html">5.1 Debugging with SDCDB </A>
<UL>
<LI><A NAME="tex2html322"
  HREF="node141.html">5.1.1 Compiling for Debugging</A>
<LI><A NAME="tex2html323"
  HREF="node142.html">5.1.2 How the Debugger Works</A>
<LI><A NAME="tex2html324"
  HREF="node143.html">5.1.3 Starting the Debugger SDCDB</A>
<LI><A NAME="tex2html325"
  HREF="node144.html">5.1.4 SDCDB Command Line Options</A>
<LI><A NAME="tex2html326"
  HREF="node145.html">5.1.5 SDCDB Debugger Commands</A>
<UL>
<LI><A NAME="tex2html327"
  HREF="node145.html#SECTION00615100000000000000">break [line | file:line | function | file:function]</A>
<LI><A NAME="tex2html328"
  HREF="node145.html#SECTION00615200000000000000">clear [line | file:line | function | file:function ]</A>
<LI><A NAME="tex2html329"
  HREF="node145.html#SECTION00615300000000000000">continue</A>
<LI><A NAME="tex2html330"
  HREF="node145.html#SECTION00615400000000000000">finish</A>
<LI><A NAME="tex2html331"
  HREF="node145.html#SECTION00615500000000000000">delete [n]</A>
<LI><A NAME="tex2html332"
  HREF="node145.html#SECTION00615600000000000000">info [break | stack | frame | registers ]</A>
<LI><A NAME="tex2html333"
  HREF="node145.html#SECTION00615700000000000000">step</A>
<LI><A NAME="tex2html334"
  HREF="node145.html#SECTION00615800000000000000">next</A>
<LI><A NAME="tex2html335"
  HREF="node145.html#SECTION00615900000000000000">run</A>
<LI><A NAME="tex2html336"
  HREF="node145.html#SECTION006151000000000000000">ptype variable </A>
<LI><A NAME="tex2html337"
  HREF="node145.html#SECTION006151100000000000000">print variable</A>
<LI><A NAME="tex2html338"
  HREF="node145.html#SECTION006151200000000000000">file filename</A>
<LI><A NAME="tex2html339"
  HREF="node145.html#SECTION006151300000000000000">frame</A>
<LI><A NAME="tex2html340"
  HREF="node145.html#SECTION006151400000000000000">set srcmode</A>
<LI><A NAME="tex2html341"
  HREF="node145.html#SECTION006151500000000000000">! simulator command</A>
<LI><A NAME="tex2html342"
  HREF="node145.html#SECTION006151600000000000000">quit</A>
</UL>
<LI><A NAME="tex2html343"
  HREF="node146.html">5.1.6 Interfacing SDCDB with DDD</A>
<LI><A NAME="tex2html344"
  HREF="node147.html">5.1.7 Interfacing SDCDB with XEmacs</A>
</UL>
</UL>
<BR>
<LI><A NAME="tex2html345"
  HREF="node148.html">6. TIPS</A>
<UL>
<LI><A NAME="tex2html346"
  HREF="node149.html">6.1 Porting code from or to other compilers</A>
<LI><A NAME="tex2html347"
  HREF="node150.html">6.2 Tools included in the distribution</A>
<LI><A NAME="tex2html348"
  HREF="node151.html">6.3 Documentation included in the distribution</A>
<LI><A NAME="tex2html349"
  HREF="node152.html">6.4 Communication online at SourceForge</A>
<LI><A NAME="tex2html350"
  HREF="node153.html">6.5 Related open source tools</A>
<LI><A NAME="tex2html351"
  HREF="node154.html">6.6 Related documentation / recommended reading</A>
<LI><A NAME="tex2html352"
  HREF="node155.html">6.7 Application notes specifically for SDCC</A>
<LI><A NAME="tex2html353"
  HREF="node156.html">6.8 Some Questions</A>
</UL>
<BR>
<LI><A NAME="tex2html354"
  HREF="node157.html">7. Support</A>
<UL>
<LI><A NAME="tex2html355"
  HREF="node158.html">7.1 Reporting Bugs</A>
<LI><A NAME="tex2html356"
  HREF="node159.html">7.2 Requesting Features</A>
<LI><A NAME="tex2html357"
  HREF="node160.html">7.3 Submitting patches</A>
<LI><A NAME="tex2html358"
  HREF="node161.html">7.4 Getting Help</A>
<LI><A NAME="tex2html359"
  HREF="node162.html">7.5 ChangeLog</A>
<LI><A NAME="tex2html360"
  HREF="node163.html">7.6 Subversion Source Code Repository</A>
<LI><A NAME="tex2html361"
  HREF="node164.html">7.7 Release policy</A>
<LI><A NAME="tex2html362"
  HREF="node165.html">7.8 Quality control</A>
<LI><A NAME="tex2html363"
  HREF="node166.html">7.9 Examples</A>
<LI><A NAME="tex2html364"
  HREF="node167.html">7.10 Use of SDCC in Education</A>
</UL>
<BR>
<LI><A NAME="tex2html365"
  HREF="node168.html">8. SDCC Technical Data</A>
<UL>
<LI><A NAME="tex2html366"
  HREF="node169.html">8.1 Optimizations</A>
<UL>
<LI><A NAME="tex2html367"
  HREF="node170.html">8.1.1 Sub-expression Elimination</A>
<LI><A NAME="tex2html368"
  HREF="node171.html">8.1.2 Dead-Code Elimination</A>
<LI><A NAME="tex2html369"
  HREF="node172.html">8.1.3 Copy-Propagation</A>
<LI><A NAME="tex2html370"
  HREF="node173.html">8.1.4 Loop Optimizations</A>
<LI><A NAME="tex2html371"
  HREF="node174.html">8.1.5 Loop Reversing</A>
<LI><A NAME="tex2html372"
  HREF="node175.html">8.1.6 Algebraic Simplifications</A>
<LI><A NAME="tex2html373"
  HREF="node176.html">8.1.7 'switch' Statements</A>
<LI><A NAME="tex2html374"
  HREF="node177.html">8.1.8 Bit-shifting Operations.</A>
<LI><A NAME="tex2html375"
  HREF="node178.html">8.1.9 Bit-rotation</A>
<LI><A NAME="tex2html376"
  HREF="node179.html">8.1.10 Nibble and Byte Swapping</A>
<LI><A NAME="tex2html377"
  HREF="node180.html">8.1.11 Highest Order Bit / Any Order Bit</A>
<LI><A NAME="tex2html378"
  HREF="node181.html">8.1.12 Higher Order Byte / Higher Order Word</A>
<LI><A NAME="tex2html379"
  HREF="node182.html">8.1.13 Peephole Optimizer</A>
</UL>
<LI><A NAME="tex2html380"
  HREF="node183.html">8.2 ANSI-Compliance</A>
<LI><A NAME="tex2html381"
  HREF="node184.html">8.3 Cyclomatic Complexity</A>
<LI><A NAME="tex2html382"
  HREF="node185.html">8.4 Retargetting for other Processors</A>
</UL>
<BR>
<LI><A NAME="tex2html383"
  HREF="node186.html">9. Compiler internals</A>
<UL>
<LI><A NAME="tex2html384"
  HREF="node187.html">9.1 The anatomy of the compiler</A>
<LI><A NAME="tex2html385"
  HREF="node188.html">9.2 A few words about basic block successors, predecessors and dominators</A>
</UL>
<BR>
<LI><A NAME="tex2html386"
  HREF="node189.html">10. Acknowledgments</A>
<UL>
<LI><A NAME="tex2html387"
  HREF="node190.html">Alphabetical index</A>
</UL>
<BR>
<LI><A NAME="tex2html388"
  HREF="node191.html">Index</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>

2011-03-20
</ADDRESS>
</BODY>
</HTML>