<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://sdcc.sourceforge.net/mediawiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://sdcc.sourceforge.net/mediawiki/index.php?title=Flat_Mode&amp;feed=atom&amp;action=history</id>
		<title>Flat Mode - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://sdcc.sourceforge.net/mediawiki/index.php?title=Flat_Mode&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://sdcc.sourceforge.net/mediawiki/index.php?title=Flat_Mode&amp;action=history"/>
		<updated>2013-06-18T08:00:14Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://sdcc.sourceforge.net/mediawiki/index.php?title=Flat_Mode&amp;diff=51&amp;oldid=prev</id>
		<title>Borutr: Created page with &quot;&lt;pre&gt; --model-flat24:  This option generates code for the 24 bit contiguous addressing mode of the Dallas DS80C390 part. In this mode, up to four meg of external RAM or code s...&quot;</title>
		<link rel="alternate" type="text/html" href="http://sdcc.sourceforge.net/mediawiki/index.php?title=Flat_Mode&amp;diff=51&amp;oldid=prev"/>
				<updated>2012-12-04T16:28:24Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;pre&amp;gt; --model-flat24:  This option generates code for the 24 bit contiguous addressing mode of the Dallas DS80C390 part. In this mode, up to four meg of external RAM or code s...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
--model-flat24:&lt;br /&gt;
&lt;br /&gt;
This option generates code for the 24 bit contiguous addressing mode of the&lt;br /&gt;
Dallas DS80C390 part. In this mode, up to four meg of external RAM or code&lt;br /&gt;
space can be directly addressed. See the data sheets at www.dalsemi.com for&lt;br /&gt;
further information on this part.&lt;br /&gt;
&lt;br /&gt;
Note that the compiler does not generate any code to place the processor&lt;br /&gt;
into this mode (it defaults to 8051 compatible mode). Boot loader or similar&lt;br /&gt;
code must ensure that the processor is in 24 bit contiguous addressing mode&lt;br /&gt;
before calling the SDCC startup code.&lt;br /&gt;
&lt;br /&gt;
Like the --model-large option, variables will by default be placed into the&lt;br /&gt;
XDATA segment. However, a current limitation is that the compiler will spill&lt;br /&gt;
variables into the DATA segment when it runs out of registers. This means&lt;br /&gt;
that compiling complex code can rapidly fill up the DATA segment. This&lt;br /&gt;
limitation is being worked on, and should be addressed in the next release&lt;br /&gt;
of sdcc.&lt;br /&gt;
&lt;br /&gt;
Segments may be placed anywhere in the 4 meg address space using the usual&lt;br /&gt;
--*-loc options. Note that if any segments are located above 64K, the -r&lt;br /&gt;
flag must be passed to the linker to generate the proper segment&lt;br /&gt;
relocations, and the Intel HEX output format must be used. The -r flag can&lt;br /&gt;
be passed to the linker by using the option -Wl-r on the sdcc command line.&lt;br /&gt;
&lt;br /&gt;
--stack-10bit:&lt;br /&gt;
&lt;br /&gt;
This option generates code for the 10 bit stack mode of the Dallas DS80C390&lt;br /&gt;
part. In this mode, the stack is located in the lower 1K of the internal&lt;br /&gt;
RAM, which is mapped to 0x400000.&lt;br /&gt;
&lt;br /&gt;
With this option, sdcc will generate the proper addressing for stack&lt;br /&gt;
variables.&lt;br /&gt;
&lt;br /&gt;
Note that the support is incomplete, since it still uses a single byte as&lt;br /&gt;
the stack pointer. This means that only the lower 256 bytes of the potential&lt;br /&gt;
1K stack space can actually be used. However, this does allow you to reclaim&lt;br /&gt;
the precious 256 bytes of low RAM for use for the DATA and IDATA segments.&lt;br /&gt;
&lt;br /&gt;
The compiler will not generate any code to put the processor into 10 bit&lt;br /&gt;
stack mode. It is important to ensure that the processor is in this mode&lt;br /&gt;
before calling any re-entrant functions compiled with this option.&lt;br /&gt;
&lt;br /&gt;
In principle, this should work with the --stack-auto option, but that has&lt;br /&gt;
not been tested. It is incompatible with the --xstack option. It also only&lt;br /&gt;
makes sense if the processor is in 24 bit contiguous addressing mode (see&lt;br /&gt;
the --model-flat24 option).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Borutr</name></author>	</entry>

	</feed>