38 lines
1.4 KiB
HTML
38 lines
1.4 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||
|
<HTML>
|
||
|
<HEAD>
|
||
|
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.20">
|
||
|
<TITLE>Atari specific information for cc65: Binary format</TITLE>
|
||
|
<LINK HREF="atari-3.html" REL=next>
|
||
|
<LINK HREF="atari-1.html" REL=previous>
|
||
|
<LINK HREF="atari.html#toc2" REL=contents>
|
||
|
</HEAD>
|
||
|
<BODY>
|
||
|
<A HREF="atari-3.html">Next</A>
|
||
|
<A HREF="atari-1.html">Previous</A>
|
||
|
<A HREF="atari.html#toc2">Contents</A>
|
||
|
<HR>
|
||
|
<H2><A NAME="s2">2.</A> <A HREF="atari.html#toc2">Binary format</A></H2>
|
||
|
|
||
|
|
||
|
<P>The standard binary output format generated by the linker for the
|
||
|
Atari target is a machine language program with a standard executable
|
||
|
header (FF FF <2 byte start address> <2 bytes end address>
|
||
|
[program bytes]). These values are calculated in the crt0.s
|
||
|
file from the __CODE_LOAD__ and __BSS_LOAD__ values, so keep this in
|
||
|
mind if you create a custom linker config file and start moving
|
||
|
segments around (see section
|
||
|
<A HREF="atari-8.html#memhole">Reserving a memory area inside the program</A>). You can
|
||
|
override this behaviour by creating your own crt0.s file and linking
|
||
|
it into your program. A run vector is added to the end of the file
|
||
|
($02E0 <run vector>) and is calculated using
|
||
|
__CODE_LOAD__ in crt0.s.</P>
|
||
|
|
||
|
|
||
|
<HR>
|
||
|
<A HREF="atari-3.html">Next</A>
|
||
|
<A HREF="atari-1.html">Previous</A>
|
||
|
<A HREF="atari.html#toc2">Contents</A>
|
||
|
</BODY>
|
||
|
</HTML>
|