\relax 
\providecommand\hyper@newdestlabel[2]{}
\bbl@cs{beforestart}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax 
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\babel@aux{english}{}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{7}{chapter.1}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}About SDCC}{7}{section.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.2}SDCC Suite Licenses}{8}{section.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Documentation}{9}{section.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Typographic conventions}{9}{section.1.4}\protected@file@percent }
\newlabel{sec:Compatibility-with-previous}{{1.5}{9}{Compatibility with previous versions\index {Compatibility with previous versions}}{section.1.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {1.5}Compatibility with previous versions}{9}{section.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.6}System Requirements}{12}{section.1.6}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.7}Other Resources}{12}{section.1.7}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Installing SDCC}{13}{chapter.2}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Configure Options}{13}{section.2.1}\protected@file@percent }
\newlabel{subsec:Install-paths}{{2.2}{15}{Install paths\index {Install paths}}{section.2.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Install paths}{15}{section.2.2}\protected@file@percent }
\newlabel{subsec:Search-Paths}{{2.3}{16}{Search Paths\index {Search path}}{section.2.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Search Paths}{16}{section.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.4}Building SDCC}{18}{section.2.4}\protected@file@percent }
\newlabel{subsec:Building-SDCC-on-Linux}{{2.4.1}{18}{Building SDCC on Linux}{subsection.2.4.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}Building SDCC on Linux}{18}{subsection.2.4.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.2}Building SDCC on Mac OS X}{19}{subsection.2.4.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.3}Cross compiling SDCC on Linux for Windows}{19}{subsection.2.4.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.4}Building SDCC using Cygwin and Mingw32}{19}{subsection.2.4.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.5}Building SDCC Using Microsoft Visual C++ 2010 (MSVC)}{20}{subsection.2.4.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.6}Windows Install Using a ZIP Package}{21}{subsection.2.4.6}\protected@file@percent }
\newlabel{subsec:Windows-Install}{{2.4.7}{21}{Windows Install Using the Setup Program}{subsection.2.4.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.7}Windows Install Using the Setup Program}{21}{subsection.2.4.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.8}VPATH feature}{21}{subsection.2.4.8}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.5}Building the Documentation}{22}{section.2.5}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.6}Reading the Documentation}{22}{section.2.6}\protected@file@percent }
\newlabel{sec:Testing-the-SDCC}{{2.7}{22}{Testing the SDCC Compiler}{section.2.7}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.7}Testing the SDCC Compiler}{22}{section.2.7}\protected@file@percent }
\newlabel{subsec:Install-Trouble-shooting}{{2.8}{23}{Install Trouble-shooting\index {Install trouble-shooting}}{section.2.8}{}}
\@writefile{toc}{\contentsline {section}{\numberline {2.8}Install Trouble-shooting}{23}{section.2.8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.8.1}If SDCC does not build correctly}{23}{subsection.2.8.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.8.2}What the \textquotedblright ./configure\textquotedblright {} does}{23}{subsection.2.8.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.8.3}What the \textquotedblright make\textquotedblright {} does}{23}{subsection.2.8.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.8.4}What the \textquotedblright make install\textquotedblright {} command does.}{24}{subsection.2.8.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.9}Components of SDCC}{24}{section.2.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.9.1}sdcc - The Compiler}{25}{subsection.2.9.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.9.2}sdcpp - The C-Preprocessor}{25}{subsection.2.9.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.9.3}sdas, sdld - The Assemblers and Linkage Editors}{25}{subsection.2.9.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.9.4}s51, sz80, shc08, sstm8 - The Simulators}{25}{subsection.2.9.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.9.5}sdcdb - Source Level Debugger}{25}{subsection.2.9.5}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Using SDCC}{26}{chapter.3}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{subsec:Standard-Compliance}{{3.1}{26}{Standard-Compliance\index {Standard-compliance}}{section.3.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Standard-Compliance}{26}{section.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}ISO C90 and ANSI C89}{26}{subsection.3.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}ISO C95}{27}{subsection.3.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}ISO C99}{27}{subsection.3.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}ISO C11 and ISO C17}{27}{subsection.3.1.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.5}ISO C2X}{27}{subsection.3.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.6}Embedded C}{28}{subsection.3.1.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.7}Implementation-defined behavior}{28}{subsection.3.1.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.1}Translation}{28}{subsubsection.3.1.7.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.2}Environment}{28}{subsubsection.3.1.7.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.3}Identifiers}{28}{subsubsection.3.1.7.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.4}Characters}{28}{subsubsection.3.1.7.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.5}Integers}{28}{subsubsection.3.1.7.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.6}Floating point}{29}{subsubsection.3.1.7.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.7}Arrays and Pointers}{29}{subsubsection.3.1.7.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.8}Hints}{29}{subsubsection.3.1.7.8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.9}Structures, unions, enumerations and bit-fields}{29}{subsubsection.3.1.7.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.10}Qualifiers}{29}{subsubsection.3.1.7.10}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.11}Preprocessing directives}{29}{subsubsection.3.1.7.11}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.12}Library functions}{29}{subsubsection.3.1.7.12}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.7.13}Architecture}{30}{subsubsection.3.1.7.13}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Compiling}{30}{section.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Single Source File Projects}{30}{subsection.3.2.1}\protected@file@percent }
\newlabel{1@xvr}{{}{30}}
\newlabel{1@vr}{{}{30}}
\newlabel{OMF file}{{3.2.1}{30}{Single Source File Projects}{subsection.3.2.1}{}}
\newlabel{subsec:Postprocessing-the-Intel}{{3.2.2}{30}{Postprocessing the Intel Hex\index {Intel hex format} file}{subsection.3.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Postprocessing the Intel Hex file}{30}{subsection.3.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Projects with Multiple Source Files}{31}{subsection.3.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}Projects with Additional Libraries}{31}{subsection.3.2.4}\protected@file@percent }
\newlabel{subsec:Using-sdar-to}{{3.2.5}{32}{Using sdar to Create and Manage Libraries\index {sdar}}{subsection.3.2.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.5}Using sdar to Create and Manage Libraries}{32}{subsection.3.2.5}\protected@file@percent }
\newlabel{sec:Command-Line-Options}{{3.3}{32}{Command Line Options\index {Command Line Options}}{section.3.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Command Line Options}{32}{section.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Processor Selection Options}{32}{subsection.3.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Preprocessor Options}{33}{subsection.3.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Optimization Options}{33}{subsection.3.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.4}Other Options}{34}{subsection.3.3.4}\protected@file@percent }
\newlabel{lyx:--callee-saves-function1=00005B,function2=00005D=00005B,function3=00005D...}{{3.3.4}{35}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\newlabel{2@xvr}{{}{35}}
\newlabel{2@vr}{{}{35}}
\newlabel{lyx:--less-pedantic}{{3.3.4}{35}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\newlabel{3@xvr}{{}{35}}
\newlabel{3@vr}{{}{35}}
\newlabel{lyx:-codeseg}{{3.3.4}{36}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\newlabel{lyx:more-pedantic-SPLINT}{{3.3.4}{36}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\newlabel{lyx:--use-non-free}{{3.3.4}{36}{Other Options\index {Options other}}{subsection.3.3.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.5}Linker Options}{37}{subsection.3.3.5}\protected@file@percent }
\newlabel{lyx:-Wl option}{{3.3.5}{37}{Linker Options\index {Options linker}\index {Linker options}}{subsection.3.3.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.6}MCS51 Options}{37}{subsection.3.3.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.7}DS390 / DS400 Options}{38}{subsection.3.3.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.8}Options common to all z80-related ports (z80, z180, r2k, r3ka, sm83, tlcs90, ez80\_z80)}{38}{subsection.3.3.8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.9}Z80 Options (apply to z80, z180, r2k, r3ka, tlcs90, ez80\_z80)}{39}{subsection.3.3.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.10}SM83 Options}{39}{subsection.3.3.10}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.11}STM8 Options}{39}{subsection.3.3.11}\protected@file@percent }
\newlabel{subsec:Intermediate-Dump-Options}{{3.3.12}{39}{Intermediate Dump Options\index {Options intermediate dump}\index {Intermediate dump options}}{subsection.3.3.12}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.12}Intermediate Dump Options}{39}{subsection.3.3.12}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.13}Redirecting output on Windows Shells}{39}{subsection.3.3.13}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.4}Environment variables}{39}{section.3.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.5}SDCC Language Extensions}{40}{section.3.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.1}MCS51/DS390 intrinsic named address spaces}{40}{subsection.3.5.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.1}\_\_data / \_\_near}{40}{subsubsection.3.5.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.2}\_\_xdata / \_\_far}{40}{subsubsection.3.5.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.3}\_\_idata}{41}{subsubsection.3.5.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.4}\_\_pdata}{41}{subsubsection.3.5.1.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.5}\_\_code}{41}{subsubsection.3.5.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.6}\_\_bit}{42}{subsubsection.3.5.1.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.7}\_\_sfr / \_\_sfr16 / \_\_sfr32 / \_\_sbit}{42}{subsubsection.3.5.1.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.8}Pointers to MCS51/DS390 intrinsic named address spaces}{42}{subsubsection.3.5.1.8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1.9}Notes on MCS51 memory layout}{43}{subsubsection.3.5.1.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.2}Z80/Z180/eZ80 intrinsic named address spaces}{44}{subsection.3.5.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2.1}\_\_sfr (in/out to 8-bit addresses)}{44}{subsubsection.3.5.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2.2}\_\_banked \_\_sfr (in/out to 16-bit addresses)}{44}{subsubsection.3.5.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2.3}\_\_sfr (in0/out0 to 8 bit addresses on Z180/HD64180)}{44}{subsubsection.3.5.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.3}SM83 intrinsic named address spaces}{44}{subsection.3.5.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.3.1}\_\_sfr}{44}{subsubsection.3.5.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.4}HC08/S08 intrinsic named address spaces}{44}{subsection.3.5.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.4.1}\_\_data }{44}{subsubsection.3.5.4.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.4.2}\_\_xdata }{44}{subsubsection.3.5.4.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.5}PDK14/PDK15 intrinsic named address spaces}{45}{subsection.3.5.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.5.1}\_\_sfr}{45}{subsubsection.3.5.5.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.5.2}\_\_sfr16}{45}{subsubsection.3.5.5.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.6}Non-intrinsic named address spaces}{45}{subsection.3.5.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.7}Absolute Addressing}{45}{subsection.3.5.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.8}\_\_sdcc\_external\_startup}{47}{subsection.3.5.8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.9}Preserved register specification}{47}{subsection.3.5.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.10}Binary constants}{47}{subsection.3.5.10}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.11}Returning void}{47}{subsection.3.5.11}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.12}Omitting promotion on arguments of vararg function (does not apply to pdk13, pdk14, pdk15)}{47}{subsection.3.5.12}\protected@file@percent }
\newlabel{sec:Parameters-and-Local-Variables}{{3.6}{47}{Parameters\index {Parameters}\index {function parameter} and Local Variables\index {local variables}}{section.3.6}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.6}Parameters and Local Variables}{47}{section.3.6}\protected@file@percent }
\newlabel{subsec:Overlaying}{{3.7}{48}{Overlaying\index {Overlaying}}{section.3.7}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.7}Overlaying}{48}{section.3.7}\protected@file@percent }
\newlabel{subsec:Interrupt-Service-Routines}{{3.8}{49}{Interrupt Service Routines}{section.3.8}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.8}Interrupt Service Routines}{49}{section.3.8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.1}General Information}{49}{subsection.3.8.1}\protected@file@percent }
\newlabel{subsec:Common-interrupt-pitfall-volatile}{{3.8.1.1}{49}{Common interrupt pitfall: variable not declared \emph {volatile}}{subsubsection.3.8.1.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.1.1}Common interrupt pitfall: variable not declared \emph  {volatile}}{49}{subsubsection.3.8.1.1}\protected@file@percent }
\newlabel{subsec:Common-interrupt-pitfall-non-atomic}{{3.8.1.2}{49}{Common interrupt pitfall: \emph {non-atomic access}}{subsubsection.3.8.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.1.2}Common interrupt pitfall: \emph  {non-atomic access}}{49}{subsubsection.3.8.1.2}\protected@file@percent }
\newlabel{subsec:Common-interrupt-pitfall-stack-overflow}{{3.8.1.3}{49}{Common interrupt pitfall: \emph {stack overflow}}{subsubsection.3.8.1.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.1.3}Common interrupt pitfall: \emph  {stack overflow}}{49}{subsubsection.3.8.1.3}\protected@file@percent }
\newlabel{subsec:Common-interrupt-pitfall-non-reentrant}{{3.8.1.4}{49}{Common interrupt pitfall: \emph {use of non-reentrant functions}}{subsubsection.3.8.1.4}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.1.4}Common interrupt pitfall: \emph  {use of non-reentrant functions}}{49}{subsubsection.3.8.1.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.2}MCS51/DS390 Interrupt Service Routines}{50}{subsection.3.8.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.3}HC08 Interrupt Service Routines}{50}{subsection.3.8.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.4}Z80, Z180 and eZ80 Interrupt Service Routines}{50}{subsection.3.8.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.5}Rabbit 2000, 3000 and 3000A Interrupt Service Routines}{51}{subsection.3.8.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.6}SM83 and TLCS-90 Interrupt Service Routines}{51}{subsection.3.8.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8.7}STM8 Interrupt Service Routines}{51}{subsection.3.8.7}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.9}Enabling and Disabling Interrupts}{51}{section.3.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.9.1}Critical Functions and Critical Statements}{51}{subsection.3.9.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.9.2}Enabling and Disabling Interrupts directly}{51}{subsection.3.9.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.9.3}Semaphore locking (mcs51/ds390)}{52}{subsection.3.9.3}\protected@file@percent }
\newlabel{subsec:Functions-using-private-banks}{{3.10}{52}{Functions using private register banks (mcs51/ds390)}{section.3.10}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.10}Functions using private register banks (mcs51/ds390)}{52}{section.3.10}\protected@file@percent }
\newlabel{sec:Inline-Assembler-Code}{{3.11}{53}{Inline Assembler Code\index {Assembler routines}}{section.3.11}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.11}Inline Assembler Code}{53}{section.3.11}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.1}Inline Assembler Code Formats}{53}{subsection.3.11.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.11.1.1}Old \_\_asm ... \_\_endasm; Format}{53}{subsubsection.3.11.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.11.1.2}New \_\_asm\_\_ (\textquotedblright inline\_assembler\_code\textquotedblright ) Format}{53}{subsubsection.3.11.1.2}\protected@file@percent }
\newlabel{subsec:A-Step-by Assembler Introduction}{{3.11.2}{53}{A Step by Step Introduction}{subsection.3.11.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.2}A Step by Step Introduction}{53}{subsection.3.11.2}\protected@file@percent }
\newlabel{subsec:Naked-Functions}{{3.11.3}{55}{Naked Functions\index {Naked functions}}{subsection.3.11.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.3}Naked Functions}{55}{subsection.3.11.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.4}Use of Labels within Inline Assembler}{56}{subsection.3.11.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.12}Support routines for integer multiplicative operators}{57}{section.3.12}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.13}Floating Point Support}{57}{section.3.13}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.14}Library Routines}{58}{section.3.14}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.14.1}Compiler support routines (\_gptrget, \_mulint etc.)}{58}{subsection.3.14.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.14.2}Stdclib functions (puts, printf, strcat etc.)}{58}{subsection.3.14.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.14.2.1}<stdio.h>}{58}{subsubsection.3.14.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{getchar(), putchar()}{58}{section*.2}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{printf()}{58}{section*.3}\protected@file@percent }
\gdef \LT@i {\LT@entry 
    {1}{76.89238pt}\LT@entry 
    {2}{69.34969pt}\LT@entry 
    {1}{67.33434pt}\LT@entry 
    {1}{58.18327pt}\LT@entry 
    {2}{69.34969pt}\LT@entry 
    {1}{67.33434pt}\LT@entry 
    {2}{77.24968pt}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.14.2.2}<malloc.h>}{59}{subsubsection.3.14.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.14.3}Math functions (sinf, powf, sqrtf etc.)}{59}{subsection.3.14.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.14.3.1}<math.h>}{59}{subsubsection.3.14.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.14.4}Other libraries}{60}{subsection.3.14.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.15}Memory Models}{60}{section.3.15}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.15.1}MCS51 Memory Models}{60}{subsection.3.15.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.1.1}Small, Medium, Large and Huge}{60}{subsubsection.3.15.1.1}\protected@file@percent }
\newlabel{subsec:External-Stack}{{3.15.1.2}{60}{External Stack\index {stack}\index {External stack (mcs51)}}{subsubsection.3.15.1.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.15.1.2}External Stack}{60}{subsubsection.3.15.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.15.2}DS390 Memory Model}{60}{subsection.3.15.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.15.3}STM8 Memory Models}{61}{subsection.3.15.3}\protected@file@percent }
\newlabel{sec:Pragmas}{{3.16}{61}{Pragmas\index {Pragmas}}{section.3.16}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.16}Pragmas}{61}{section.3.16}\protected@file@percent }
\newlabel{4@xvr}{{}{61}}
\newlabel{4@vr}{{}{61}}
\newlabel{ite:callee_saves-function1=00005B,function2=00005B,function3...=00005D=00005D--}{{3.16}{61}{Pragmas\index {Pragmas}}{section.3.16}{}}
\newlabel{5@xvr}{{}{61}}
\newlabel{5@vr}{{}{61}}
\newlabel{ite:less_pedantic}{{3.16}{61}{Pragmas\index {Pragmas}}{section.3.16}{}}
\newlabel{6@xvr}{{}{61}}
\newlabel{6@vr}{{}{61}}
\@writefile{toc}{\contentsline {section}{\numberline {3.17}Defines Created by the Compiler}{64}{section.3.17}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Notes on supported Processors}{65}{chapter.4}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{subsec:MCS51-variants}{{4.1}{65}{MCS51 variants\index {MCS51 variants}}{section.4.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}MCS51 variants}{65}{section.4.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}pdata access by SFR}{65}{subsection.4.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Other Features available by SFR}{65}{subsection.4.1.2}\protected@file@percent }
\newlabel{subsec:Bankswitching}{{4.1.3}{65}{Bankswitching}{subsection.4.1.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.3}Bankswitching}{65}{subsection.4.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3.1}Hardware}{66}{subsubsection.4.1.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3.2}Software}{66}{subsubsection.4.1.3.2}\protected@file@percent }
\newlabel{subsec:MCS51-Startup-Code}{{4.1.4}{66}{MCS51/DS390 Startup Code}{subsection.4.1.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.4}MCS51/DS390 Startup Code}{66}{subsection.4.1.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.5}Interfacing with Assembler Code}{68}{subsection.4.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.5.1}Global Registers used for Parameter Passing}{68}{subsubsection.4.1.5.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.5.2}Register usage}{69}{subsubsection.4.1.5.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.5.3}Assembler Routine (non-reentrant)}{69}{subsubsection.4.1.5.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.5.4}Assembler Routine (reentrant)}{70}{subsubsection.4.1.5.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.2}DS400 port}{70}{section.4.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.3}The Z80, Z180, Rabbit 2000, Rabbit 2000A, Rabbit 3000A, SM83 (GameBoy), eZ80 and TLCS-90 ports}{71}{section.4.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}Startup Code}{71}{subsection.4.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}Rabbit ports}{71}{subsection.4.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.2.1}Rabbit wait states}{71}{subsubsection.4.3.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.3}Z80, Z180 and Z80N calling conventions}{71}{subsection.4.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.3.1}Z80 SDCC calling convention, version 1}{71}{subsubsection.4.3.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.3.2}Z80 SDCC calling convention, version 0}{72}{subsubsection.4.3.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.4}Rabbit 2000, Rabbit 2000A, Rabbit 3000A, eZ80 and TLCS-90 calling conventions}{73}{subsection.4.3.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.4.1}Rabbit SDCC calling convention, version 1}{73}{subsubsection.4.3.4.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.5}SM83 calling conventions}{74}{subsection.4.3.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.5.1}SM83 SDCC calling convention, version 1}{74}{subsubsection.4.3.5.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.5.2}SM83 SDCC calling convention, version 0}{75}{subsubsection.4.3.5.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.6}Small-C calling convention}{75}{subsection.4.3.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.7}Complex instructions}{75}{subsection.4.3.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.8}Unsafe reads}{75}{subsection.4.3.8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.9}Z80 banked calls}{75}{subsection.4.3.9}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.4}The HC08 and S08 ports}{76}{section.4.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.1}Startup Code}{76}{subsection.4.4.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.5}The STM8 port}{76}{section.4.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.5.1}Calling conventions}{76}{subsection.4.5.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.5.1.1}SDCC calling convention, version 1}{76}{subsubsection.4.5.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.5.1.2}SDCC calling convention, version 0}{76}{subsubsection.4.5.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.5.1.3}Raisonance calling convention}{76}{subsubsection.4.5.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.5.1.4}IAR calling convention}{76}{subsubsection.4.5.1.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.5.1.5}Cosmic calling convention}{77}{subsubsection.4.5.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.6}The PIC14 port}{77}{section.4.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.1}PIC Code Pages and Memory Banks}{78}{subsection.4.6.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.2}Adding New Devices to the Port }{78}{subsection.4.6.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.3}Interrupt Code}{79}{subsection.4.6.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.4}Configuration Bits}{79}{subsection.4.6.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.5}Linking and Assembling}{79}{subsection.4.6.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.6}Command-Line Options}{80}{subsection.4.6.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.7}Environment Variables}{80}{subsection.4.6.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.8}The Library}{80}{subsection.4.6.8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.8.1}Enhanced cores}{80}{subsubsection.4.6.8.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.8.2}Accessing bits of special function registers}{81}{subsubsection.4.6.8.2}\protected@file@percent }
\newlabel{subsec:Naming-of-special}{{4.6.8.3}{81}{Naming of special function registers}{subsubsection.4.6.8.3}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.8.3}Naming of special function registers}{81}{subsubsection.4.6.8.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.8.4}error: missing definition for symbol ``\_\_gptrget1''}{81}{subsubsection.4.6.8.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.8.5}Processor mismatch in file ``XXX''.}{81}{subsubsection.4.6.8.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6.9}Known Bugs}{81}{subsection.4.6.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.9.1}Function arguments}{81}{subsubsection.4.6.9.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.6.9.2}Regression tests fail}{81}{subsubsection.4.6.9.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.7}The PIC16 port}{81}{section.4.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.1}Global Options}{83}{subsection.4.7.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.2}Port Specific Options}{83}{subsection.4.7.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.2.1}Code Generation Options}{83}{subsubsection.4.7.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.2.2}Optimization Options}{84}{subsubsection.4.7.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.2.3}Assembling Options}{84}{subsubsection.4.7.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.2.4}Linking Options}{84}{subsubsection.4.7.2.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.2.5}Debugging Options}{84}{subsubsection.4.7.2.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.3}Environment Variables}{85}{subsection.4.7.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.4}Preprocessor Macros}{85}{subsection.4.7.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.5}Directories}{85}{subsection.4.7.5}\protected@file@percent }
\newlabel{subsec:PIC16_Pragmas}{{4.7.6}{85}{Pragmas}{subsection.4.7.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.6}Pragmas}{85}{subsection.4.7.6}\protected@file@percent }
\newlabel{subsec:PIC16_Header-Files-and-Libraries}{{4.7.7}{87}{Header Files and Libraries}{subsection.4.7.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.7}Header Files and Libraries}{87}{subsection.4.7.7}\protected@file@percent }
\newlabel{subsec:PIC16_Header-Files}{{4.7.8}{87}{Header Files}{subsection.4.7.8}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.8}Header Files}{87}{subsection.4.7.8}\protected@file@percent }
\newlabel{subsec:pic16Libraries}{{4.7.9}{88}{Libraries}{subsection.4.7.9}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.9}Libraries}{88}{subsection.4.7.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.10}Adding New Devices to the Port}{88}{subsection.4.7.10}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.11}Memory Models}{89}{subsection.4.7.11}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.12}Stack}{89}{subsection.4.7.12}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.13}Functions}{90}{subsection.4.7.13}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.14}Function return values}{90}{subsection.4.7.14}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.15}Interrupts}{90}{subsection.4.7.15}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.16}Generic Pointers}{91}{subsection.4.7.16}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.17}Configuration Bits}{91}{subsection.4.7.17}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.18}PIC16 C Libraries}{92}{subsection.4.7.18}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.18.1}Standard I/O Streams}{92}{subsubsection.4.7.18.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.18.2}Printing functions}{93}{subsubsection.4.7.18.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.18.3}Signals}{93}{subsubsection.4.7.18.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.19}PIC16 Port – Tips}{94}{subsection.4.7.19}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.19.1}Stack size}{94}{subsubsection.4.7.19.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.7.20}Known Bugs}{94}{subsection.4.7.20}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.20.1}Extended Instruction Set}{94}{subsubsection.4.7.20.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.7.20.2}Regression Tests}{94}{subsubsection.4.7.20.2}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Debugging}{95}{chapter.5}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{cha:Debugging-with-SDCDB}{{5.1}{96}{Debugging with SDCDB\index {SDCDB (debugger)}}{section.5.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5.1}Debugging with SDCDB }{96}{section.5.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}Compiling for Debugging}{96}{subsection.5.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}How the Debugger Works}{96}{subsection.5.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.3}Starting the Debugger SDCDB}{96}{subsection.5.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.4}SDCDB Command Line Options}{97}{subsection.5.1.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.5}SDCDB Debugger Commands}{97}{subsection.5.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.6}Interfacing SDCDB with DDD}{99}{subsection.5.1.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.7}Interfacing SDCDB with XEmacs}{99}{subsection.5.1.7}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {5.2}Debugging with other debuggers (e.g. GDB): ELF / DWARF}{100}{section.5.2}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {6}TIPS}{101}{chapter.6}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{type promotion}{{6}{101}{TIPS}{chapter.6}{}}
\newlabel{sec:Porting-code-to-other-compilers}{{6.1}{102}{Porting code from or to other compilers}{section.6.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6.1}Porting code from or to other compilers}{102}{section.6.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.2}Tools included in the distribution}{102}{section.6.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.3}Documentation included in the distribution}{103}{section.6.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.4}Communication online at SourceForge}{104}{section.6.4}\protected@file@percent }
\newlabel{sec:Related-open-source-tools}{{6.5}{104}{Related open source tools\index {Related tools}}{section.6.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6.5}Related open source tools}{104}{section.6.5}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.6}Related documentation / recommended reading}{105}{section.6.6}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.7}Application notes specifically for SDCC}{105}{section.6.7}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {6.8}Some Questions}{106}{section.6.8}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {7}Support}{107}{chapter.7}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {7.1}Reporting Bugs}{107}{section.7.1}\protected@file@percent }
\newlabel{subsec:Requesting-Features}{{7.2}{108}{Requesting Features\index {Feature request}\index {Requesting features}\index {Communication!Feature request}}{section.7.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {7.2}Requesting Features}{108}{section.7.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.3}Submitting patches}{108}{section.7.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.4}Getting Help}{108}{section.7.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.5}ChangeLog}{108}{section.7.5}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.6}Subversion Source Code Repository}{108}{section.7.6}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.7}Release policy}{108}{section.7.7}\protected@file@percent }
\newlabel{sec:Quality-control}{{7.8}{108}{Quality control\index {Quality control}}{section.7.8}{}}
\@writefile{toc}{\contentsline {section}{\numberline {7.8}Quality control}{108}{section.7.8}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.9}Examples}{109}{section.7.9}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7.10}Use of SDCC in Education}{109}{section.7.10}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {8}SDCC Technical Data}{110}{chapter.8}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {8.1}Optimizations}{110}{section.8.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.1}Sub-expression Elimination}{110}{subsection.8.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.2}Dead-Code Elimination}{110}{subsection.8.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.3}Copy-Propagation}{111}{subsection.8.1.3}\protected@file@percent }
\newlabel{subsec:Loop-Optimizations}{{8.1.4}{111}{Loop Optimizations\index {Loop optimization}}{subsection.8.1.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.4}Loop Optimizations}{111}{subsection.8.1.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.5}Loop Reversing}{112}{subsection.8.1.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.6}Algebraic Simplifications}{112}{subsection.8.1.6}\protected@file@percent }
\newlabel{subsec:'switch'-Statements}{{8.1.7}{112}{'switch' Statements\index {switch statement}}{subsection.8.1.7}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.7}'switch' Statements}{112}{subsection.8.1.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.8}Bit-shifting Operations.}{114}{subsection.8.1.8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.9}Bit-rotation}{114}{subsection.8.1.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.10}Nibble and Byte Swapping}{114}{subsection.8.1.10}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.11}Getting a Bit}{115}{subsection.8.1.11}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.12}Higher Order Byte / Higher Order Word}{116}{subsection.8.1.12}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.13}Placement of Bank-Selection Instructions}{116}{subsection.8.1.13}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.14}Lifetime-Optimal Speculative Partial Redundancy Elimination}{117}{subsection.8.1.14}\protected@file@percent }
\newlabel{subsec:Register-Allocation}{{8.1.15}{117}{Register Allocation\index {Register-Allocation}}{subsection.8.1.15}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.15}Register Allocation}{117}{subsection.8.1.15}\protected@file@percent }
\newlabel{subsec:Peephole-Optimizer}{{8.1.16}{117}{Peephole Optimizer\index {Peephole optimizer}}{subsection.8.1.16}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1.16}Peephole Optimizer}{117}{subsection.8.1.16}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {8.2}Cyclomatic Complexity}{119}{section.8.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {8.3}Retargetting for other Processors}{119}{section.8.3}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {9}Compiler internals}{121}{chapter.9}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{subsec:The-anatomy-of}{{9.1}{121}{The anatomy of the compiler}{section.9.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {9.1}The anatomy of the compiler}{121}{section.9.1}\protected@file@percent }
\gdef \LT@ii {\LT@entry 
    {1}{72.31685pt}\LT@entry 
    {1}{71.91685pt}\LT@entry 
    {1}{113.11761pt}\LT@entry 
    {1}{195.51913pt}}
\@writefile{toc}{\contentsline {section}{\numberline {9.2}A few words about basic block successors, predecessors and dominators}{127}{section.9.2}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {10}Acknowledgments}{128}{chapter.10}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
