Sophie

Sophie

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

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>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 NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

<LINK REL="STYLESHEET" HREF="sdccman.css">

<LINK REL="next" HREF="node102.html">
<LINK REL="previous" HREF="node10.html">
<LINK REL="up" HREF="sdccman.html">
<LINK REL="next" HREF="node38.html">
</HEAD>

<BODY >
<!--Navigation Panel-->
<A NAME="tex2html1132"
  HREF="node38.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html1126"
  HREF="sdccman.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html1120"
  HREF="node36.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html1128"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> 
<A NAME="tex2html1130"
  HREF="node191.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A> 
<BR>
<B> Next:</B> <A NAME="tex2html1133"
  HREF="node38.html">3.1 Compiling</A>
<B> Up:</B> <A NAME="tex2html1127"
  HREF="sdccman.html">SDCC Compiler User Guide</A>
<B> Previous:</B> <A NAME="tex2html1121"
  HREF="node36.html">2.9.5 sdcdb - Source</A>
 &nbsp; <B>  <A NAME="tex2html1129"
  HREF="node1.html">Contents</A></B> 
 &nbsp; <B>  <A NAME="tex2html1131"
  HREF="node191.html">Index</A></B> 
<BR>
<BR>
<!--End of Navigation Panel-->

<H1><A NAME="SECTION00400000000000000000">
3. Using SDCC</A>
</H1>

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

<UL>
<LI><A NAME="tex2html1134"
  HREF="node38.html">3.1 Compiling</A>
<UL>
<LI><A NAME="tex2html1135"
  HREF="node39.html">3.1.1 Single Source File Projects</A>
<LI><A NAME="tex2html1136"
  HREF="node40.html">3.1.2 Postprocessing the Intel Hex file</A>
<LI><A NAME="tex2html1137"
  HREF="node41.html">3.1.3 Projects with Multiple Source Files</A>
<LI><A NAME="tex2html1138"
  HREF="node42.html">3.1.4 Projects with Additional Libraries</A>
<LI><A NAME="tex2html1139"
  HREF="node43.html">3.1.5 Using sdcclib to Create and Manage Libraries</A>
<LI><A NAME="tex2html1140"
  HREF="node44.html">3.1.6 Using ar to Create and Manage Libraries</A>
</UL>
<BR>
<LI><A NAME="tex2html1141"
  HREF="node45.html">3.2 Command Line Options</A>
<UL>
<LI><A NAME="tex2html1142"
  HREF="node46.html">3.2.1 Processor Selection Options</A>
<LI><A NAME="tex2html1143"
  HREF="node47.html">3.2.2 Preprocessor Options</A>
<LI><A NAME="tex2html1144"
  HREF="node48.html">3.2.3 Linker Options</A>
<LI><A NAME="tex2html1145"
  HREF="node49.html">3.2.4 MCS51 Options</A>
<LI><A NAME="tex2html1146"
  HREF="node50.html">3.2.5 DS390 / DS400 Options</A>
<LI><A NAME="tex2html1147"
  HREF="node51.html">3.2.6 Z80 Options</A>
<LI><A NAME="tex2html1148"
  HREF="node52.html">3.2.7 GBZ80 Options</A>
<LI><A NAME="tex2html1149"
  HREF="node53.html">3.2.8 Optimization Options</A>
<LI><A NAME="tex2html1150"
  HREF="node54.html">3.2.9 Other Options</A>
<LI><A NAME="tex2html1151"
  HREF="node55.html">3.2.10 Intermediate Dump Options</A>
<LI><A NAME="tex2html1152"
  HREF="node56.html">3.2.11 Redirecting output on Windows Shells</A>
</UL>
<BR>
<LI><A NAME="tex2html1153"
  HREF="node57.html">3.3 Environment variables</A>
<LI><A NAME="tex2html1154"
  HREF="node58.html">3.4 Storage Class Language Extensions</A>
<UL>
<LI><A NAME="tex2html1155"
  HREF="node59.html">3.4.1 MCS51/DS390 Storage Class Language Extensions</A>
<UL>
<LI><A NAME="tex2html1156"
  HREF="node59.html#SECTION00441100000000000000">3.4.1.1 data
/ near</A>
<LI><A NAME="tex2html1157"
  HREF="node59.html#SECTION00441200000000000000">3.4.1.2 xdata
/ far</A>
<LI><A NAME="tex2html1158"
  HREF="node59.html#SECTION00441300000000000000">3.4.1.3 idata</A>
<LI><A NAME="tex2html1159"
  HREF="node59.html#SECTION00441400000000000000">3.4.1.4 pdata</A>
<LI><A NAME="tex2html1160"
  HREF="node59.html#SECTION00441500000000000000">3.4.1.5 code</A>
<LI><A NAME="tex2html1161"
  HREF="node59.html#SECTION00441600000000000000">3.4.1.6 bit</A>
<LI><A NAME="tex2html1162"
  HREF="node59.html#SECTION00441700000000000000">3.4.1.7 sfr / sfr16
/ sfr32 / sbit</A>
<LI><A NAME="tex2html1163"
  HREF="node59.html#SECTION00441800000000000000">3.4.1.8 Pointers to MCS51/DS390 specific memory spaces</A>
<LI><A NAME="tex2html1164"
  HREF="node59.html#SECTION00441900000000000000">3.4.1.9 Notes on MCS51 memory layout</A>
</UL>
<LI><A NAME="tex2html1165"
  HREF="node60.html">3.4.2 Z80/Z180 Storage Class Language Extensions</A>
<UL>
<LI><A NAME="tex2html1166"
  HREF="node60.html#SECTION00442100000000000000">3.4.2.1 sfr (in/out to 8-bit addresses)</A>
<LI><A NAME="tex2html1167"
  HREF="node60.html#SECTION00442200000000000000">3.4.2.2 banked sfr (in/out to 16-bit addresses)</A>
<LI><A NAME="tex2html1168"
  HREF="node60.html#SECTION00442300000000000000">3.4.2.3 sfr (in0/out0 to 8 bit addresses
on Z180/HD64180)</A>
</UL>
<LI><A NAME="tex2html1169"
  HREF="node61.html">3.4.3 HC08 Storage Class Language Extensions</A>
<UL>
<LI><A NAME="tex2html1170"
  HREF="node61.html#SECTION00443100000000000000">3.4.3.1 data </A>
<LI><A NAME="tex2html1171"
  HREF="node61.html#SECTION00443200000000000000">3.4.3.2 xdata </A>
</UL>
</UL>
<BR>
<LI><A NAME="tex2html1172"
  HREF="node62.html">3.5 Other SDCC language extensions</A>
<UL>
<LI><A NAME="tex2html1173"
  HREF="node63.html">3.5.1 Binary constants</A>
</UL>
<BR>
<LI><A NAME="tex2html1174"
  HREF="node64.html">3.6 Absolute Addressing</A>
<LI><A NAME="tex2html1175"
  HREF="node65.html">3.7 Parameters &amp; Local
Variables</A>
<LI><A NAME="tex2html1176"
  HREF="node66.html">3.8 Overlaying</A>
<LI><A NAME="tex2html1177"
  HREF="node67.html">3.9 Interrupt Service Routines</A>
<UL>
<LI><A NAME="tex2html1178"
  HREF="node68.html">3.9.1 General Information</A>
<UL>
<LI><A NAME="tex2html1179"
  HREF="node68.html#SECTION00491100000000000000">3.9.1.1 Common interrupt pitfall:
variable not declared <I>volatile</I></A>
<LI><A NAME="tex2html1180"
  HREF="node68.html#SECTION00491200000000000000">3.9.1.2 Common interrupt
pitfall: <I>non-atomic access</I></A>
<LI><A NAME="tex2html1181"
  HREF="node68.html#SECTION00491300000000000000">3.9.1.3 Common interrupt
pitfall: <I>stack overflow</I></A>
<LI><A NAME="tex2html1182"
  HREF="node68.html#SECTION00491400000000000000">3.9.1.4 Common interrupt
pitfall: <I>use of non-reentrant functions</I></A>
</UL>
<LI><A NAME="tex2html1183"
  HREF="node69.html">3.9.2 MCS51/DS390 Interrupt Service Routines</A>
<LI><A NAME="tex2html1184"
  HREF="node70.html">3.9.3 HC08 Interrupt Service Routines</A>
<LI><A NAME="tex2html1185"
  HREF="node71.html">3.9.4 Z80 Interrupt Service Routines</A>
</UL>
<BR>
<LI><A NAME="tex2html1186"
  HREF="node72.html">3.10 Enabling and Disabling Interrupts</A>
<UL>
<LI><A NAME="tex2html1187"
  HREF="node73.html">3.10.1 Critical Functions and Critical Statements</A>
<LI><A NAME="tex2html1188"
  HREF="node74.html">3.10.2 Enabling and Disabling Interrupts directly</A>
<LI><A NAME="tex2html1189"
  HREF="node75.html">3.10.3 Semaphore locking (mcs51/ds390)</A>
</UL>
<BR>
<LI><A NAME="tex2html1190"
  HREF="node76.html">3.11 Functions using private register banks(mcs51/ds390)</A>
<LI><A NAME="tex2html1191"
  HREF="node77.html">3.12 Startup Code</A>
<UL>
<LI><A NAME="tex2html1192"
  HREF="node78.html">3.12.1 MCS51/DS390 Startup Code</A>
<LI><A NAME="tex2html1193"
  HREF="node79.html">3.12.2 HC08 Startup Code</A>
<LI><A NAME="tex2html1194"
  HREF="node80.html">3.12.3 Z80 Startup Code</A>
</UL>
<BR>
<LI><A NAME="tex2html1195"
  HREF="node81.html">3.13 Inline Assembler Code</A>
<UL>
<LI><A NAME="tex2html1196"
  HREF="node82.html">3.13.1 A Step by Step Introduction</A>
<LI><A NAME="tex2html1197"
  HREF="node83.html">3.13.2 Naked Functions</A>
<LI><A NAME="tex2html1198"
  HREF="node84.html">3.13.3 Use of Labels within Inline Assembler</A>
</UL>
<BR>
<LI><A NAME="tex2html1199"
  HREF="node85.html">3.14 Interfacing with Assembler Code</A>
<UL>
<LI><A NAME="tex2html1200"
  HREF="node86.html">3.14.1 Global Registers used for Parameter Passing</A>
<LI><A NAME="tex2html1201"
  HREF="node87.html">3.14.2 Registers usage</A>
<LI><A NAME="tex2html1202"
  HREF="node88.html">3.14.3 Assembler Routine (non-reentrant)</A>
<LI><A NAME="tex2html1203"
  HREF="node89.html">3.14.4 Assembler Routine (reentrant)</A>
</UL>
<BR>
<LI><A NAME="tex2html1204"
  HREF="node90.html">3.15 int (16 bit) and long (32 bit)
Support</A>
<LI><A NAME="tex2html1205"
  HREF="node91.html">3.16 Floating Point Support</A>
<LI><A NAME="tex2html1206"
  HREF="node92.html">3.17 Library Routines</A>
<UL>
<LI><A NAME="tex2html1207"
  HREF="node93.html">3.17.1 Compiler support routines (_gptrget, _mulint etc.)</A>
<LI><A NAME="tex2html1208"
  HREF="node94.html">3.17.2 Stdclib functions (puts, printf, strcat etc.)</A>
<UL>
<LI><A NAME="tex2html1209"
  HREF="node94.html#SECTION004172100000000000000">3.17.2.1 &lt;stdio.h&gt;</A>
<UL>
<LI><A NAME="tex2html1210"
  HREF="node94.html#SECTION004172110000000000000">3.17.2.1.1 getchar(), putchar()</A>
<LI><A NAME="tex2html1211"
  HREF="node94.html#SECTION004172120000000000000">3.17.2.1.2 printf()</A>
</UL>
<LI><A NAME="tex2html1212"
  HREF="node94.html#SECTION004172200000000000000">3.17.2.2 &lt;malloc.h&gt;</A>
</UL>
<LI><A NAME="tex2html1213"
  HREF="node95.html">3.17.3 Math functions (sinf, powf, sqrtf etc.)</A>
<UL>
<LI><A NAME="tex2html1214"
  HREF="node95.html#SECTION004173100000000000000">3.17.3.1 &lt;math.h&gt;</A>
</UL>
<LI><A NAME="tex2html1215"
  HREF="node96.html">3.17.4 Other libraries</A>
</UL>
<BR>
<LI><A NAME="tex2html1216"
  HREF="node97.html">3.18 Memory Models</A>
<UL>
<LI><A NAME="tex2html1217"
  HREF="node98.html">3.18.1 MCS51 Memory Models</A>
<UL>
<LI><A NAME="tex2html1218"
  HREF="node98.html#SECTION004181100000000000000">3.18.1.1 Small, Medium, Large and Huge</A>
<LI><A NAME="tex2html1219"
  HREF="node98.html#SECTION004181200000000000000">3.18.1.2 External Stack</A>
</UL>
<LI><A NAME="tex2html1220"
  HREF="node99.html">3.18.2 DS390 Memory Model</A>
</UL>
<BR>
<LI><A NAME="tex2html1221"
  HREF="node100.html">3.19 Pragmas</A>
<LI><A NAME="tex2html1222"
  HREF="node101.html">3.20 Defines Created by the Compiler</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>

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