comparison docs/manual/manual.html @ 231:2cc599f1bebf

Added --define to lwasm documentation. Added documentation of the -D/--define command line option for lwasm. It has been present for a long time but has somehow escaped documentation.
author William Astle <lost@l-w.ca>
date Sun, 15 Jul 2012 23:12:09 -0600
parents 1e0a0e6cd918
children 7da0452512b2
comparison
equal deleted inserted replaced
230:e09985968e64 231:2cc599f1bebf
98 HREF="#AEN48" 98 HREF="#AEN48"
99 >Command Line Options</A 99 >Command Line Options</A
100 ></DT 100 ></DT
101 ><DT 101 ><DT
102 >3.2. <A 102 >3.2. <A
103 HREF="#AEN163" 103 HREF="#AEN170"
104 >Dialects</A 104 >Dialects</A
105 ></DT 105 ></DT
106 ><DT 106 ><DT
107 >3.3. <A 107 >3.3. <A
108 HREF="#AEN170" 108 HREF="#AEN177"
109 >Source Format</A 109 >Source Format</A
110 ></DT 110 ></DT
111 ><DT 111 ><DT
112 >3.4. <A 112 >3.4. <A
113 HREF="#AEN180" 113 HREF="#AEN187"
114 >Symbols</A 114 >Symbols</A
115 ></DT 115 ></DT
116 ><DT 116 ><DT
117 >3.5. <A 117 >3.5. <A
118 HREF="#AEN185" 118 HREF="#AEN192"
119 >Numbers and Expressions</A 119 >Numbers and Expressions</A
120 ></DT 120 ></DT
121 ><DT 121 ><DT
122 >3.6. <A 122 >3.6. <A
123 HREF="#AEN193" 123 HREF="#AEN200"
124 >Assembler Directives</A 124 >Assembler Directives</A
125 ></DT 125 ></DT
126 ><DD 126 ><DD
127 ><DL 127 ><DL
128 ><DT 128 ><DT
129 >3.6.1. <A 129 >3.6.1. <A
130 HREF="#AEN196" 130 HREF="#AEN203"
131 >Data Directives</A 131 >Data Directives</A
132 ></DT 132 ></DT
133 ><DT 133 ><DT
134 >3.6.2. <A 134 >3.6.2. <A
135 HREF="#AEN299" 135 HREF="#AEN306"
136 >Address Definition</A 136 >Address Definition</A
137 ></DT 137 ></DT
138 ><DT 138 ><DT
139 >3.6.3. <A 139 >3.6.3. <A
140 HREF="#AEN346" 140 HREF="#AEN353"
141 >Conditional Assembly</A 141 >Conditional Assembly</A
142 ></DT 142 ></DT
143 ><DT 143 ><DT
144 >3.6.4. <A 144 >3.6.4. <A
145 HREF="#AEN411" 145 HREF="#AEN418"
146 >OS9 Target Directives</A 146 >OS9 Target Directives</A
147 ></DT 147 ></DT
148 ><DT 148 ><DT
149 >3.6.5. <A 149 >3.6.5. <A
150 HREF="#AEN436" 150 HREF="#AEN443"
151 >Miscelaneous Directives</A 151 >Miscelaneous Directives</A
152 ></DT 152 ></DT
153 ></DL 153 ></DL
154 ></DD 154 ></DD
155 ><DT 155 ><DT
156 >3.7. <A 156 >3.7. <A
157 HREF="#AEN476" 157 HREF="#AEN483"
158 >Macros</A 158 >Macros</A
159 ></DT 159 ></DT
160 ><DT 160 ><DT
161 >3.8. <A 161 >3.8. <A
162 HREF="#AEN499" 162 HREF="#AEN506"
163 >Structures</A 163 >Structures</A
164 ></DT 164 ></DT
165 ><DT 165 ><DT
166 >3.9. <A 166 >3.9. <A
167 HREF="#AEN520" 167 HREF="#AEN527"
168 >Object Files and Sections</A 168 >Object Files and Sections</A
169 ></DT 169 ></DT
170 ><DT 170 ><DT
171 >3.10. <A 171 >3.10. <A
172 HREF="#AEN584" 172 HREF="#AEN591"
173 >Assembler Modes and Pragmas</A 173 >Assembler Modes and Pragmas</A
174 ></DT 174 ></DT
175 ></DL 175 ></DL
176 ></DD 176 ></DD
177 ><DT 177 ><DT
178 >4. <A 178 >4. <A
179 HREF="#AEN662" 179 HREF="#AEN681"
180 >LWLINK</A 180 >LWLINK</A
181 ></DT 181 ></DT
182 ><DD 182 ><DD
183 ><DL 183 ><DL
184 ><DT 184 ><DT
185 >4.1. <A 185 >4.1. <A
186 HREF="#AEN665" 186 HREF="#AEN684"
187 >Command Line Options</A 187 >Command Line Options</A
188 ></DT 188 ></DT
189 ><DT 189 ><DT
190 >4.2. <A 190 >4.2. <A
191 HREF="#AEN762" 191 HREF="#AEN781"
192 >Linker Operation</A 192 >Linker Operation</A
193 ></DT 193 ></DT
194 ><DT 194 ><DT
195 >4.3. <A 195 >4.3. <A
196 HREF="#AEN776" 196 HREF="#AEN795"
197 >Linking Scripts</A 197 >Linking Scripts</A
198 ></DT 198 ></DT
199 ><DT 199 ><DT
200 >4.4. <A 200 >4.4. <A
201 HREF="#AEN810" 201 HREF="#AEN829"
202 >Format Specific Linking Notes</A 202 >Format Specific Linking Notes</A
203 ></DT 203 ></DT
204 ><DD 204 ><DD
205 ><DL 205 ><DL
206 ><DT 206 ><DT
207 >4.4.1. <A 207 >4.4.1. <A
208 HREF="#AEN813" 208 HREF="#AEN832"
209 >OS9 Modules</A 209 >OS9 Modules</A
210 ></DT 210 ></DT
211 ></DL 211 ></DL
212 ></DD 212 ></DD
213 ></DL 213 ></DL
214 ></DD 214 ></DD
215 ><DT 215 ><DT
216 >5. <A 216 >5. <A
217 HREF="#AEN825" 217 HREF="#AEN844"
218 >Libraries and LWAR</A 218 >Libraries and LWAR</A
219 ></DT 219 ></DT
220 ><DD 220 ><DD
221 ><DL 221 ><DL
222 ><DT 222 ><DT
223 >5.1. <A 223 >5.1. <A
224 HREF="#AEN829" 224 HREF="#AEN848"
225 >Command Line Options</A 225 >Command Line Options</A
226 ></DT 226 ></DT
227 ></DL 227 ></DL
228 ></DD 228 ></DD
229 ><DT 229 ><DT
241 ><B 241 ><B
242 >List of Tables</B 242 >List of Tables</B
243 ></DT 243 ></DT
244 ><DT 244 ><DT
245 >6-1. <A 245 >6-1. <A
246 HREF="#AEN912" 246 HREF="#AEN931"
247 >Object File Term Types</A 247 >Object File Term Types</A
248 ></DT 248 ></DT
249 ><DT 249 ><DT
250 >6-2. <A 250 >6-2. <A
251 HREF="#AEN942" 251 HREF="#AEN961"
252 >Object File Operator Numbers</A 252 >Object File Operator Numbers</A
253 ></DT 253 ></DT
254 ></DL 254 ></DL
255 ></DIV 255 ></DIV
256 ><DIV 256 ><DIV
621 > to the end of the include path.</P 621 > to the end of the include path.</P
622 ></DD 622 ></DD
623 ><DT 623 ><DT
624 ><CODE 624 ><CODE
625 CLASS="OPTION" 625 CLASS="OPTION"
626 >--define=SYM[=VAL]</CODE
627 >, <CODE
628 CLASS="OPTION"
629 >-I SYM[=VAL]</CODE
630 ></DT
631 ><DD
632 ><P
633 >Pre-defines the symbol SYM as either the specified VAL. If VAL is omitted,
634 the symbol is defined as 1. The symbol will be defined as though it were
635 defined using the SET directive in the assembly source. That means it can
636 be overridden by a SET directive within the source code. Attempting to
637 redefine SYM using EQU will result in a multiply defined symbol error.</P
638 ></DD
639 ><DT
640 ><CODE
641 CLASS="OPTION"
626 >--help</CODE 642 >--help</CODE
627 >, <CODE 643 >, <CODE
628 CLASS="OPTION" 644 CLASS="OPTION"
629 >-?</CODE 645 >-?</CODE
630 ></DT 646 ></DT
672 ><DIV 688 ><DIV
673 CLASS="SECTION" 689 CLASS="SECTION"
674 ><HR><H2 690 ><HR><H2
675 CLASS="SECTION" 691 CLASS="SECTION"
676 ><A 692 ><A
677 NAME="AEN163" 693 NAME="AEN170"
678 >3.2. Dialects</A 694 >3.2. Dialects</A
679 ></H2 695 ></H2
680 ><P 696 ><P
681 >LWASM supports all documented MC6809 instructions as defined by Motorola. 697 >LWASM supports all documented MC6809 instructions as defined by Motorola.
682 It also supports all known HD6309 instructions. While there is general 698 It also supports all known HD6309 instructions. While there is general
706 ><DIV 722 ><DIV
707 CLASS="SECTION" 723 CLASS="SECTION"
708 ><HR><H2 724 ><HR><H2
709 CLASS="SECTION" 725 CLASS="SECTION"
710 ><A 726 ><A
711 NAME="AEN170" 727 NAME="AEN177"
712 >3.3. Source Format</A 728 >3.3. Source Format</A
713 ></H2 729 ></H2
714 ><P 730 ><P
715 >LWASM accepts plain text files in a relatively free form. It can handle 731 >LWASM accepts plain text files in a relatively free form. It can handle
716 lines terminated with CR, LF, CRLF, or LFCR which means it should be able 732 lines terminated with CR, LF, CRLF, or LFCR which means it should be able
752 ><DIV 768 ><DIV
753 CLASS="SECTION" 769 CLASS="SECTION"
754 ><HR><H2 770 ><HR><H2
755 CLASS="SECTION" 771 CLASS="SECTION"
756 ><A 772 ><A
757 NAME="AEN180" 773 NAME="AEN187"
758 >3.4. Symbols</A 774 >3.4. Symbols</A
759 ></H2 775 ></H2
760 ><P 776 ><P
761 >Symbols have no length restriction. They may contain letters, numbers, dots, 777 >Symbols have no length restriction. They may contain letters, numbers, dots,
762 dollar signs, and underscores. They must start with a letter, dot, or 778 dollar signs, and underscores. They must start with a letter, dot, or
780 ><DIV 796 ><DIV
781 CLASS="SECTION" 797 CLASS="SECTION"
782 ><HR><H2 798 ><HR><H2
783 CLASS="SECTION" 799 CLASS="SECTION"
784 ><A 800 ><A
785 NAME="AEN185" 801 NAME="AEN192"
786 >3.5. Numbers and Expressions</A 802 >3.5. Numbers and Expressions</A
787 ></H2 803 ></H2
788 ><P 804 ><P
789 >&#13;Numbers can be expressed in binary, octal, decimal, or hexadecimal. Binary 805 >&#13;Numbers can be expressed in binary, octal, decimal, or hexadecimal. Binary
790 numbers may be prefixed with a "%" symbol or suffixed with a "b" or "B". 806 numbers may be prefixed with a "%" symbol or suffixed with a "b" or "B".
825 ><DIV 841 ><DIV
826 CLASS="SECTION" 842 CLASS="SECTION"
827 ><HR><H2 843 ><HR><H2
828 CLASS="SECTION" 844 CLASS="SECTION"
829 ><A 845 ><A
830 NAME="AEN193" 846 NAME="AEN200"
831 >3.6. Assembler Directives</A 847 >3.6. Assembler Directives</A
832 ></H2 848 ></H2
833 ><P 849 ><P
834 >Various directives can be used to control the behaviour of the 850 >Various directives can be used to control the behaviour of the
835 assembler or to include non-code/data in the resulting output. Those directives 851 assembler or to include non-code/data in the resulting output. Those directives
838 ><DIV 854 ><DIV
839 CLASS="SECTION" 855 CLASS="SECTION"
840 ><HR><H3 856 ><HR><H3
841 CLASS="SECTION" 857 CLASS="SECTION"
842 ><A 858 ><A
843 NAME="AEN196" 859 NAME="AEN203"
844 >3.6.1. Data Directives</A 860 >3.6.1. Data Directives</A
845 ></H3 861 ></H3
846 ><P 862 ><P
847 ></P 863 ></P
848 ><DIV 864 ><DIV
1054 ><DIV 1070 ><DIV
1055 CLASS="SECTION" 1071 CLASS="SECTION"
1056 ><HR><H3 1072 ><HR><H3
1057 CLASS="SECTION" 1073 CLASS="SECTION"
1058 ><A 1074 ><A
1059 NAME="AEN299" 1075 NAME="AEN306"
1060 >3.6.2. Address Definition</A 1076 >3.6.2. Address Definition</A
1061 ></H3 1077 ></H3
1062 ><P 1078 ><P
1063 >The directives in this section all control the addresses of symbols 1079 >The directives in this section all control the addresses of symbols
1064 or the assembly process itself.</P 1080 or the assembly process itself.</P
1190 ><DIV 1206 ><DIV
1191 CLASS="SECTION" 1207 CLASS="SECTION"
1192 ><HR><H3 1208 ><HR><H3
1193 CLASS="SECTION" 1209 CLASS="SECTION"
1194 ><A 1210 ><A
1195 NAME="AEN346" 1211 NAME="AEN353"
1196 >3.6.3. Conditional Assembly</A 1212 >3.6.3. Conditional Assembly</A
1197 ></H3 1213 ></H3
1198 ><P 1214 ><P
1199 >Portions of the source code can be excluded or included based on conditions 1215 >Portions of the source code can be excluded or included based on conditions
1200 known at assembly time. Conditionals can be nested arbitrarily deeply. The 1216 known at assembly time. Conditionals can be nested arbitrarily deeply. The
1353 ><DIV 1369 ><DIV
1354 CLASS="SECTION" 1370 CLASS="SECTION"
1355 ><HR><H3 1371 ><HR><H3
1356 CLASS="SECTION" 1372 CLASS="SECTION"
1357 ><A 1373 ><A
1358 NAME="AEN411" 1374 NAME="AEN418"
1359 >3.6.4. OS9 Target Directives</A 1375 >3.6.4. OS9 Target Directives</A
1360 ></H3 1376 ></H3
1361 ><P 1377 ><P
1362 >This section includes directives that apply solely to the OS9 1378 >This section includes directives that apply solely to the OS9
1363 target.</P 1379 target.</P
1420 ><DIV 1436 ><DIV
1421 CLASS="SECTION" 1437 CLASS="SECTION"
1422 ><HR><H3 1438 ><HR><H3
1423 CLASS="SECTION" 1439 CLASS="SECTION"
1424 ><A 1440 ><A
1425 NAME="AEN436" 1441 NAME="AEN443"
1426 >3.6.5. Miscelaneous Directives</A 1442 >3.6.5. Miscelaneous Directives</A
1427 ></H3 1443 ></H3
1428 ><P 1444 ><P
1429 >This section includes directives that do not fit into the other 1445 >This section includes directives that do not fit into the other
1430 categories.</P 1446 categories.</P
1534 ><DIV 1550 ><DIV
1535 CLASS="SECTION" 1551 CLASS="SECTION"
1536 ><HR><H2 1552 ><HR><H2
1537 CLASS="SECTION" 1553 CLASS="SECTION"
1538 ><A 1554 ><A
1539 NAME="AEN476" 1555 NAME="AEN483"
1540 >3.7. Macros</A 1556 >3.7. Macros</A
1541 ></H2 1557 ></H2
1542 ><P 1558 ><P
1543 >LWASM is a macro assembler. A macro is simply a name that stands in for a 1559 >LWASM is a macro assembler. A macro is simply a name that stands in for a
1544 series of instructions. Once a macro is defined, it is used like any other 1560 series of instructions. Once a macro is defined, it is used like any other
1633 ><DIV 1649 ><DIV
1634 CLASS="SECTION" 1650 CLASS="SECTION"
1635 ><HR><H2 1651 ><HR><H2
1636 CLASS="SECTION" 1652 CLASS="SECTION"
1637 ><A 1653 ><A
1638 NAME="AEN499" 1654 NAME="AEN506"
1639 >3.8. Structures</A 1655 >3.8. Structures</A
1640 ></H2 1656 ></H2
1641 ><P 1657 ><P
1642 >&#13;Structures are used to group related data in a fixed structure. A structure 1658 >&#13;Structures are used to group related data in a fixed structure. A structure
1643 consists a number of fields, defined in sequential order and which take up 1659 consists a number of fields, defined in sequential order and which take up
1726 ><DIV 1742 ><DIV
1727 CLASS="SECTION" 1743 CLASS="SECTION"
1728 ><HR><H2 1744 ><HR><H2
1729 CLASS="SECTION" 1745 CLASS="SECTION"
1730 ><A 1746 ><A
1731 NAME="AEN520" 1747 NAME="AEN527"
1732 >3.9. Object Files and Sections</A 1748 >3.9. Object Files and Sections</A
1733 ></H2 1749 ></H2
1734 ><P 1750 ><P
1735 >The object file target is very useful for large project because it allows 1751 >The object file target is very useful for large project because it allows
1736 multiple files to be assembled independently and then linked into the final 1752 multiple files to be assembled independently and then linked into the final
1943 ><DIV 1959 ><DIV
1944 CLASS="SECTION" 1960 CLASS="SECTION"
1945 ><HR><H2 1961 ><HR><H2
1946 CLASS="SECTION" 1962 CLASS="SECTION"
1947 ><A 1963 ><A
1948 NAME="AEN584" 1964 NAME="AEN591"
1949 >3.10. Assembler Modes and Pragmas</A 1965 >3.10. Assembler Modes and Pragmas</A
1950 ></H2 1966 ></H2
1951 ><P 1967 ><P
1952 >There are a number of options that affect the way assembly is performed. 1968 >There are a number of options that affect the way assembly is performed.
1953 Some of these options can only be specified on the command line because 1969 Some of these options can only be specified on the command line because
2016 >This directive will not throw any errors for any reason.</P 2032 >This directive will not throw any errors for any reason.</P
2017 ></DD 2033 ></DD
2018 ></DL 2034 ></DL
2019 ></DIV 2035 ></DIV
2020 ><P 2036 ><P
2021 >Each pragma supported has a positive version and a negative version. 2037 >Each pragma supported has a positive version and a negative version.
2022 The positive version enables the pragma while the negative version disables 2038 The positive version enables the pragma while the negative version disables
2023 it. The negatitve version is simply the positive version with "no" prefixed 2039 it. The negatitve version is simply the positive version with "no" prefixed
2024 to it. For instance, "pragma" vs. "nopragma". Only the positive version is 2040 to it. For instance, "pragma" vs. "nopragma". When only one version is
2025 listed below.</P 2041 listed below, its opposite can be obtained by prepending "no" if it is not
2042 present or removing "no" from the beginning if it is present.</P
2026 ><P 2043 ><P
2027 >Pragmas are not case sensitive.</P 2044 >Pragmas are not case sensitive.</P
2028 ><P 2045 ><P
2029 ></P 2046 ></P
2030 ><DIV 2047 ><DIV
2150 ><P 2167 ><P
2151 >Because this pragma leads to source that is incompatible with other 2168 >Because this pragma leads to source that is incompatible with other
2152 assemblers, it is strongly recommended that it be invoked using the PRAGMA 2169 assemblers, it is strongly recommended that it be invoked using the PRAGMA
2153 directive within the source code rather than on the command line or via the 2170 directive within the source code rather than on the command line or via the
2154 *PRAGMA directive. This way, an error will be raised if someone tries to 2171 *PRAGMA directive. This way, an error will be raised if someone tries to
2155 * assemble the code under a different assembler.</P 2172 assemble the code under a different assembler.</P
2173 ></DD
2174 ><DT
2175 >nosymbolcase, symbolnocase</DT
2176 ><DD
2177 ><P
2178 >Any symbol defined while this pragma is in force will be treated as
2179 case insensitive, regardless whether the pragma is in force when the symbol
2180 is referenced.</P
2181 ><P
2182 >It is important to note that this pragma will not work as expected in
2183 all cases when using the object file assembly target. It is intended for
2184 use only when the assembler will be producing the final binary.</P
2185 ></DD
2186 ><DT
2187 >condundefzero</DT
2188 ><DD
2189 ><P
2190 >This pragma will cause the assembler to change the way it handles
2191 symbols in conditional expressions. Ordinarily, any symbol that is not
2192 defined prior to the conditional will throw an undefined symbol error. With
2193 this pragma in effect, symbols that are not yet defined at the point the
2194 conditional is encountered will be treated as zero.</P
2195 ><P
2196 >This is not the default because it encourages poor code design. One
2197 should use the "IFDEF" or "IFNDEF" conditionals to test for the presence of
2198 a symbol.</P
2199 ><P
2200 >It is important to note that if a symbol is defined but it does not
2201 yet evaluate to a constant value at the point where the conditional appears,
2202 the assembler will still complain about a non constant condition.</P
2156 ></DD 2203 ></DD
2157 ></DL 2204 ></DL
2158 ></DIV 2205 ></DIV
2159 ><P 2206 ><P
2160 >As a convenience, each input file has a pragma state stack. This 2207 >As a convenience, each input file has a pragma state stack. This
2176 ></DIV 2223 ></DIV
2177 ><DIV 2224 ><DIV
2178 CLASS="CHAPTER" 2225 CLASS="CHAPTER"
2179 ><HR><H1 2226 ><HR><H1
2180 ><A 2227 ><A
2181 NAME="AEN662" 2228 NAME="AEN681"
2182 ></A 2229 ></A
2183 >Chapter 4. LWLINK</H1 2230 >Chapter 4. LWLINK</H1
2184 ><P 2231 ><P
2185 >The LWTOOLS linker is called LWLINK. This chapter documents the various features 2232 >The LWTOOLS linker is called LWLINK. This chapter documents the various features
2186 of the linker.</P 2233 of the linker.</P
2187 ><DIV 2234 ><DIV
2188 CLASS="SECTION" 2235 CLASS="SECTION"
2189 ><HR><H2 2236 ><HR><H2
2190 CLASS="SECTION" 2237 CLASS="SECTION"
2191 ><A 2238 ><A
2192 NAME="AEN665" 2239 NAME="AEN684"
2193 >4.1. Command Line Options</A 2240 >4.1. Command Line Options</A
2194 ></H2 2241 ></H2
2195 ><P 2242 ><P
2196 >The binary for LWLINK is called "lwlink". Note that the binary is in lower 2243 >The binary for LWLINK is called "lwlink". Note that the binary is in lower
2197 case. lwlink takes the following command line arguments.</P 2244 case. lwlink takes the following command line arguments.</P
2384 ><DIV 2431 ><DIV
2385 CLASS="SECTION" 2432 CLASS="SECTION"
2386 ><HR><H2 2433 ><HR><H2
2387 CLASS="SECTION" 2434 CLASS="SECTION"
2388 ><A 2435 ><A
2389 NAME="AEN762" 2436 NAME="AEN781"
2390 >4.2. Linker Operation</A 2437 >4.2. Linker Operation</A
2391 ></H2 2438 ></H2
2392 ><P 2439 ><P
2393 >&#13;LWLINK takes one or more files in supported input formats and links them 2440 >&#13;LWLINK takes one or more files in supported input formats and links them
2394 into a single binary. Currently supported formats are the LWTOOLS object 2441 into a single binary. Currently supported formats are the LWTOOLS object
2440 ><DIV 2487 ><DIV
2441 CLASS="SECTION" 2488 CLASS="SECTION"
2442 ><HR><H2 2489 ><HR><H2
2443 CLASS="SECTION" 2490 CLASS="SECTION"
2444 ><A 2491 ><A
2445 NAME="AEN776" 2492 NAME="AEN795"
2446 >4.3. Linking Scripts</A 2493 >4.3. Linking Scripts</A
2447 ></H2 2494 ></H2
2448 ><P 2495 ><P
2449 >A linker script is used to instruct the linker about how to assemble the 2496 >A linker script is used to instruct the linker about how to assemble the
2450 various sections into a completed binary. It consists of a series of 2497 various sections into a completed binary. It consists of a series of
2548 ><DIV 2595 ><DIV
2549 CLASS="SECTION" 2596 CLASS="SECTION"
2550 ><HR><H2 2597 ><HR><H2
2551 CLASS="SECTION" 2598 CLASS="SECTION"
2552 ><A 2599 ><A
2553 NAME="AEN810" 2600 NAME="AEN829"
2554 >4.4. Format Specific Linking Notes</A 2601 >4.4. Format Specific Linking Notes</A
2555 ></H2 2602 ></H2
2556 ><P 2603 ><P
2557 >Some formats require special information to be able to generate actual 2604 >Some formats require special information to be able to generate actual
2558 binaries. If the specific format you are interested in is not listed in 2605 binaries. If the specific format you are interested in is not listed in
2561 ><DIV 2608 ><DIV
2562 CLASS="SECTION" 2609 CLASS="SECTION"
2563 ><HR><H3 2610 ><HR><H3
2564 CLASS="SECTION" 2611 CLASS="SECTION"
2565 ><A 2612 ><A
2566 NAME="AEN813" 2613 NAME="AEN832"
2567 >4.4.1. OS9 Modules</A 2614 >4.4.1. OS9 Modules</A
2568 ></H3 2615 ></H3
2569 ><P 2616 ><P
2570 >OS9 modules need to embed several items into the module header. These 2617 >OS9 modules need to embed several items into the module header. These
2571 items are the type of module, the langauge of the module, the module 2618 items are the type of module, the langauge of the module, the module
2637 ></DIV 2684 ></DIV
2638 ><DIV 2685 ><DIV
2639 CLASS="CHAPTER" 2686 CLASS="CHAPTER"
2640 ><HR><H1 2687 ><HR><H1
2641 ><A 2688 ><A
2642 NAME="AEN825" 2689 NAME="AEN844"
2643 ></A 2690 ></A
2644 >Chapter 5. Libraries and LWAR</H1 2691 >Chapter 5. Libraries and LWAR</H1
2645 ><P 2692 ><P
2646 >LWTOOLS also includes a tool for managing libraries. These are analogous to 2693 >LWTOOLS also includes a tool for managing libraries. These are analogous to
2647 the static libraries created with the "ar" tool on POSIX systems. Each library 2694 the static libraries created with the "ar" tool on POSIX systems. Each library
2656 ><DIV 2703 ><DIV
2657 CLASS="SECTION" 2704 CLASS="SECTION"
2658 ><HR><H2 2705 ><HR><H2
2659 CLASS="SECTION" 2706 CLASS="SECTION"
2660 ><A 2707 ><A
2661 NAME="AEN829" 2708 NAME="AEN848"
2662 >5.1. Command Line Options</A 2709 >5.1. Command Line Options</A
2663 ></H2 2710 ></H2
2664 ><P 2711 ><P
2665 >The binary for LWAR is called "lwar". Note that the binary is in lower 2712 >The binary for LWAR is called "lwar". Note that the binary is in lower
2666 case. The options lwar understands are listed below. For archive manipulation 2713 case. The options lwar understands are listed below. For archive manipulation
2857 followed by any data required by the term. Then end of the list is flagged 2904 followed by any data required by the term. Then end of the list is flagged
2858 by a NULL expression (only an end of expression term).</P 2905 by a NULL expression (only an end of expression term).</P
2859 ><DIV 2906 ><DIV
2860 CLASS="TABLE" 2907 CLASS="TABLE"
2861 ><A 2908 ><A
2862 NAME="AEN912" 2909 NAME="AEN931"
2863 ></A 2910 ></A
2864 ><P 2911 ><P
2865 ><B 2912 ><B
2866 >Table 6-1. Object File Term Types</B 2913 >Table 6-1. Object File Term Types</B
2867 ></P 2914 ></P
2929 allows local symbols that are not exported to have the same names as 2976 allows local symbols that are not exported to have the same names as
2930 exported symbols or external references.</P 2977 exported symbols or external references.</P
2931 ><DIV 2978 ><DIV
2932 CLASS="TABLE" 2979 CLASS="TABLE"
2933 ><A 2980 ><A
2934 NAME="AEN942" 2981 NAME="AEN961"
2935 ></A 2982 ></A
2936 ><P 2983 ><P
2937 ><B 2984 ><B
2938 >Table 6-2. Object File Operator Numbers</B 2985 >Table 6-2. Object File Operator Numbers</B
2939 ></P 2986 ></P