Sophie

Sophie

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

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>Footnotes</TITLE>
<META NAME="description" CONTENT="Footnotes">
<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="previous" HREF="node189.html">
<LINK REL="up" HREF="sdccman.html">
</HEAD>

<BODY >

<DL>
<DT><A NAME="foot88">... NAME="87"></A></A><A
 HREF="node3.html#tex2html2"><SUP>1.1</SUP></A></DT>
<DD>Obviously this has pros and cons

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot589">... not</A><A
 HREF="node24.html#tex2html14"><SUP>2.1</SUP></A></DT>
<DD>If you should know why please drop us a note

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot5494">... line</A><A
 HREF="node40.html#tex2html22"><SUP>3.1</SUP></A></DT>
<DD>the command backfills<A NAME="736"></A> unused memory
with 0x12 and the overall 16 bit sum of the complete 64 kByte block
is zero. If the program counter on an mcs51 runs wild the backfill
pattern 0x12 will be interpreted as an <TT>lcall</TT> to address <TT>0x1212</TT>
(where an emergency routine could sit).

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot5704">... documented</A><A
 HREF="node57.html#tex2html30"><SUP>3.2</SUP></A></DT>
<DD>if you are curious search in SDCC's sources for <TT>''getenv''</TT>

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot1357">...bitfields</A><A
 HREF="node59.html#tex2html31"><SUP>3.3</SUP></A></DT>
<DD>Not really meant as examples, but nevertheless showing what bitfields
are about: device/include/mc68hc908qy.h and support/regression/tests/bitfields.c

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot1828">...
anyway</A><A
 HREF="node76.html#tex2html33"><SUP>3.4</SUP></A></DT>
<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>
</DD>
<DT><A NAME="foot5828">...
-plosgff</A><A
 HREF="node78.html#tex2html35"><SUP>3.5</SUP></A></DT>
<DD>''-plosgff'' are the assembler options used in <TT><A NAME="tex2html36"
  HREF="http://sdcc.svn.sourceforge.net/viewvc/sdcc/trunk/sdcc/device/lib/mcs51/Makefile.in?view=markup ">http://sdcc.svn.sourceforge.net/viewvc/sdcc/trunk/sdcc/device/lib/mcs51/Makefile.in?view=markup </A></TT>

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot2146">...__endasm;''</A><A
 HREF="node82.html#tex2html37"><SUP>3.6</SUP></A></DT>
<DD>Note, that the single underscore form (_asm and _endasm) are not
C99 compatible, and for C99 compatibility, the double-underscore form
(__asm and __endasm) has to be used. The latter is also used in
the library functions.

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot2308">...).</A><A
 HREF="node84.html#tex2html39"><SUP>3.7</SUP></A></DT>
<DD>This is a slightly more stringent rule than absolutely necessary,
but stays always on the safe side. Labels in the form of nnnnn$ are
local labels in the assembler, locality of which is confined within
two labels of the standard form. The compiler uses the same form for
labels within a function (but starting from nnnnn=00100); and places
always a standard label at the beginning of a function, thus limiting
the locality of labels within the scope of the function. So, if the
inline assembler part would be embedded into C-code, an improperly
placed non-local label in the assembler would break up the reference
space for labels created by the compiler for the C-code, leading to
an assembling error.

<P>
The numeric part of local labels does not need to have 5 digits (although
this is the form of labels output by the compiler), any valid integer
will do. Please refer to the assemblers documentation for further
details.

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot5878">... </A><A
 HREF="node84.html#tex2html40"><SUP>3.8</SUP></A></DT>
<DD>Here, the C-label <TT>clabel</TT> is translated by the compiler into
a local label, so the locality of labels within the function is not
broken.

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot5893">... improvement</A><A
 HREF="node91.html#tex2html41"><SUP>3.9</SUP></A></DT>
<DD>These floating point routines (<I>not</I> sinf(), cosf(), ...) for
the mcs51 are implemented in assembler. 

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot2540">... \%f</A><A
 HREF="node94.html#tex2html42"><SUP>3.10</SUP></A></DT>
<DD>Range limited to +/- 4294967040, precision limited to 8 digits past
decimal

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot5906">... speed</A><A
 HREF="node94.html#tex2html43"><SUP>3.11</SUP></A></DT>
<DD>Execution time of printf(%s%c%s%c%c%c,
Hello, ' ', World,
'!', '&#92;r', '&#92;n'); standard 8051 @ 22.1184
MHz, empty putchar()

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot5907">... speed</A><A
 HREF="node94.html#tex2html44"><SUP>3.12</SUP></A></DT>
<DD>Execution time of printf(%d, -12345);
standard 8051 @ 22.1184 MHz, empty putchar()

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot2551">... ms</A><A
 HREF="node94.html#tex2html45"><SUP>3.13</SUP></A></DT>
<DD>printf_tiny integer speed is data dependent, worst case is 0.33 ms

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot5908">... speed</A><A
 HREF="node94.html#tex2html46"><SUP>3.14</SUP></A></DT>
<DD>Execution time of printf(%ld, -123456789);
standard 8051 @ 22.1184 MHz, empty putchar()

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot5909">... speed</A><A
 HREF="node94.html#tex2html47"><SUP>3.15</SUP></A></DT>
<DD>Execution time of printf(%.3f, -12345.678);
standard 8051 @ 22.1184 MHz, empty putchar()

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot3139">...</A><A
 HREF="node125.html#tex2html51"><SUP>4.1</SUP></A></DT>
<DD>The old format (ie. #pragma stack 0x5ff) is deprecated and will cause
the stack pointer to cross page boundaries (or even exceed the available
data RAM) and crash the program. Make sure that stack does not cross
page boundaries when using the SMALL stack model.

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot5992">... device</A><A
 HREF="node129.html#tex2html53"><SUP>4.2</SUP></A></DT>
<DD>In fact, the <TT>.ignore</TT> files are only used when auto-generating
<TT>Makefile.am</TT> from steps <A HREF="node129.html#enu:pic16-edit-makefile-am">8</A>f
using the <TT>.../libio/mkmk.sh</TT> script; to actually suppress
building the I/O library, you must not include the <TT>adc/</TT>,
<TT>i2c/</TT> and <TT>usart/</TT> sources in the <TT>Makefile.am</TT>
in step <A HREF="node129.html#enu:pic16-edit-libio-makefile-am">9</A>.

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot6001">...</A><A
 HREF="node134.html#tex2html54"><SUP>4.3</SUP></A></DT>
<DD>This is not a problem when

<OL>
<LI>this is a HIGH interrupt ISR and LOW interrupts are <I>disabled</I>
or not used.
</LI>
<LI>when the ISR is small enough not to reach the next interrupt's vector
address.
</LI>
</OL>

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot3352">...</A><A
 HREF="node134.html#tex2html55"><SUP>4.4</SUP></A></DT>
<DD>NOTE that when the _naked attribute is specified for an interrupt
routine, then NO registers are stored or restored.

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot3870">... burnout</A><A
 HREF="node156.html#tex2html102"><SUP>6.1</SUP></A></DT>
<DD>burnout is bad for electronic devices, programmers and motorcycle
tyres

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot3888">... day</A><A
 HREF="node158.html#tex2html105"><SUP>7.1</SUP></A></DT>
<DD>220 daily downloads on average Jan-Sept 2006 and about 150 daily downloads
between 2002 and 2005. This does not include other methods of distribution.

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot3903">...http://sourceforge.net/mail/?group_id=599</A><A
 HREF="node161.html#tex2html109"><SUP>7.2</SUP></A></DT>
<DD>Traffic on sdcc-devel and sdcc-user is about 100 mails/month each
not counting automated messages (mid 2003)

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot6089">... encouraged</A><A
 HREF="node167.html#tex2html120"><SUP>7.3</SUP></A></DT>
<DD>the phrase use in education might evoke
the association <I>only</I> fit for use in education.
This connotation is not intended but nevertheless risked as the licensing
of SDCC makes it difficult to offer educational discounts

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot6122">... little-endian</A><A
 HREF="node179.html#tex2html128"><SUP>8.1</SUP></A></DT>
<DD>Usually 8-bit processors don't care much about endianness. This is
not the case for the standard 8051 which only has an instruction to
increment its <I>dptr</I><A NAME="4224"></A>-datapointer so little-endian
is the more efficient byte order.

<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
</DL>
</BODY>
</HTML>