annotate docs/manual/x809.html @ 153:83b7b4ce3bbd

Added prebuilt manual to repository to avoid failures to include it during releases
author lost@l-w.ca
date Sat, 27 Aug 2011 00:23:19 -0600
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
153
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
2 <HTML
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
3 ><HEAD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
4 ><TITLE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
5 >Format Specific Linking Notes</TITLE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
6 ><META
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
7 NAME="GENERATOR"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
9 REL="HOME"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
10 TITLE="LW Tool Chain"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
11 HREF="index.html"><LINK
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
12 REL="UP"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
13 TITLE="LWLINK"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
14 HREF="c661.html"><LINK
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
15 REL="PREVIOUS"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
16 TITLE="Linking Scripts"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
17 HREF="x775.html"><LINK
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
18 REL="NEXT"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
19 TITLE="Libraries and LWAR"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
20 HREF="c824.html"></HEAD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
21 ><BODY
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
22 CLASS="SECTION"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
23 BGCOLOR="#FFFFFF"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
24 TEXT="#000000"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
25 LINK="#0000FF"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
26 VLINK="#840084"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
27 ALINK="#0000FF"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
28 ><DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
29 CLASS="NAVHEADER"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
30 ><TABLE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
31 SUMMARY="Header navigation table"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
32 WIDTH="100%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
33 BORDER="0"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
34 CELLPADDING="0"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
35 CELLSPACING="0"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
36 ><TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
37 ><TH
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
38 COLSPAN="3"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
39 ALIGN="center"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
40 >LW Tool Chain</TH
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
41 ></TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
42 ><TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
43 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
44 WIDTH="10%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
45 ALIGN="left"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
46 VALIGN="bottom"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
47 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
48 HREF="x775.html"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
49 ACCESSKEY="P"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
50 >Prev</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
51 ></TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
52 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
53 WIDTH="80%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
54 ALIGN="center"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
55 VALIGN="bottom"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
56 >Chapter 4. LWLINK</TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
57 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
58 WIDTH="10%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
59 ALIGN="right"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
60 VALIGN="bottom"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
61 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
62 HREF="c824.html"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
63 ACCESSKEY="N"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
64 >Next</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
65 ></TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
66 ></TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
67 ></TABLE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
68 ><HR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
69 ALIGN="LEFT"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
70 WIDTH="100%"></DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
71 ><DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
72 CLASS="SECTION"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
73 ><H1
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
74 CLASS="SECTION"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
75 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
76 NAME="AEN809"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
77 >4.4. Format Specific Linking Notes</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
78 ></H1
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
79 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
80 >Some formats require special information to be able to generate actual
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
81 binaries. If the specific format you are interested in is not listed in
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
82 this section, then there is nothing special you need to know about to create
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
83 a final binary.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
84 ><DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
85 CLASS="SECTION"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
86 ><H2
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
87 CLASS="SECTION"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
88 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
89 NAME="AEN812"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
90 >4.4.1. OS9 Modules</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
91 ></H2
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
92 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
93 >OS9 modules need to embed several items into the module header. These
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
94 items are the type of module, the langauge of the module, the module
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
95 attributes, the module revision number, the data size (bss), and the
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
96 execution offset. These are all either calculated or default to reasonable
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
97 values.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
98 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
99 >The data size is calcuated as the sum of all sections named "bss" or
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
100 ".bss" in all object files that are linked together.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
101 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
102 >The execution offset is calculated from the address of the special
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
103 symbol "__start" which must be an exported (external) symbol in one of the
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
104 objects to be linked.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
105 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
106 >The type defaults to "Prgrm" or "Program module". The language
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
107 defaults to "Objct" or "6809 object code". Attributes default to enabling
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
108 the re-entrant flag. And finally, the revision defaults to zero.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
109 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
110 >The embedded module name is the output filename. If the output
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
111 filename includes more than just the filename, this will probably not be
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
112 what you want.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
113 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
114 >The type, language, attributes, revision, and module name can all be
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
115 overridden by providing a special section in exactly one of the object files
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
116 to be linked. This section is called "__os9" (note the two underscores).
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
117 To override the type, language, attributes, or revision values, define a
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
118 non-exported symbol in this section called "type", "lang", "attr", or "rev"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
119 respectively. Any other symbols defined are ignored. To override the
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
120 module name, include as the only actual code in the section a NUL terminated
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
121 string (the FCN directive is useful for this). If there is no code in the
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
122 section or it beings with a NUL, the default name will be used. Any of the
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
123 preceeding that are not defined in the special section will retain their
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
124 default values.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
125 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
126 >The built-in link script for OS9 modules will place the following
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
127 sections, in order, in the module: "code", ".text", "data", ".data". It
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
128 will merge all sections with the name "bss" or ".bss" into the "data"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
129 section. All other section names are ignored. What this means is that you
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
130 must define your data variables in the a section called "bss" or ".bss" even
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
131 though you will be refencing them all as offsets from U. This does have the
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
132 unpleasant side effect that all BSS references will end up being 16 bit
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
133 offsets because the assembler cannot know what the offset will be once the
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
134 linker is finished its work. Thus, if the tightest possible code is
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
135 required, having LWASM directly output the module is a better choice.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
136 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
137 >While the built-in link script is probably sufficient for most
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
138 purposes, you can provide your own script. If you provide a custom link
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
139 script, you must start your code and data sections at location 000D to
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
140 accommodate the module header. Otherwise, you will have an incorrect
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
141 location for the execution offset. You must use the ENTRY directive in the
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
142 script to define the entry point for the module.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
143 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
144 >It should also be obvious from the above that you cannot mix the bss
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
145 (rmb) definitions with the module code when linking separately. Those
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
146 familiar with typical module creation will probably find this an unpleasant
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
147 difference but it is unavoidable.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
148 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
149 >It should also be noted that direct page references should also be
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
150 avoided because you cannot know ahead of time whether the linker is going to
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
151 end up putting a particular variable in the first 256 bytes of the module's
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
152 data space. If, however, you know for certain you will have less than 256
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
153 bytes of defined data space across all of the object files that will be
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
154 linked, you can instead use forced DP addressing for your data addresses
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
155 instead of the ,u notation. When linking with 3rd party libraries, this
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
156 practice should be avoided. Also, when creating libraries, always use the
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
157 offset from U technique.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
158 ></DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
159 ></DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
160 ><DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
161 CLASS="NAVFOOTER"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
162 ><HR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
163 ALIGN="LEFT"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
164 WIDTH="100%"><TABLE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
165 SUMMARY="Footer navigation table"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
166 WIDTH="100%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
167 BORDER="0"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
168 CELLPADDING="0"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
169 CELLSPACING="0"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
170 ><TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
171 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
172 WIDTH="33%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
173 ALIGN="left"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
174 VALIGN="top"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
175 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
176 HREF="x775.html"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
177 ACCESSKEY="P"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
178 >Prev</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
179 ></TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
180 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
181 WIDTH="34%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
182 ALIGN="center"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
183 VALIGN="top"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
184 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
185 HREF="index.html"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
186 ACCESSKEY="H"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
187 >Home</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
188 ></TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
189 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
190 WIDTH="33%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
191 ALIGN="right"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
192 VALIGN="top"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
193 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
194 HREF="c824.html"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
195 ACCESSKEY="N"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
196 >Next</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
197 ></TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
198 ></TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
199 ><TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
200 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
201 WIDTH="33%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
202 ALIGN="left"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
203 VALIGN="top"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
204 >Linking Scripts</TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
205 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
206 WIDTH="34%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
207 ALIGN="center"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
208 VALIGN="top"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
209 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
210 HREF="c661.html"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
211 ACCESSKEY="U"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
212 >Up</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
213 ></TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
214 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
215 WIDTH="33%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
216 ALIGN="right"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
217 VALIGN="top"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
218 >Libraries and LWAR</TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
219 ></TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
220 ></TABLE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
221 ></DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
222 ></BODY
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
223 ></HTML
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
224 >