comparison docs/manual/manual.html @ 254:155799f6cfa5

Add documentation for the FILL pseudo operation
author William Astle <lost@l-w.ca>
date Wed, 30 Jan 2013 21:32:14 -0700
parents ed1009bce533
children c4853a54b4a1
comparison
equal deleted inserted replaced
253:ed1009bce533 254:155799f6cfa5
130 HREF="#AEN203" 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="#AEN306" 135 HREF="#AEN314"
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="#AEN353" 140 HREF="#AEN361"
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="#AEN418" 145 HREF="#AEN426"
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="#AEN443" 150 HREF="#AEN451"
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="#AEN483" 157 HREF="#AEN491"
158 >Macros</A 158 >Macros</A
159 ></DT 159 ></DT
160 ><DT 160 ><DT
161 >3.8. <A 161 >3.8. <A
162 HREF="#AEN506" 162 HREF="#AEN514"
163 >Structures</A 163 >Structures</A
164 ></DT 164 ></DT
165 ><DT 165 ><DT
166 >3.9. <A 166 >3.9. <A
167 HREF="#AEN527" 167 HREF="#AEN535"
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="#AEN591" 172 HREF="#AEN599"
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="#AEN685" 179 HREF="#AEN693"
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="#AEN688" 186 HREF="#AEN696"
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="#AEN785" 191 HREF="#AEN793"
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="#AEN799" 196 HREF="#AEN807"
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="#AEN856" 201 HREF="#AEN864"
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="#AEN859" 208 HREF="#AEN867"
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="#AEN871" 217 HREF="#AEN879"
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="#AEN875" 224 HREF="#AEN883"
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="#AEN958" 246 HREF="#AEN966"
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="#AEN988" 251 HREF="#AEN996"
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
1062 ><P 1062 ><P
1063 > Please note that absolute path detection including drive letters will 1063 > Please note that absolute path detection including drive letters will
1064 not function correctly on Windows platforms. Non-absolute inclusion will 1064 not function correctly on Windows platforms. Non-absolute inclusion will
1065 work, however.</P 1065 work, however.</P
1066 ></DD 1066 ></DD
1067 ><DT
1068 >FILL <CODE
1069 CLASS="PARAMETER"
1070 >size</CODE
1071 >,<CODE
1072 CLASS="PARAMETER"
1073 >byte</CODE
1074 ></DT
1075 ><DD
1076 ><P
1077 >Insert <CODE
1078 CLASS="PARAMETER"
1079 >size</CODE
1080 > bytes of <CODE
1081 CLASS="PARAMETER"
1082 >byte</CODE
1083 >.</P
1084 ></DD
1067 ></DL 1085 ></DL
1068 ></DIV 1086 ></DIV
1069 ></DIV 1087 ></DIV
1070 ><DIV 1088 ><DIV
1071 CLASS="SECTION" 1089 CLASS="SECTION"
1072 ><HR><H3 1090 ><HR><H3
1073 CLASS="SECTION" 1091 CLASS="SECTION"
1074 ><A 1092 ><A
1075 NAME="AEN306" 1093 NAME="AEN314"
1076 >3.6.2. Address Definition</A 1094 >3.6.2. Address Definition</A
1077 ></H3 1095 ></H3
1078 ><P 1096 ><P
1079 >The directives in this section all control the addresses of symbols 1097 >The directives in this section all control the addresses of symbols
1080 or the assembly process itself.</P 1098 or the assembly process itself.</P
1206 ><DIV 1224 ><DIV
1207 CLASS="SECTION" 1225 CLASS="SECTION"
1208 ><HR><H3 1226 ><HR><H3
1209 CLASS="SECTION" 1227 CLASS="SECTION"
1210 ><A 1228 ><A
1211 NAME="AEN353" 1229 NAME="AEN361"
1212 >3.6.3. Conditional Assembly</A 1230 >3.6.3. Conditional Assembly</A
1213 ></H3 1231 ></H3
1214 ><P 1232 ><P
1215 >Portions of the source code can be excluded or included based on conditions 1233 >Portions of the source code can be excluded or included based on conditions
1216 known at assembly time. Conditionals can be nested arbitrarily deeply. The 1234 known at assembly time. Conditionals can be nested arbitrarily deeply. The
1369 ><DIV 1387 ><DIV
1370 CLASS="SECTION" 1388 CLASS="SECTION"
1371 ><HR><H3 1389 ><HR><H3
1372 CLASS="SECTION" 1390 CLASS="SECTION"
1373 ><A 1391 ><A
1374 NAME="AEN418" 1392 NAME="AEN426"
1375 >3.6.4. OS9 Target Directives</A 1393 >3.6.4. OS9 Target Directives</A
1376 ></H3 1394 ></H3
1377 ><P 1395 ><P
1378 >This section includes directives that apply solely to the OS9 1396 >This section includes directives that apply solely to the OS9
1379 target.</P 1397 target.</P
1436 ><DIV 1454 ><DIV
1437 CLASS="SECTION" 1455 CLASS="SECTION"
1438 ><HR><H3 1456 ><HR><H3
1439 CLASS="SECTION" 1457 CLASS="SECTION"
1440 ><A 1458 ><A
1441 NAME="AEN443" 1459 NAME="AEN451"
1442 >3.6.5. Miscelaneous Directives</A 1460 >3.6.5. Miscelaneous Directives</A
1443 ></H3 1461 ></H3
1444 ><P 1462 ><P
1445 >This section includes directives that do not fit into the other 1463 >This section includes directives that do not fit into the other
1446 categories.</P 1464 categories.</P
1550 ><DIV 1568 ><DIV
1551 CLASS="SECTION" 1569 CLASS="SECTION"
1552 ><HR><H2 1570 ><HR><H2
1553 CLASS="SECTION" 1571 CLASS="SECTION"
1554 ><A 1572 ><A
1555 NAME="AEN483" 1573 NAME="AEN491"
1556 >3.7. Macros</A 1574 >3.7. Macros</A
1557 ></H2 1575 ></H2
1558 ><P 1576 ><P
1559 >LWASM is a macro assembler. A macro is simply a name that stands in for a 1577 >LWASM is a macro assembler. A macro is simply a name that stands in for a
1560 series of instructions. Once a macro is defined, it is used like any other 1578 series of instructions. Once a macro is defined, it is used like any other
1649 ><DIV 1667 ><DIV
1650 CLASS="SECTION" 1668 CLASS="SECTION"
1651 ><HR><H2 1669 ><HR><H2
1652 CLASS="SECTION" 1670 CLASS="SECTION"
1653 ><A 1671 ><A
1654 NAME="AEN506" 1672 NAME="AEN514"
1655 >3.8. Structures</A 1673 >3.8. Structures</A
1656 ></H2 1674 ></H2
1657 ><P 1675 ><P
1658 >&#13;Structures are used to group related data in a fixed structure. A structure 1676 >&#13;Structures are used to group related data in a fixed structure. A structure
1659 consists a number of fields, defined in sequential order and which take up 1677 consists a number of fields, defined in sequential order and which take up
1742 ><DIV 1760 ><DIV
1743 CLASS="SECTION" 1761 CLASS="SECTION"
1744 ><HR><H2 1762 ><HR><H2
1745 CLASS="SECTION" 1763 CLASS="SECTION"
1746 ><A 1764 ><A
1747 NAME="AEN527" 1765 NAME="AEN535"
1748 >3.9. Object Files and Sections</A 1766 >3.9. Object Files and Sections</A
1749 ></H2 1767 ></H2
1750 ><P 1768 ><P
1751 >The object file target is very useful for large project because it allows 1769 >The object file target is very useful for large project because it allows
1752 multiple files to be assembled independently and then linked into the final 1770 multiple files to be assembled independently and then linked into the final
1959 ><DIV 1977 ><DIV
1960 CLASS="SECTION" 1978 CLASS="SECTION"
1961 ><HR><H2 1979 ><HR><H2
1962 CLASS="SECTION" 1980 CLASS="SECTION"
1963 ><A 1981 ><A
1964 NAME="AEN591" 1982 NAME="AEN599"
1965 >3.10. Assembler Modes and Pragmas</A 1983 >3.10. Assembler Modes and Pragmas</A
1966 ></H2 1984 ></H2
1967 ><P 1985 ><P
1968 >There are a number of options that affect the way assembly is performed. 1986 >There are a number of options that affect the way assembly is performed.
1969 Some of these options can only be specified on the command line because 1987 Some of these options can only be specified on the command line because
2234 ></DIV 2252 ></DIV
2235 ><DIV 2253 ><DIV
2236 CLASS="CHAPTER" 2254 CLASS="CHAPTER"
2237 ><HR><H1 2255 ><HR><H1
2238 ><A 2256 ><A
2239 NAME="AEN685" 2257 NAME="AEN693"
2240 ></A 2258 ></A
2241 >Chapter 4. LWLINK</H1 2259 >Chapter 4. LWLINK</H1
2242 ><P 2260 ><P
2243 >The LWTOOLS linker is called LWLINK. This chapter documents the various features 2261 >The LWTOOLS linker is called LWLINK. This chapter documents the various features
2244 of the linker.</P 2262 of the linker.</P
2245 ><DIV 2263 ><DIV
2246 CLASS="SECTION" 2264 CLASS="SECTION"
2247 ><HR><H2 2265 ><HR><H2
2248 CLASS="SECTION" 2266 CLASS="SECTION"
2249 ><A 2267 ><A
2250 NAME="AEN688" 2268 NAME="AEN696"
2251 >4.1. Command Line Options</A 2269 >4.1. Command Line Options</A
2252 ></H2 2270 ></H2
2253 ><P 2271 ><P
2254 >The binary for LWLINK is called "lwlink". Note that the binary is in lower 2272 >The binary for LWLINK is called "lwlink". Note that the binary is in lower
2255 case. lwlink takes the following command line arguments.</P 2273 case. lwlink takes the following command line arguments.</P
2442 ><DIV 2460 ><DIV
2443 CLASS="SECTION" 2461 CLASS="SECTION"
2444 ><HR><H2 2462 ><HR><H2
2445 CLASS="SECTION" 2463 CLASS="SECTION"
2446 ><A 2464 ><A
2447 NAME="AEN785" 2465 NAME="AEN793"
2448 >4.2. Linker Operation</A 2466 >4.2. Linker Operation</A
2449 ></H2 2467 ></H2
2450 ><P 2468 ><P
2451 >&#13;LWLINK takes one or more files in supported input formats and links them 2469 >&#13;LWLINK takes one or more files in supported input formats and links them
2452 into a single binary. Currently supported formats are the LWTOOLS object 2470 into a single binary. Currently supported formats are the LWTOOLS object
2498 ><DIV 2516 ><DIV
2499 CLASS="SECTION" 2517 CLASS="SECTION"
2500 ><HR><H2 2518 ><HR><H2
2501 CLASS="SECTION" 2519 CLASS="SECTION"
2502 ><A 2520 ><A
2503 NAME="AEN799" 2521 NAME="AEN807"
2504 >4.3. Linking Scripts</A 2522 >4.3. Linking Scripts</A
2505 ></H2 2523 ></H2
2506 ><P 2524 ><P
2507 >A linker script is used to instruct the linker about how to assemble the 2525 >A linker script is used to instruct the linker about how to assemble the
2508 various sections into a completed binary. It consists of a series of 2526 various sections into a completed binary. It consists of a series of
2676 ><DIV 2694 ><DIV
2677 CLASS="SECTION" 2695 CLASS="SECTION"
2678 ><HR><H2 2696 ><HR><H2
2679 CLASS="SECTION" 2697 CLASS="SECTION"
2680 ><A 2698 ><A
2681 NAME="AEN856" 2699 NAME="AEN864"
2682 >4.4. Format Specific Linking Notes</A 2700 >4.4. Format Specific Linking Notes</A
2683 ></H2 2701 ></H2
2684 ><P 2702 ><P
2685 >Some formats require special information to be able to generate actual 2703 >Some formats require special information to be able to generate actual
2686 binaries. If the specific format you are interested in is not listed in 2704 binaries. If the specific format you are interested in is not listed in
2689 ><DIV 2707 ><DIV
2690 CLASS="SECTION" 2708 CLASS="SECTION"
2691 ><HR><H3 2709 ><HR><H3
2692 CLASS="SECTION" 2710 CLASS="SECTION"
2693 ><A 2711 ><A
2694 NAME="AEN859" 2712 NAME="AEN867"
2695 >4.4.1. OS9 Modules</A 2713 >4.4.1. OS9 Modules</A
2696 ></H3 2714 ></H3
2697 ><P 2715 ><P
2698 >OS9 modules need to embed several items into the module header. These 2716 >OS9 modules need to embed several items into the module header. These
2699 items are the type of module, the langauge of the module, the module 2717 items are the type of module, the langauge of the module, the module
2765 ></DIV 2783 ></DIV
2766 ><DIV 2784 ><DIV
2767 CLASS="CHAPTER" 2785 CLASS="CHAPTER"
2768 ><HR><H1 2786 ><HR><H1
2769 ><A 2787 ><A
2770 NAME="AEN871" 2788 NAME="AEN879"
2771 ></A 2789 ></A
2772 >Chapter 5. Libraries and LWAR</H1 2790 >Chapter 5. Libraries and LWAR</H1
2773 ><P 2791 ><P
2774 >LWTOOLS also includes a tool for managing libraries. These are analogous to 2792 >LWTOOLS also includes a tool for managing libraries. These are analogous to
2775 the static libraries created with the "ar" tool on POSIX systems. Each library 2793 the static libraries created with the "ar" tool on POSIX systems. Each library
2784 ><DIV 2802 ><DIV
2785 CLASS="SECTION" 2803 CLASS="SECTION"
2786 ><HR><H2 2804 ><HR><H2
2787 CLASS="SECTION" 2805 CLASS="SECTION"
2788 ><A 2806 ><A
2789 NAME="AEN875" 2807 NAME="AEN883"
2790 >5.1. Command Line Options</A 2808 >5.1. Command Line Options</A
2791 ></H2 2809 ></H2
2792 ><P 2810 ><P
2793 >The binary for LWAR is called "lwar". Note that the binary is in lower 2811 >The binary for LWAR is called "lwar". Note that the binary is in lower
2794 case. The options lwar understands are listed below. For archive manipulation 2812 case. The options lwar understands are listed below. For archive manipulation
2985 followed by any data required by the term. Then end of the list is flagged 3003 followed by any data required by the term. Then end of the list is flagged
2986 by a NULL expression (only an end of expression term).</P 3004 by a NULL expression (only an end of expression term).</P
2987 ><DIV 3005 ><DIV
2988 CLASS="TABLE" 3006 CLASS="TABLE"
2989 ><A 3007 ><A
2990 NAME="AEN958" 3008 NAME="AEN966"
2991 ></A 3009 ></A
2992 ><P 3010 ><P
2993 ><B 3011 ><B
2994 >Table 6-1. Object File Term Types</B 3012 >Table 6-1. Object File Term Types</B
2995 ></P 3013 ></P
3057 allows local symbols that are not exported to have the same names as 3075 allows local symbols that are not exported to have the same names as
3058 exported symbols or external references.</P 3076 exported symbols or external references.</P
3059 ><DIV 3077 ><DIV
3060 CLASS="TABLE" 3078 CLASS="TABLE"
3061 ><A 3079 ><A
3062 NAME="AEN988" 3080 NAME="AEN996"
3063 ></A 3081 ></A
3064 ><P 3082 ><P
3065 ><B 3083 ><B
3066 >Table 6-2. Object File Operator Numbers</B 3084 >Table 6-2. Object File Operator Numbers</B
3067 ></P 3085 ></P