Mercurial > hg > index.cgi
annotate docs/manual/manual.html @ 235:e3741cf53e00
Fix error messages related to undefined symbols in lwlink
Make lwlink not complain about seciton base and length symbols. Also silence
duplicate complaints about undefined symbols. There is no need to complain
about undefined symbols during the file/section resolution stage! If they
are truly undefined, they'll still be undefined at the reference resolution
stage.
author | William Astle <lost@l-w.ca> |
---|---|
date | Sat, 11 Aug 2012 15:18:58 -0600 |
parents | d389adbcc4ab |
children | ce1fdc8d6568 |
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 >LW Tool Chain</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"></HEAD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
9 ><BODY |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
10 CLASS="BOOK" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
11 BGCOLOR="#FFFFFF" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
12 TEXT="#000000" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
13 LINK="#0000FF" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
14 VLINK="#840084" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
15 ALINK="#0000FF" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
16 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
17 CLASS="BOOK" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
18 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
19 NAME="AEN1" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
20 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
21 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
22 CLASS="TITLEPAGE" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
23 ><H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
24 CLASS="TITLE" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
25 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
26 NAME="AEN2" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
27 >LW Tool Chain</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
28 ></H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
29 ><H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
30 CLASS="AUTHOR" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
31 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
32 NAME="AEN4" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
33 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
34 >William Astle</H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
35 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
36 CLASS="COPYRIGHT" |
232
7da0452512b2
Bumped copyright year to include 2012 on manual
William Astle <lost@l-w.ca>
parents:
231
diff
changeset
|
37 >Copyright © 2009-2012 William Astle</P |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
38 ><HR></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
39 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
40 CLASS="TOC" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
41 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
42 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
43 ><B |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
44 >Table of Contents</B |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
45 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
46 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
47 >1. <A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
48 HREF="#AEN10" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
49 >Introduction</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
50 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
51 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
52 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
53 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
54 >1.1. <A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
55 HREF="#AEN13" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
56 >History</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
57 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
58 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
59 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
60 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
61 >2. <A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
62 HREF="#AEN18" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
63 >Output Formats</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
64 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
65 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
66 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
67 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
68 >2.1. <A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
69 HREF="#AEN21" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
70 >Raw Binaries</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
71 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
72 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
73 >2.2. <A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
74 HREF="#AEN24" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
75 >DECB Binaries</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
76 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
77 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
78 >2.3. <A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
79 HREF="#AEN29" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
80 >OS9 Modules</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
81 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
82 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
83 >2.4. <A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
84 HREF="#AEN37" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
85 >Object Files</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
86 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
87 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
88 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
89 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
90 >3. <A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
91 HREF="#AEN45" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
92 >LWASM</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
93 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
94 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
95 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
96 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
97 >3.1. <A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
98 HREF="#AEN48" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
99 >Command Line Options</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
100 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
101 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
102 >3.2. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
103 HREF="#AEN170" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
104 >Dialects</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
105 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
106 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
107 >3.3. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
108 HREF="#AEN177" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
109 >Source Format</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
110 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
111 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
112 >3.4. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
113 HREF="#AEN187" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
114 >Symbols</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
115 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
116 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
117 >3.5. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
118 HREF="#AEN192" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
119 >Numbers and Expressions</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
120 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
121 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
122 >3.6. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
123 HREF="#AEN200" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
124 >Assembler Directives</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
125 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
126 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
127 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
128 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
129 >3.6.1. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
130 HREF="#AEN203" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
131 >Data Directives</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
132 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
133 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
134 >3.6.2. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
135 HREF="#AEN306" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
136 >Address Definition</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
137 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
138 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
139 >3.6.3. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
140 HREF="#AEN353" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
141 >Conditional Assembly</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
142 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
143 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
144 >3.6.4. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
145 HREF="#AEN418" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
146 >OS9 Target Directives</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
147 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
148 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
149 >3.6.5. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
150 HREF="#AEN443" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
151 >Miscelaneous Directives</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
152 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
153 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
154 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
155 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
156 >3.7. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
157 HREF="#AEN483" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
158 >Macros</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
159 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
160 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
161 >3.8. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
162 HREF="#AEN506" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
163 >Structures</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
164 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
165 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
166 >3.9. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
167 HREF="#AEN527" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
168 >Object Files and Sections</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
169 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
170 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
171 >3.10. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
172 HREF="#AEN591" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
173 >Assembler Modes and Pragmas</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
174 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
175 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
176 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
177 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
178 >4. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
179 HREF="#AEN681" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
180 >LWLINK</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
181 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
182 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
183 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
184 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
185 >4.1. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
186 HREF="#AEN684" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
187 >Command Line Options</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
188 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
189 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
190 >4.2. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
191 HREF="#AEN781" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
192 >Linker Operation</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
193 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
194 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
195 >4.3. <A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
196 HREF="#AEN795" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
197 >Linking Scripts</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
198 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
199 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
200 >4.4. <A |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
201 HREF="#AEN843" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
202 >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
|
203 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
204 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
205 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
206 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
207 >4.4.1. <A |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
208 HREF="#AEN846" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
209 >OS9 Modules</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
210 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
211 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
212 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
213 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
214 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
215 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
216 >5. <A |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
217 HREF="#AEN858" |
153
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</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
219 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
220 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
221 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
222 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
223 >5.1. <A |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
224 HREF="#AEN862" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
225 >Command Line Options</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
226 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
227 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
228 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
229 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
230 >6. <A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
231 HREF="#OBJCHAP" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
232 >Object Files</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
233 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
234 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
235 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
236 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
237 CLASS="LOT" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
238 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
239 CLASS="LOT" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
240 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
241 ><B |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
242 >List of Tables</B |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
243 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
244 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
245 >6-1. <A |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
246 HREF="#AEN945" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
247 >Object File Term Types</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
248 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
249 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
250 >6-2. <A |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
251 HREF="#AEN975" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
252 >Object File Operator Numbers</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
253 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
254 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
255 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
256 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
257 CLASS="CHAPTER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
258 ><HR><H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
259 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
260 NAME="AEN10" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
261 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
262 >Chapter 1. Introduction</H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
263 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
264 >The LW tool chain provides utilities for building binaries for MC6809 and |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
265 HD6309 CPUs. The tool chain includes a cross-assembler and a cross-linker |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
266 which support several styles of output.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
267 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
268 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
269 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
270 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
271 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
272 NAME="AEN13" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
273 >1.1. History</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
274 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
275 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
276 >For a long time, I have had an interest in creating an operating system for |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
277 the Coco3. I finally started working on that project around the beginning of |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
278 2006. I had a number of assemblers I could choose from. Eventually, I settled |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
279 on one and started tinkering. After a while, I realized that assembler was not |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
280 going to be sufficient due to lack of macros and issues with forward references. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
281 Then I tried another which handled forward references correctly but still did |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
282 not support macros. I looked around at other assemblers and they all lacked |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
283 one feature or another that I really wanted for creating my operating system.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
284 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
285 >The solution seemed clear at that point. I am a fair programmer so I figured |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
286 I could write an assembler that would do everything I wanted an assembler to |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
287 do. Thus the LWASM probject was born. After more than two years of on and off |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
288 work, version 1.0 of LWASM was released in October of 2008.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
289 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
290 >As the aforementioned operating system project progressed further, it became |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
291 clear that while assembling the whole project through a single file was doable, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
292 it was not practical. When I found myself playing some fancy games with macros |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
293 in a bid to simulate sections, I realized I needed a means of assembling |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
294 source files separately and linking them later. This spawned a major development |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
295 effort to add an object file support to LWASM. It also spawned the LWLINK |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
296 project to provide a means to actually link the files.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
297 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
298 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
299 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
300 CLASS="CHAPTER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
301 ><HR><H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
302 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
303 NAME="AEN18" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
304 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
305 >Chapter 2. Output Formats</H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
306 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
307 >The LW tool chain supports multiple output formats. Each format has its |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
308 advantages and disadvantages. Each format is described below.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
309 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
310 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
311 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
312 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
313 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
314 NAME="AEN21" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
315 >2.1. Raw Binaries</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
316 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
317 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
318 >A raw binary is simply a string of bytes. There are no headers or other |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
319 niceties. Both LWLINK and LWASM support generating raw binaries. ORG directives |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
320 in the source code only serve to set the addresses that will be used for |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
321 symbols but otherwise have no direct impact on the resulting binary.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
322 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
323 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
324 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
325 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
326 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
327 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
328 NAME="AEN24" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
329 >2.2. DECB Binaries</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
330 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
331 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
332 >A DECB binary is compatible with the LOADM command in Disk Extended |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
333 Color Basic on the CoCo. They are also compatible with CLOADM from Extended |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
334 Color Basic. These binaries include the load address of the binary as well |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
335 as encoding an execution address. These binaries may contain multiple loadable |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
336 sections, each of which has its own load address.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
337 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
338 >Each binary starts with a preamble. Each preamble is five bytes long. The |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
339 first byte is zero. The next two bytes specify the number of bytes to load |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
340 and the last two bytes specify the address to load the bytes at. Then, a |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
341 string of bytes follows. After this string of bytes, there may be another |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
342 preamble or a postamble. A postamble is also five bytes in length. The first |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
343 byte of the postamble is $FF, the next two are zero, and the last two are |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
344 the execution address for the binary.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
345 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
346 >Both LWASM and LWLINK can output this format.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
347 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
348 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
349 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
350 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
351 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
352 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
353 NAME="AEN29" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
354 >2.3. OS9 Modules</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
355 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
356 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
357 > Since version 2.5, LWASM is able to generate OS9 modules. The syntax is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
358 basically the same as for other assemblers. A module starts with the MOD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
359 directive and ends with the EMOD directive. The OS9 directive is provided |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
360 as a shortcut for writing system calls. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
361 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
362 > LWASM does NOT provide an OS9Defs file. You must provide your own. Also note |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
363 that the common practice of using "ifp1" around the inclusion of the OS9Defs |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
364 file is discouraged as it is pointless and can lead to unintentional |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
365 problems and phasing errors. Because LWASM reads each file exactly once, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
366 there is no benefit to restricting the inclusion to the first assembly pass. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
367 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
368 > As of version 4.5, LWASM also implements the standard data/code address |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
369 streams for OS9 modules. That means that between MOD and EMOD, any RMB, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
370 RMD, RMQ, or equivalent directives will move the data address ahead and |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
371 leave the code address unmodified. Outside of an actual module, both the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
372 code and data addresses are moved ahead equally. That last bit is critical |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
373 to understand because it means any directives that follow an EMOD directive |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
374 may have different results than other assemblers. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
375 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
376 > Additionally, within a module body, the ORG directive sets only the data |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
377 address, not the code address. However, outside a module body, ORG sets both |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
378 addresses. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
379 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
380 >Both code and data addresses are reset to 0 by the MOD directive.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
381 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
382 > As of version 4.5, LWLINK also supports creation of OS9 modules. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
383 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
384 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
385 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
386 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
387 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
388 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
389 NAME="AEN37" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
390 >2.4. Object Files</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
391 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
392 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
393 >LWASM supports generating a proprietary object file format which is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
394 described in <A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
395 HREF="#OBJCHAP" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
396 >Chapter 6</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
397 >. LWLINK is then used to link these |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
398 object files into a final binary in any of LWLINK's supported binary |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
399 formats.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
400 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
401 >Object files also support the concept of sections which are not valid |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
402 for other output types. This allows related code from each object file |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
403 linked to be collapsed together in the final binary.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
404 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
405 >Object files are very flexible in that they allow references that are not |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
406 known at assembly time to be resolved at link time. However, because the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
407 addresses of such references are not known at assembly time, there is no way |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
408 for the assembler to deduce that an eight bit addressing mode is possible. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
409 That means the assember will default to using sixteen bit addressing |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
410 whenever an external or cross-section reference is used.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
411 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
412 >As of LWASM 2.4, it is possible to force direct page addressing for an |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
413 external reference. Care must be taken to ensure the resulting addresses |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
414 are really in the direct page since the linker does not know what the direct |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
415 page is supposed to be and does not emit errors for byte overflows.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
416 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
417 >It is also possible to use external references in an eight bit immediate |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
418 mode instruction. In this case, only the low order eight bits will be used. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
419 Again, no byte overflows will be flagged.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
420 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
421 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
422 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
423 CLASS="CHAPTER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
424 ><HR><H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
425 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
426 NAME="AEN45" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
427 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
428 >Chapter 3. LWASM</H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
429 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
430 >The LWTOOLS assembler is called LWASM. This chapter documents the various |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
431 features of the assembler. It is not, however, a tutorial on 6x09 assembly |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
432 language programming.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
433 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
434 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
435 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
436 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
437 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
438 NAME="AEN48" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
439 >3.1. Command Line Options</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
440 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
441 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
442 >The binary for LWASM is called "lwasm". Note that the binary is in lower |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
443 case. lwasm takes the following command line arguments.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
444 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
445 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
446 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
447 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
448 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
449 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
450 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
451 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
452 >--6309</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
453 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
454 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
455 >-3</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
456 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
457 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
458 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
459 >This will cause the assembler to accept the additional instructions available |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
460 on the 6309 processor. This is the default mode; this option is provided for |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
461 completeness and to override preset command arguments.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
462 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
463 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
464 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
465 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
466 >--6809</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
467 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
468 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
469 >-9</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
470 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
471 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
472 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
473 >This will cause the assembler to reject instructions that are only available |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
474 on the 6309 processor.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
475 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
476 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
477 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
478 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
479 >--decb</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
480 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
481 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
482 >-b</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
483 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
484 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
485 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
486 >Select the DECB output format target. Equivalent to <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
487 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
488 >--format=decb</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
489 >.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
490 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
491 >While this is the default output format currently, it is not safe to rely |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
492 on that fact. Future versions may have different defaults. It is also trivial |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
493 to modify the source code to change the default. Thus, it is recommended to specify |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
494 this option if you need DECB output.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
495 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
496 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
497 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
498 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
499 >--format=type</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
500 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
501 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
502 >-f type</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
503 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
504 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
505 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
506 >Select the output format. Valid values are <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
507 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
508 >obj</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
509 > for the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
510 object file target, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
511 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
512 >decb</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
513 > for the DECB LOADM format, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
514 <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
515 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
516 >os9</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
517 > for creating OS9 modules, and <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
518 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
519 >raw</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
520 > for |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
521 a raw binary.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
522 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
523 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
524 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
525 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
526 >--list[=file]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
527 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
528 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
529 >-l[file]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
530 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
531 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
532 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
533 >Cause LWASM to generate a listing. If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
534 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
535 >file</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
536 > is specified, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
537 the listing will go to that file. Otherwise it will go to the standard output |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
538 stream. By default, no listing is generated. Unless <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
539 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
540 >--symbols</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
541 > |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
542 is specified, the list will not include the symbol table.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
543 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
544 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
545 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
546 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
547 >--symbols</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
548 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
549 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
550 >-s</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
551 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
552 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
553 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
554 >Causes LWASM to generate a list of symbols when generating a listing. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
555 It has no effect unless a listing is being generated.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
556 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
557 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
558 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
559 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
560 >--obj</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
561 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
562 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
563 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
564 >Select the proprietary object file format as the output target.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
565 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
566 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
567 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
568 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
569 >--output=FILE</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
570 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
571 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
572 >-o FILE</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
573 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
574 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
575 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
576 >This option specifies the name of the output file. If not specified, the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
577 default is <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
578 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
579 >a.out</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
580 >.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
581 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
582 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
583 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
584 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
585 >--pragma=pragma</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
586 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
587 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
588 >-p pragma</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
589 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
590 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
591 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
592 >Specify assembler pragmas. Multiple pragmas are separated by commas. The |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
593 pragmas accepted are the same as for the PRAGMA assembler directive described |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
594 below.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
595 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
596 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
597 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
598 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
599 >--raw</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
600 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
601 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
602 >-r</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
603 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
604 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
605 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
606 >Select raw binary as the output target.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
607 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
608 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
609 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
610 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
611 >--includedir=path</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
612 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
613 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
614 >-I path</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
615 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
616 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
617 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
618 >Add <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
619 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
620 >path</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
621 > to the end of the include path.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
622 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
623 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
624 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
625 CLASS="OPTION" |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
626 >--define=SYM[=VAL]</CODE |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
627 >, <CODE |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
628 CLASS="OPTION" |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
629 >-I SYM[=VAL]</CODE |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
630 ></DT |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
631 ><DD |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
632 ><P |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
633 >Pre-defines the symbol SYM as either the specified VAL. If VAL is omitted, |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
634 the symbol is defined as 1. The symbol will be defined as though it were |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
635 defined using the SET directive in the assembly source. That means it can |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
636 be overridden by a SET directive within the source code. Attempting to |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
637 redefine SYM using EQU will result in a multiply defined symbol error.</P |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
638 ></DD |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
639 ><DT |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
640 ><CODE |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
641 CLASS="OPTION" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
642 >--help</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
643 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
644 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
645 >-?</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
646 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
647 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
648 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
649 >Present a help screen describing the command line options.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
650 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
651 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
652 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
653 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
654 >--usage</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
655 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
656 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
657 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
658 >Provide a summary of the command line options.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
659 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
660 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
661 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
662 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
663 >--version</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
664 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
665 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
666 >-V</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
667 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
668 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
669 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
670 >Display the software version.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
671 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
672 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
673 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
674 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
675 >--debug</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
676 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
677 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
678 >-d</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
679 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
680 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
681 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
682 >Increase the debugging level. Only really useful to people hacking on the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
683 LWASM source code itself.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
684 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
685 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
686 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
687 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
688 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
689 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
690 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
691 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
692 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
693 NAME="AEN170" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
694 >3.2. Dialects</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
695 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
696 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
697 >LWASM supports all documented MC6809 instructions as defined by Motorola. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
698 It also supports all known HD6309 instructions. While there is general |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
699 agreement on the pneumonics for most of the 6309 instructions, there is some |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
700 variance with the block transfer instructions. TFM for all four variations |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
701 seems to have gained the most traction and, thus, this is the form that is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
702 recommended for LWASM. However, it also supports COPY, COPY-, IMP, EXP, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
703 TFRP, TFRM, TFRS, and TFRR. It further adds COPY+ as a synomym for COPY, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
704 IMPLODE for IMP, and EXPAND for EXP.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
705 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
706 >By default, LWASM accepts 6309 instructions. However, using the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
707 <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
708 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
709 >--6809</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
710 > parameter, you can cause it to throw errors on |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
711 6309 instructions instead.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
712 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
713 >The standard addressing mode specifiers are supported. These are the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
714 hash sign ("#") for immediate mode, the less than sign ("<") for forced |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
715 eight bit modes, and the greater than sign (">") for forced sixteen bit modes.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
716 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
717 >Additionally, LWASM supports using the asterisk ("*") to indicate |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
718 base page addressing. This should not be used in hand-written source code, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
719 however, because it is non-standard and may or may not be present in future |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
720 versions of LWASM.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
721 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
722 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
723 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
724 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
725 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
726 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
727 NAME="AEN177" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
728 >3.3. Source Format</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
729 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
730 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
731 >LWASM accepts plain text files in a relatively free form. It can handle |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
732 lines terminated with CR, LF, CRLF, or LFCR which means it should be able |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
733 to assemble files on any platform on which it compiles.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
734 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
735 >Each line may start with a symbol. If a symbol is present, there must not |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
736 be any whitespace preceding it. It is legal for a line to contain nothing |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
737 but a symbol.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
738 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
739 >The op code is separated from the symbol by whitespace. If there is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
740 no symbol, there must be at least one white space character preceding it. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
741 If applicable, the operand follows separated by whitespace. Following the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
742 opcode and operand is an optional comment.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
743 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
744 > It is important to note that operands cannot contain any whitespace |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
745 except in the case of delimited strings. This is because the first |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
746 whitespace character will be interpreted as the separator between the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
747 operand column and the comment. This behaviour is required for approximate |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
748 source compatibility with other 6x09 assemblers. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
749 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
750 >A comment can also be introduced with a * or a ;. The comment character is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
751 optional for end of statement comments. However, if a symbol is the only |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
752 thing present on the line other than the comment, the comment character is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
753 mandatory to prevent the assembler from interpreting the comment as an opcode.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
754 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
755 >For compatibility with the output generated by some C preprocessors, LWASM |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
756 will also ignore lines that begin with a #. This should not be used as a general |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
757 comment character, however.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
758 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
759 >The opcode is not treated case sensitively. Neither are register names in |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
760 the operand fields. Symbols, however, are case sensitive.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
761 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
762 > As of version 2.6, LWASM supports files with line numbers. If line |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
763 numbers are present, the line must start with a digit. The line number |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
764 itself must consist only of digits. The line number must then be followed |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
765 by either the end of the line or exactly one white space character. After |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
766 that white space character, the lines are interpreted exactly as above. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
767 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
768 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
769 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
770 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
771 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
772 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
773 NAME="AEN187" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
774 >3.4. Symbols</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
775 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
776 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
777 >Symbols have no length restriction. They may contain letters, numbers, dots, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
778 dollar signs, and underscores. They must start with a letter, dot, or |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
779 underscore.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
780 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
781 >LWASM also supports the concept of a local symbol. A local symbol is one |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
782 which contains either a "?" or a "@", which can appear anywhere in the symbol. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
783 The scope of a local symbol is determined by a number of factors. First, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
784 each included file gets its own local symbol scope. A blank line will also |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
785 be considered a local scope barrier. Macros each have their own local symbol |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
786 scope as well (which has a side effect that you cannot use a local symbol |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
787 as an argument to a macro). There are other factors as well. In general, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
788 a local symbol is restricted to the block of code it is defined within.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
789 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
790 >By default, unless assembling to the os9 target, a "$" in the symbol will |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
791 also make it local. This can be controlled by the "dollarlocal" and |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
792 "nodollarlocal" pragmas. In the absence of a pragma to the contrary, for |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
793 the os9 target, a "$" in the symbol will not make it considered local while |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
794 for all other targets it will.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
795 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
796 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
797 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
798 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
799 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
800 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
801 NAME="AEN192" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
802 >3.5. Numbers and Expressions</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
803 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
804 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
805 > Numbers can be expressed in binary, octal, decimal, or hexadecimal. Binary |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
806 numbers may be prefixed with a "%" symbol or suffixed with a "b" or "B". |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
807 Octal numbers may be prefixed with "@" or suffixed with "Q", "q", "O", or |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
808 "o". Hexadecimal numbers may be prefixed with "$", "0x" or "0X", or suffixed |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
809 with "H". No prefix or suffix is required for decimal numbers but they can |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
810 be prefixed with "&" if desired. Any constant which begins with a letter |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
811 must be expressed with the correct prefix base identifier or be prefixed |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
812 with a 0. Thus hexadecimal FF would have to be written either 0FFH or $FF. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
813 Numbers are not case sensitive. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
814 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
815 > A symbol may appear at any point where a number is acceptable. The |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
816 special symbol "*" can be used to represent the starting address of the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
817 current source line within expressions. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
818 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
819 >The ASCII value of a character can be included by prefixing it with a |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
820 single quote ('). The ASCII values of two characters can be included by |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
821 prefixing the characters with a quote (").</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
822 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
823 > LWASM supports the following basic binary operators: +, -, *, /, and %. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
824 These represent addition, subtraction, multiplication, division, and |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
825 modulus. It also supports unary negation and unary 1's complement (- and ^ |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
826 respectively). It is also possible to use ~ for the unary 1's complement |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
827 operator. For completeness, a unary positive (+) is supported though it is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
828 a no-op. LWASM also supports using |, &, and ^ for bitwise or, bitwise and, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
829 and bitwise exclusive or respectively. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
830 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
831 > Operator precedence follows the usual rules. Multiplication, division, and |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
832 modulus take precedence over addition and subtraction. Unary operators take |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
833 precedence over binary operators. Bitwise operators are lower precdence |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
834 than addition and subtraction. To force a specific order of evaluation, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
835 parentheses can be used in the usual manner. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
836 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
837 > As of LWASM 2.5, the operators && and || are recognized for boolean and and |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
838 boolean or respectively. They will return either 0 or 1 (false or true). |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
839 They have the lowest precedence of all the binary operators. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
840 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
841 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
842 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
843 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
844 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
845 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
846 NAME="AEN200" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
847 >3.6. Assembler Directives</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
848 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
849 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
850 >Various directives can be used to control the behaviour of the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
851 assembler or to include non-code/data in the resulting output. Those directives |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
852 that are not described in detail in other sections of this document are |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
853 described below.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
854 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
855 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
856 ><HR><H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
857 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
858 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
859 NAME="AEN203" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
860 >3.6.1. Data Directives</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
861 ></H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
862 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
863 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
864 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
865 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
866 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
867 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
868 >FCB <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
869 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
870 >expr[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
871 >, .DB <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
872 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
873 >expr[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
874 >, .BYTE <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
875 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
876 >expr[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
877 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
878 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
879 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
880 >Include one or more constant bytes (separated by commas) in the output.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
881 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
882 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
883 >FDB <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
884 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
885 >expr[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
886 >, .DW <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
887 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
888 >expr[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
889 >, .WORD <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
890 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
891 >expr[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
892 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
893 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
894 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
895 >Include one or more words (separated by commas) in the output.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
896 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
897 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
898 >FQB <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
899 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
900 >expr[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
901 >, .QUAD <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
902 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
903 >expr[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
904 >, .4BYTE <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
905 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
906 >expr[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
907 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
908 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
909 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
910 >Include one or more double words (separated by commas) in the output.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
911 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
912 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
913 >FCC <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
914 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
915 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
916 >, .ASCII <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
917 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
918 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
919 >, .STR <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
920 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
921 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
922 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
923 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
924 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
925 >Include a string of text in the output. The first character of the operand |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
926 is the delimiter which must appear as the last character and cannot appear |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
927 within the string. The string is included with no modifications></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
928 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
929 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
930 >FCN <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
931 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
932 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
933 >, .ASCIZ <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
934 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
935 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
936 >, .STRZ <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
937 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
938 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
939 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
940 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
941 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
942 >Include a NUL terminated string of text in the output. The first character of |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
943 the operand is the delimiter which must appear as the last character and |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
944 cannot appear within the string. A NUL byte is automatically appended to |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
945 the string.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
946 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
947 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
948 >FCS <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
949 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
950 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
951 >, .ASCIS <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
952 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
953 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
954 >, .STRS <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
955 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
956 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
957 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
958 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
959 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
960 >Include a string of text in the output with bit 7 of the final byte set. The |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
961 first character of the operand is the delimiter which must appear as the last |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
962 character and cannot appear within the string.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
963 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
964 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
965 >ZMB <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
966 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
967 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
968 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
969 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
970 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
971 >Include a number of NUL bytes in the output. The number must be fully resolvable |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
972 during pass 1 of assembly so no forward or external references are permitted.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
973 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
974 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
975 >ZMD <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
976 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
977 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
978 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
979 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
980 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
981 >Include a number of zero words in the output. The number must be fully |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
982 resolvable during pass 1 of assembly so no forward or external references are |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
983 permitted.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
984 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
985 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
986 >ZMQ <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
987 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
988 >expr<CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
989 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
990 ></CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
991 ></CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
992 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
993 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
994 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
995 >Include a number of zero double-words in the output. The number must be fully |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
996 resolvable during pass 1 of assembly so no forward or external references are |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
997 permitted.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
998 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
999 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1000 >RMB <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1001 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1002 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1003 >, .BLKB <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1004 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1005 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1006 >, .DS <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1007 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1008 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1009 >, .RS <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1010 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1011 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1012 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1013 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1014 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1015 >Reserve a number of bytes in the output. The number must be fully resolvable |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1016 during pass 1 of assembly so no forward or external references are permitted. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1017 The value of the bytes is undefined.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1018 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1019 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1020 >RMD <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1021 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1022 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1023 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1024 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1025 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1026 >Reserve a number of words in the output. The number must be fully |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1027 resolvable during pass 1 of assembly so no forward or external references are |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1028 permitted. The value of the words is undefined.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1029 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1030 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1031 >RMQ <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1032 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1033 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1034 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1035 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1036 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1037 >Reserve a number of double-words in the output. The number must be fully |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1038 resolvable during pass 1 of assembly so no forward or external references are |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1039 permitted. The value of the double-words is undefined.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1040 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1041 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1042 >INCLUDEBIN <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1043 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1044 >filename</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1045 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1046 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1047 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1048 >Treat the contents of <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1049 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1050 >filename</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1051 > as a string of bytes to |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1052 be included literally at the current assembly point. This has the same effect |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1053 as converting the file contents to a series of FCB statements and including |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1054 those at the current assembly point.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1055 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1056 > If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1057 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1058 >filename</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1059 > beings with a /, the file name |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1060 will be taken as absolute. Otherwise, the current directory will be |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1061 searched followed by the search path in the order specified.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1062 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1063 > Please note that absolute path detection including drive letters will |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1064 not function correctly on Windows platforms. Non-absolute inclusion will |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1065 work, however.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1066 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1067 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1068 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1069 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1070 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1071 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1072 ><HR><H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1073 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1074 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
1075 NAME="AEN306" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1076 >3.6.2. Address Definition</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1077 ></H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1078 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1079 >The directives in this section all control the addresses of symbols |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1080 or the assembly process itself.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1081 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1082 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1083 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1084 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1085 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1086 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1087 >ORG <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1088 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1089 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1090 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1091 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1092 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1093 >Set the assembly address. The address must be fully resolvable on the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1094 first pass so no external or forward references are permitted. ORG is not |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1095 permitted within sections when outputting to object files. For the DECB |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1096 target, each ORG directive after which output is generated will cause |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1097 a new preamble to be output. ORG is only used to determine the addresses |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1098 of symbols when the raw target is used.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1099 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1100 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1101 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1102 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1103 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1104 > EQU <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1105 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1106 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1107 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1108 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1109 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1110 > = <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1111 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1112 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1113 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1114 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1115 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1116 >Define the value of <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1117 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1118 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1119 > to be <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1120 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1121 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1122 >.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1123 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1124 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1125 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1126 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1127 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1128 > SET <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1129 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1130 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1131 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1132 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1133 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1134 >Define the value of <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1135 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1136 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1137 > to be <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1138 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1139 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1140 >. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1141 Unlike EQU, SET permits symbols to be defined multiple times as long as SET |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1142 is used for all instances. Use of the symbol before the first SET statement |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1143 that sets its value is undefined.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1144 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1145 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1146 >SETDP <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1147 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1148 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1149 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1150 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1151 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1152 >Inform the assembler that it can assume the DP register contains |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1153 <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1154 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1155 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1156 >. This directive is only advice to the assembler |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1157 to determine whether an address is in the direct page and has no effect |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1158 on the contents of the DP register. The value must be fully resolved during |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1159 the first assembly pass because it affects the sizes of subsequent instructions.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1160 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1161 >This directive has no effect in the object file target.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1162 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1163 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1164 >ALIGN <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1165 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1166 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1167 >[,<CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1168 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1169 >value</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1170 >]</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1171 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1172 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1173 >Force the current assembly address to be a multiple of |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1174 <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1175 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1176 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1177 >. If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1178 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1179 >value</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1180 > is not |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1181 specified, a series of NUL bytes is output to force the alignment, if |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1182 required. Otherwise, the low order 8 bits of <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1183 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1184 >value</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1185 > |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1186 will be used as the fill. The alignment value must be fully resolved on the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1187 first pass because it affects the addresses of subsquent instructions. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1188 However, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1189 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1190 >value</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1191 > may include forward references; as |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1192 long as it resolves to a constant for the second pass, the value will be |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1193 accepted.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1194 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1195 >Unless <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1196 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1197 >value</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1198 > is specified as something like $12, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1199 this directive is not suitable for inclusion in the middle of actual code. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1200 The default padding value is $00 which is intended to be used within data |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1201 blocks. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1202 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1203 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1204 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1205 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1206 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1207 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1208 ><HR><H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1209 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1210 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
1211 NAME="AEN353" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1212 >3.6.3. Conditional Assembly</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1213 ></H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1214 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1215 >Portions of the source code can be excluded or included based on conditions |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1216 known at assembly time. Conditionals can be nested arbitrarily deeply. The |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1217 directives associated with conditional assembly are described in this section.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1218 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1219 >All conditionals must be fully bracketed. That is, every conditional |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1220 statement must eventually be followed by an ENDC at the same level of nesting.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1221 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1222 >Conditional expressions are only evaluated on the first assembly pass. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1223 It is not possible to game the assembly process by having a conditional |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1224 change its value between assembly passes. Due to the underlying architecture |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1225 of LWASM, there is no possible utility to IFP1 and IFP2, nor can they, as of LWASM 3.0, actually |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1226 be implemented meaningfully. Thus there is not and never will |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1227 be any equivalent of IFP1 or IFP2 as provided by other assemblers. Use of those opcodes |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1228 will throw a warning and be ignored.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1229 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1230 >It is important to note that if a conditional does not resolve to a constant |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1231 during the first parsing pass, an error will be thrown. This is unavoidable because the assembler |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1232 must make a decision about which source to include and which source to exclude at this stage. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1233 Thus, expressions that work normally elsewhere will not work for conditions.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1234 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1235 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1236 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1237 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1238 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1239 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1240 >IFEQ <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1241 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1242 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1243 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1244 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1245 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1246 >If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1247 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1248 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1249 > evaluates to zero, the conditional |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1250 will be considered true.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1251 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1252 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1253 >IFNE <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1254 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1255 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1256 >, IF <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1257 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1258 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1259 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1260 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1261 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1262 >If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1263 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1264 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1265 > evaluates to a non-zero value, the conditional |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1266 will be considered true.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1267 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1268 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1269 >IFGT <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1270 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1271 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1272 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1273 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1274 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1275 >If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1276 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1277 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1278 > evaluates to a value greater than zero, the conditional |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1279 will be considered true.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1280 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1281 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1282 >IFGE <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1283 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1284 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1285 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1286 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1287 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1288 >If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1289 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1290 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1291 > evaluates to a value greater than or equal to zero, the conditional |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1292 will be considered true.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1293 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1294 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1295 >IFLT <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1296 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1297 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1298 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1299 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1300 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1301 >If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1302 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1303 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1304 > evaluates to a value less than zero, the conditional |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1305 will be considered true.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1306 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1307 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1308 >IFLE <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1309 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1310 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1311 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1312 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1313 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1314 >If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1315 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1316 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1317 > evaluates to a value less than or equal to zero , the conditional |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1318 will be considered true.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1319 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1320 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1321 >IFDEF <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1322 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1323 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1324 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1325 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1326 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1327 >If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1328 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1329 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1330 > is defined at this point in the assembly |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1331 process, the conditional |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1332 will be considered true.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1333 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1334 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1335 >IFNDEF <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1336 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1337 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1338 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1339 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1340 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1341 >If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1342 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1343 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1344 > is not defined at this point in the assembly |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1345 process, the conditional |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1346 will be considered true.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1347 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1348 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1349 >ELSE</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1350 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1351 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1352 >If the preceding conditional at the same level of nesting was false, the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1353 statements following will be assembled. If the preceding conditional at |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1354 the same level was true, the statements following will not be assembled. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1355 Note that the preceding conditional might have been another ELSE statement |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1356 although this behaviour is not guaranteed to be supported in future versions |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1357 of LWASM.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1358 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1359 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1360 >ENDC</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1361 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1362 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1363 >This directive marks the end of a conditional construct. Every conditional |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1364 construct must end with an ENDC directive.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1365 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1366 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1367 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1368 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1369 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1370 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1371 ><HR><H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1372 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1373 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
1374 NAME="AEN418" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1375 >3.6.4. OS9 Target Directives</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1376 ></H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1377 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1378 >This section includes directives that apply solely to the OS9 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1379 target.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1380 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1381 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1382 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1383 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1384 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1385 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1386 >OS9 <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1387 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1388 >syscall</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1389 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1390 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1391 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1392 > This directive generates a call to the specified system call. <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1393 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1394 >syscall</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1395 > may be an arbitrary expression. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1396 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1397 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1398 >MOD <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1399 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1400 >size</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1401 >,<CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1402 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1403 >name</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1404 >,<CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1405 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1406 >type</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1407 >,<CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1408 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1409 >flags</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1410 >,<CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1411 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1412 >execoff</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1413 >,<CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1414 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1415 >datasize</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1416 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1417 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1418 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1419 > This tells LWASM that the beginning of the actual module is here. It will |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1420 generate a module header based on the parameters specified. It will also |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1421 begin calcuating the module CRC. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1422 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1423 > The precise meaning of the various parameters is beyond the scope of this |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1424 document since it is not a tutorial on OS9 module programming. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1425 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1426 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1427 >EMOD</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1428 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1429 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1430 > This marks the end of a module and causes LWASM to emit the calculated CRC |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1431 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
|
1432 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1433 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1434 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1435 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1436 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1437 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1438 ><HR><H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1439 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1440 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
1441 NAME="AEN443" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1442 >3.6.5. Miscelaneous Directives</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1443 ></H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1444 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1445 >This section includes directives that do not fit into the other |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1446 categories.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1447 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1448 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1449 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1450 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1451 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1452 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1453 >INCLUDE <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1454 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1455 >filename</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1456 >, USE <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1457 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1458 >filename</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1459 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1460 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1461 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1462 > Include the contents of <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1463 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1464 >filename</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1465 > at |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1466 this point in the assembly as though it were a part of the file currently |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1467 being processed. Note that if whitespace appears in the name of the file, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1468 you must enclose <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1469 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1470 >filename</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1471 > in quotes.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1472 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1473 >Note that the USE variation is provided only for compatibility with other |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1474 assemblers. It is recommended to use the INCLUDE variation.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1475 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1476 >If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1477 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1478 >filename</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1479 > begins with a "/", it is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1480 interpreted as an absolute path. If it does not, the search path will be used |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1481 to find the file. First, the directory containing the file that contains this |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1482 directive. (Includes within an included file are relative to the included file, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1483 not the file that included it.) If the file is not found there, the include path |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1484 is searched. If it is still not found, an error will be thrown. Note that the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1485 current directory as understood by your shell or operating system is not searched.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1486 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1487 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1488 >END <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1489 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1490 >[expr]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1491 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1492 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1493 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1494 >This directive causes the assembler to stop assembling immediately as though |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1495 it ran out of input. For the DECB target only, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1496 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1497 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1498 > |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1499 can be used to set the execution address of the resulting binary. For all |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1500 other targets, specifying <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1501 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1502 >expr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1503 > will cause an error.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1504 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1505 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1506 >ERROR <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1507 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1508 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1509 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1510 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1511 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1512 >Causes a custom error message to be printed at this line. This will cause |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1513 assembly to fail. This directive is most useful inside conditional constructs |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1514 to cause assembly to fail if some condition that is known bad happens. Everything |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1515 from the directive to the end of the line is considered the error message.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1516 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1517 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1518 >WARNING <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1519 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1520 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1521 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1522 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1523 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1524 >Causes a custom warning message to be printed at this line. This will not cause |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1525 assembly to fail. This directive is most useful inside conditional constructs |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1526 or include files to alert the programmer to a deprecated feature being used |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1527 or some other condition that may cause trouble later, but which may, in fact, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1528 not cause any trouble.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1529 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1530 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1531 >.MODULE <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1532 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1533 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1534 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1535 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1536 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1537 >This directive is ignored for most output targets. If the output target |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1538 supports encoding a module name into it, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1539 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1540 >string</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1541 > |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1542 will be used as the module name.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1543 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1544 >As of version 3.0, no supported output targets support this directive.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1545 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1546 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1547 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1548 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1549 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1550 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1551 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1552 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1553 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1554 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
1555 NAME="AEN483" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1556 >3.7. Macros</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1557 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1558 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1559 >LWASM is a macro assembler. A macro is simply a name that stands in for a |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1560 series of instructions. Once a macro is defined, it is used like any other |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1561 assembler directive. Defining a macro can be considered equivalent to adding |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1562 additional assembler directives.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1563 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1564 >Macros may accept parameters. These parameters are referenced within a |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1565 macro by the a backslash ("\") followed by a digit 1 through 9 for the first |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1566 through ninth parameters. They may also be referenced by enclosing the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1567 decimal parameter number in braces ("{num}"). The special expansion "\*" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1568 translates to the exact parameter string, including all parameters, passed |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1569 to the macro. These parameter references are replaced with the verbatim text |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1570 of the parameter passed to the macro. A reference to a non-existent |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1571 parameter will be replaced by an empty string. Macro parameters are expanded |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1572 everywhere on each source line. That means the parameter to a macro could be |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1573 used as a symbol or it could even appear in a comment or could cause an |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1574 entire source line to be commented out when the macro is expanded. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1575 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1576 >Parameters passed to a macro are separated by commas and the parameter list |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1577 is terminated by any whitespace. This means that neither a comma nor whitespace |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1578 may be included in a macro parameter.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1579 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1580 >Macro expansion is done recursively. That is, within a macro, macros are |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1581 expanded. This can lead to infinite loops in macro expansion. If the assembler |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1582 hangs for a long time while assembling a file that uses macros, this may be |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1583 the reason.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1584 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1585 >Each macro expansion receives its own local symbol context which is not |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1586 inherited by any macros called by it nor is it inherited from the context |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1587 the macro was instantiated in. That means it is possible to use local symbols |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1588 within macros without having them collide with symbols in other macros or |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1589 outside the macro itself. However, this also means that using a local symbol |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1590 as a parameter to a macro, while legal, will not do what it would seem to do |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1591 as it will result in looking up the local symbol in the macro's symbol context |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1592 rather than the enclosing context where it came from, likely yielding either |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1593 an undefined symbol error or bizarre assembly results.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1594 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1595 >Note that there is no way to define a macro as local to a symbol context. All |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1596 macros are part of the global macro namespace. However, macros have a separate |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1597 namespace from symbols so it is possible to have a symbol with the same name |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1598 as a macro.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1599 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1600 >Macros are defined only during the first pass. Macro expansion also |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1601 only occurs during the first pass. On the second pass, the macro |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1602 definition is simply ignored. Macros must be defined before they are used.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1603 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1604 >The following directives are used when defining macros.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1605 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1606 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1607 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1608 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1609 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1610 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1611 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1612 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1613 >macroname</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1614 > MACRO [NOEXPAND]</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1615 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1616 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1617 >This directive is used to being the definition of a macro called |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1618 <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1619 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1620 >macroname</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1621 >. If <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1622 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1623 >macroname</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1624 > already |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1625 exists, it is considered an error. Attempting to define a macro within a |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1626 macro is undefined. It may work and it may not so the behaviour should not |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1627 be relied upon.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1628 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1629 >If NOEXPAND is specified, the macro will not be expanded in a program |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1630 listing. Instead, all bytes emitted by all instructions within the macro |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1631 will appear to be emitted on the line where the macro is invoked, starting |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1632 at the address of the line of the invokation. If the macro uses ORG or other |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1633 directives that define symbols or change the assembly address, these things |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1634 will also be hidden (except in the symbol table) and the output bytes will |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1635 appear with incorrect address attribution. Thus, NOEXPAND should only be |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1636 used for macros that do not mess with the assembly address or otherwise |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1637 define symbols that should be visible.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1638 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1639 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1640 >ENDM</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1641 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1642 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1643 >This directive indicates the end of the macro currently being defined. It |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1644 causes the assembler to resume interpreting source lines as normal.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1645 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1646 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1647 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1648 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1649 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1650 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1651 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1652 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1653 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
1654 NAME="AEN506" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1655 >3.8. Structures</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1656 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1657 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1658 > Structures are used to group related data in a fixed structure. A structure |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1659 consists a number of fields, defined in sequential order and which take up |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1660 specified size. The assembler does not enforce any means of access within a |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1661 structure; it assumes that whatever you are doing, you intended to do. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1662 There are two pseudo ops that are used for defining structures. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1663 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1664 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1665 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1666 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1667 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1668 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1669 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1670 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1671 >structname</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1672 > STRUCT</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1673 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1674 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1675 > This directive is used to begin the definition of a structure with name |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1676 <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1677 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1678 >structname</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1679 >. Subsequent statements all form part of |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1680 the structure definition until the end of the structure is declared. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1681 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1682 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1683 >ENDSTRUCT, ENDS</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1684 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1685 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1686 >This directive ends the definition of the structure. ENDSTRUCT is the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1687 preferred form. Prior to version 3.0 of LWASM, ENDS was used to end a |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1688 section instead of a structure.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1689 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1690 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1691 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1692 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1693 > Within a structure definition, only reservation pseudo ops are permitted. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1694 Anything else will cause an assembly error.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1695 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1696 > Once a structure is defined, you can reserve an area of memory in the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1697 same structure by using the structure name as the opcode. Structures can |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1698 also contain fields that are themselves structures. See the example |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1699 below.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1700 ><PRE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1701 CLASS="PROGRAMLISTING" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1702 >tstruct2 STRUCT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1703 f1 rmb 1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1704 f2 rmb 1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1705 ENDSTRUCT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1706 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1707 tstruct STRUCT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1708 field1 rmb 2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1709 field2 rmb 3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1710 field3 tstruct2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1711 ENDSTRUCT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1712 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1713 ORG $2000 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1714 var1 tstruct |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1715 var2 tstruct2</PRE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1716 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1717 >Fields are referenced using a dot (.) as a separator. To refer to the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1718 generic offset within a structure, use the structure name to the left of the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1719 dot. If referring to a field within an actual variable, use the variable's |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1720 symbol name to the left of the dot.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1721 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1722 >You can also refer to the actual size of a structure (or a variable |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1723 declared as a structure) using the special symbol sizeof{structname} where |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1724 structname will be the name of the structure or the name of the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1725 variable.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1726 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1727 >Essentially, structures are a shortcut for defining a vast number of |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1728 symbols. When a structure is defined, the assembler creates symbols for the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1729 various fields in the form structname.fieldname as well as the appropriate |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1730 sizeof{structname} symbol. When a variable is declared as a structure, the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1731 assembler does the same thing using the name of the variable. You will see |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1732 these symbols in the symbol table when the assembler is instructed to |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1733 provide a listing. For instance, the above listing will create the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1734 following symbols (symbol values in parentheses): tstruct2.f1 (0), |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1735 tstruct2.f2 (1), sizeof{tstruct2} (2), tstruct.field1 (0), tstruct.field2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1736 (2), tstruct.field3 (5), tstruct.field3.f1 (5), tstruct.field3.f2 (6), |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1737 sizeof{tstruct.field3} (2), sizeof{tstruct} (7), var1 {$2000}, var1.field1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1738 {$2000}, var1.field2 {$2002}, var1.field3 {$2005}, var1.field3.f1 {$2005}, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1739 var1.field3.f2 {$2006}, sizeof(var1.field3} (2), sizeof{var1} (7), var2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1740 ($2007), var2.f1 ($2007), var2.f2 ($2008), sizeof{var2} (2). </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1741 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1742 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1743 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1744 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1745 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1746 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
1747 NAME="AEN527" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1748 >3.9. Object Files and Sections</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1749 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1750 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1751 >The object file target is very useful for large project because it allows |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1752 multiple files to be assembled independently and then linked into the final |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1753 binary at a later time. It allows only the small portion of the project |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1754 that was modified to be re-assembled rather than requiring the entire set |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1755 of source code to be available to the assembler in a single assembly process. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1756 This can be particularly important if there are a large number of macros, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1757 symbol definitions, or other metadata that uses resources at assembly time. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1758 By far the largest benefit, however, is keeping the source files small enough |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1759 for a mere mortal to find things in them.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1760 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1761 >With multi-file projects, there needs to be a means of resolving references to |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1762 symbols in other source files. These are known as external references. The |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1763 addresses of these symbols cannot be known until the linker joins all the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1764 object files into a single binary. This means that the assembler must be |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1765 able to output the object code without knowing the value of the symbol. This |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1766 places some restrictions on the code generated by the assembler. For |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1767 example, the assembler cannot generate direct page addressing for instructions |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1768 that reference external symbols because the address of the symbol may not |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1769 be in the direct page. Similarly, relative branches and PC relative addressing |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1770 cannot be used in their eight bit forms. Everything that must be resolved |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1771 by the linker must be assembled to use the largest address size possible to |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1772 allow the linker to fill in the correct value at link time. Note that the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1773 same problem applies to absolute address references as well, even those in |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1774 the same source file, because the address is not known until link time.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1775 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1776 >It is often desired in multi-file projects to have code of various types grouped |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1777 together in the final binary generated by the linker as well. The same applies |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1778 to data. In order for the linker to do that, the bits that are to be grouped |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1779 must be tagged in some manner. This is where the concept of sections comes in. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1780 Each chunk of code or data is part of a section in the object file. Then, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1781 when the linker reads all the object files, it coalesces all sections of the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1782 same name into a single section and then considers it as a unit.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1783 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1784 >The existence of sections, however, raises a problem for symbols even |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1785 within the same source file. Thus, the assembler must treat symbols from |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1786 different sections within the same source file in the same manner as external |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1787 symbols. That is, it must leave them for the linker to resolve at link time, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1788 with all the limitations that entails.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1789 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1790 >In the object file target mode, LWASM requires all source lines that |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1791 cause bytes to be output to be inside a section. Any directives that do |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1792 not cause any bytes to be output can appear outside of a section. This includes |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1793 such things as EQU or RMB. Even ORG can appear outside a section. ORG, however, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1794 makes no sense within a section because it is the linker that determines |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1795 the starting address of the section's code, not the assembler.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1796 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1797 >All symbols defined globally in the assembly process are local to the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1798 source file and cannot be exported. All symbols defined within a section are |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1799 considered local to the source file unless otherwise explicitly exported. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1800 Symbols referenced from external source files must be declared external, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1801 either explicitly or by asking the assembler to assume that all undefined |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1802 symbols are external.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1803 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1804 >It is often handy to define a number of memory addresses that will be |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1805 used for data at run-time but which need not be included in the binary file. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1806 These memory addresses are not initialized until run-time, either by the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1807 program itself or by the program loader, depending on the operating environment. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1808 Such sections are often known as BSS sections. LWASM supports generating |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1809 sections with a BSS attribute set which causes the section definition including |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1810 symbols exported from that section and those symbols required to resolve |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1811 references from the local file, but with no actual code in the object file. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1812 It is illegal for any source lines within a BSS flagged section to cause any |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1813 bytes to be output.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1814 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1815 >The following directives apply to section handling.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1816 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1817 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1818 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1819 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1820 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1821 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1822 >SECTION <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1823 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1824 >name[,flags]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1825 >, SECT <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1826 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1827 >name[,flags]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1828 >, .AREA <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1829 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1830 >name[,flags]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1831 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1832 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1833 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1834 >Instructs the assembler that the code following this directive is to be |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1835 considered part of the section <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1836 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1837 >name</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1838 >. A section name |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1839 may appear multiple times in which case it is as though all the code from |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1840 all the instances of that section appeared adjacent within the source file. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1841 However, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1842 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1843 >flags</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1844 > may only be specified on the first |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1845 instance of the section.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1846 ><P |
168 | 1847 ><CODE |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1848 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1849 >flags</CODE |
168 | 1850 > is a comma separated list of flags. If a |
1851 flag is "bss", the section will be treated as a BSS section and no | |
1852 statements that generate output are permitted.</P | |
1853 ><P | |
1854 >If the flag is "constant", | |
1855 the same restrictions apply as for BSS sections. Additionally, all symbols | |
1856 defined in a constant section define absolute values and will not be | |
1857 adjusted by the linker at link time. Constant sections cannot define | |
1858 complex expressions for symbols; the value must be fully defined at assembly | |
1859 time. Additionally, multiple instances of a constant section do not | |
1860 coalesce into a single addressing unit; each instance starts again at offset | |
1861 0.</P | |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1862 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1863 >If the section name is "bss" or ".bss" in any combination of upper and |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1864 lower case, the section is assumed to be a BSS section. In that case, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1865 the flag <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1866 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1867 >!bss</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1868 > can be used to override this assumption.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1869 ><P |
168 | 1870 > If the section name is "_constants" or "_constant", in any |
1871 combination of upper and lower case, the section is assumed to be a constant | |
1872 section. This assumption can be overridden with the "!constant" | |
1873 flag.</P | |
1874 ><P | |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1875 >If assembly is already happening within a section, the section is implicitly |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1876 ended and the new section started. This is not considered an error although |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1877 it is recommended that all sections be explicitly closed.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1878 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1879 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1880 >ENDSECTION, ENDSECT</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1881 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1882 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1883 >This directive ends the current section. This puts assembly outside of any |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1884 sections until the next SECTION directive. ENDSECTION is the preferred form. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1885 Prior to version 3.0 of LWASM, ENDS could also be used to end a section but |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1886 as of version 3.0, it is now an alias for ENDSTRUCT instead.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1887 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1888 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1889 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1890 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1891 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1892 > EXTERN, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1893 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1894 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1895 > EXTERNAL, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1896 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1897 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1898 > IMPORT</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1899 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1900 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1901 >This directive defines <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1902 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1903 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1904 > as an external symbol. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1905 This directive may occur at any point in the source code. EXTERN definitions |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1906 are resolved on the first pass so an EXTERN definition anywhere in the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1907 source file is valid for the entire file. The use of this directive is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1908 optional when the assembler is instructed to assume that all undefined |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1909 symbols are external. In fact, in that mode, if the symbol is referenced |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1910 before the EXTERN directive, an error will occur.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1911 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1912 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1913 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1914 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1915 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1916 > EXPORT, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1917 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1918 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1919 > .GLOBL, EXPORT <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1920 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1921 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1922 >, .GLOBL <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1923 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1924 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1925 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1926 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1927 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1928 >This directive defines <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1929 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1930 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1931 > as an exported symbol. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1932 This directive may occur at any point in the source code, even before the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1933 definition of the exported symbol.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1934 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1935 >Note that <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1936 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1937 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1938 > may appear as the operand or as the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1939 statement's symbol. If there is a symbol on the statement, that will |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1940 take precedence over any operand that is present.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1941 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1942 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1943 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1944 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1945 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1946 > EXTDEP</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1947 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1948 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1949 >This directive forces an external dependency on |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1950 <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1951 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1952 >sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1953 >, even if it is never referenced anywhere else in |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1954 this file.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1955 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1956 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1957 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1958 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1959 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1960 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1961 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1962 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1963 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
1964 NAME="AEN591" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1965 >3.10. Assembler Modes and Pragmas</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1966 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1967 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1968 >There are a number of options that affect the way assembly is performed. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1969 Some of these options can only be specified on the command line because |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1970 they determine something absolute about the assembly process. These include |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1971 such things as the output target. Other things may be switchable during |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1972 the assembly process. These are known as pragmas and are, by definition, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1973 not portable between assemblers.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1974 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1975 >LWASM supports a number of pragmas that affect code generation or |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1976 otherwise affect the behaviour of the assembler. These may be specified by |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1977 way of a command line option or by assembler directives. The directives |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1978 are as follows.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1979 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1980 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1981 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1982 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1983 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1984 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1985 >PRAGMA <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1986 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1987 >pragma[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1988 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1989 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1990 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1991 >Specifies that the assembler should bring into force all <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1992 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1993 >pragma</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1994 >s |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1995 specified. Any unrecognized pragma will cause an assembly error. The new |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1996 pragmas will take effect immediately. This directive should be used when |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1997 the program will assemble incorrectly if the pragma is ignored or not supported.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1998 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
1999 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2000 >*PRAGMA <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2001 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2002 >pragma[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2003 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2004 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2005 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2006 >This is identical to the PRAGMA directive except no error will occur with |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2007 unrecognized or unsupported pragmas. This directive, by virtue of starting |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2008 with a comment character, will also be ignored by assemblers that do not |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2009 support this directive. Use this variation if the pragma is not required |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2010 for correct functioning of the code.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2011 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2012 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2013 >*PRAGMAPUSH <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2014 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2015 >pragma[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2016 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2017 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2018 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2019 >This directive saves the current state of the specified pragma(s) for later retrieval. See discussion below for more information.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2020 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2021 >This directive will not throw any errors for any reason.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2022 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2023 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2024 >*PRAGMAPOP <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2025 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2026 >pragma[,...]</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2027 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2028 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2029 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2030 >This directive restores the previously saved state of the specified pragma(s). See discussion below for more information.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2031 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2032 >This directive will not throw any errors for any reason.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2033 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2034 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2035 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2036 ><P |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2037 >Each pragma supported has a positive version and a negative version. |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2038 The positive version enables the pragma while the negative version disables |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2039 it. The negatitve version is simply the positive version with "no" prefixed |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2040 to it. For instance, "pragma" vs. "nopragma". When only one version is |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2041 listed below, its opposite can be obtained by prepending "no" if it is not |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2042 present or removing "no" from the beginning if it is present.</P |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2043 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2044 >Pragmas are not case sensitive.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2045 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2046 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2047 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2048 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2049 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2050 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2051 >index0tonone</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2052 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2053 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2054 >When in force, this pragma enables an optimization affecting indexed addressing |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2055 modes. When the offset expression in an indexed mode evaluates to zero but is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2056 not explicity written as 0, this will replace the operand with the equivalent |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2057 no offset mode, thus creating slightly faster code. Because of the advantages |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2058 of this optimization, it is enabled by default.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2059 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2060 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2061 >cescapes</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2062 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2063 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2064 >This pragma will cause strings in the FCC, FCS, and FCN pseudo operations to |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2065 have C-style escape sequences interpreted. The one departure from the official |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2066 spec is that unrecognized escape sequences will return either the character |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2067 immediately following the backslash or some undefined value. Do not rely |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2068 on the behaviour of undefined escape sequences.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2069 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2070 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2071 >importundefexport</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2072 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2073 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2074 >This pragma is only valid for targets that support external references. When |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2075 in force, it will cause the EXPORT directive to act as IMPORT if the symbol |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2076 to be exported is not defined. This is provided for compatibility with the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2077 output of gcc6809 and should not be used in hand written code. Because of |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2078 the confusion this pragma can cause, it is disabled by default.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2079 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2080 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2081 >undefextern</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2082 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2083 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2084 >This pragma is only valid for targets that support external references. When in |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2085 force, if the assembler sees an undefined symbol on the second pass, it will |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2086 automatically define it as an external symbol. This automatic definition will |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2087 apply for the remainder of the assembly process, even if the pragma is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2088 subsequently turned off. Because this behaviour would be potentially surprising, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2089 this pragma defaults to off.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2090 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2091 >The primary use for this pragma is for projects that share a large number of |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2092 symbols between source files. In such cases, it is impractical to enumerate |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2093 all the external references in every source file. This allows the assembler |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2094 and linker to do the heavy lifting while not preventing a particular source |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2095 module from defining a local symbol of the same name as an external symbol |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2096 if it does not need the external symbol. (This pragma will not cause an |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2097 automatic external definition if there is already a locally defined symbol.)</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2098 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2099 >This pragma will often be specified on the command line for large projects. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2100 However, depending on the specific dynamics of the project, it may be sufficient |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2101 for one or two files to use this pragma internally.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2102 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2103 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2104 >dollarlocal</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2105 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2106 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2107 >When set, a "$" in a symbol makes it local. When not set, "$" does not |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2108 cause a symbol to be local. It is set by default except when using the OS9 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2109 target.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2110 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2111 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2112 >dollarnotlocal</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2113 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2114 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2115 > This is the same as the "dollarlocal" pragma except its sense is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2116 reversed. That is, "dollarlocal" and "nodollarnotlocal" are equivalent and |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2117 "nodollarlocal" and "dollarnotlocal" are equivalent. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2118 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2119 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2120 >pcaspcr</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2121 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2122 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2123 > Normally, LWASM makes a distinction between PC and PCR in program |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2124 counter relative addressing. In particular, the use of PC means an absolute |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2125 offset from PC while PCR causes the assembler to calculate the offset to the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2126 specified operand and use that as the offset from PC. By setting this |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2127 pragma, you can have PC treated the same as PCR. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2128 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2129 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2130 >shadow</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2131 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2132 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2133 >When this pragma is in effect, it becomes possible to define a macro |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2134 that matches an internal operation code. Thus, it makes it possible to |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2135 redefine either CPU instructions or pseudo operations. Because this feature |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2136 is of dubious utility, it is disabled by default.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2137 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2138 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2139 >nolist</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2140 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2141 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2142 >Lines where this pragma is in effect will not appear in the assembly |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2143 listing. Also, any symbols defined under this pragma will not show up in |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2144 the symbol list. This is most useful in include files to avoid spamming the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2145 assembly listing with dozens, hundreds, or thousands of irrelevant |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2146 symbols.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2147 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2148 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2149 >autobranchlength</DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2150 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2151 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2152 >One of the perennial annoyances for 6809 programmers is that the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2153 mneumonics for the short and long branch instructions are different (bxx vs. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2154 lbxx), which is at odds with the rest of the instruction set. This pragma |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2155 is a solution to those annoying byte overflow errors that short branch |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2156 instructions tend to aquire.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2157 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2158 >When this pragma is in effect, which is not the default, whenever any |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2159 relative branch instruction is used, its size will be automatically |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2160 determined based on the actual distance to the destination. In other words, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2161 one can write code with long or short branches everywhere and the assembler |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2162 will choose a size for the branch.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2163 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2164 >Also, while this pragma is in effect, the > and < symbols can be used |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2165 to force the branch size, analogous to their use for other instructions with |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2166 < forcing 8 bit offsets and > forcing 16 bit offets.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2167 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2168 >Because this pragma leads to source that is incompatible with other |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2169 assemblers, it is strongly recommended that it be invoked using the PRAGMA |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2170 directive within the source code rather than on the command line or via the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2171 *PRAGMA directive. This way, an error will be raised if someone tries to |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2172 assemble the code under a different assembler.</P |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2173 ></DD |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2174 ><DT |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2175 >nosymbolcase, symbolnocase</DT |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2176 ><DD |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2177 ><P |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2178 >Any symbol defined while this pragma is in force will be treated as |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2179 case insensitive, regardless whether the pragma is in force when the symbol |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2180 is referenced.</P |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2181 ><P |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2182 >It is important to note that this pragma will not work as expected in |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2183 all cases when using the object file assembly target. It is intended for |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2184 use only when the assembler will be producing the final binary.</P |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2185 ></DD |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2186 ><DT |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2187 >condundefzero</DT |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2188 ><DD |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2189 ><P |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2190 >This pragma will cause the assembler to change the way it handles |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2191 symbols in conditional expressions. Ordinarily, any symbol that is not |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2192 defined prior to the conditional will throw an undefined symbol error. With |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2193 this pragma in effect, symbols that are not yet defined at the point the |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2194 conditional is encountered will be treated as zero.</P |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2195 ><P |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2196 >This is not the default because it encourages poor code design. One |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2197 should use the "IFDEF" or "IFNDEF" conditionals to test for the presence of |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2198 a symbol.</P |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2199 ><P |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2200 >It is important to note that if a symbol is defined but it does not |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2201 yet evaluate to a constant value at the point where the conditional appears, |
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2202 the assembler will still complain about a non constant condition.</P |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2203 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2204 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2205 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2206 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2207 >As a convenience, each input file has a pragma state stack. This |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2208 allows, through the use of *PRAGMAPUSH and *PRAGMAPOP, a file to change a |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2209 pragma state and then restore it to the precise state it had previously. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2210 If, at the end of an input file, all pragma states have not been popped, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2211 they will be removed from the stack. Thus, it is critical to employ |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2212 *PRAGMAPOP correctly. Because each input file has its own pragma stack, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2213 using *PRAGMAPUSH in one file and *PRAGMAPOP in another file will not |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2214 work.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2215 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2216 >Pragma stacks are more useful in include files, in particular in |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2217 conjunction with the nolist pragma. One can push the state of the nolist |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2218 pragma, engage the nolist pragma, and then pop the state of the nolist |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2219 pragma at the end of the include file. This will cause the entire include |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2220 file to operate under the nolist pragma. However, if the file is included |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2221 while nolist is already engaged, it will not undo that state.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2222 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2223 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2224 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2225 CLASS="CHAPTER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2226 ><HR><H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2227 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2228 NAME="AEN681" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2229 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2230 >Chapter 4. LWLINK</H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2231 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2232 >The LWTOOLS linker is called LWLINK. This chapter documents the various features |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2233 of the linker.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2234 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2235 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2236 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2237 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2238 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2239 NAME="AEN684" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2240 >4.1. Command Line Options</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2241 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2242 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2243 >The binary for LWLINK is called "lwlink". Note that the binary is in lower |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2244 case. lwlink takes the following command line arguments.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2245 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2246 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2247 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2248 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2249 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2250 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2251 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2252 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2253 >--decb</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2254 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2255 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2256 >-b</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2257 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2258 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2259 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2260 >Selects the DECB output format target. This is equivalent to <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2261 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2262 >--format=decb</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2263 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2264 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2265 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2266 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2267 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2268 >--output=FILE</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2269 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2270 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2271 >-o FILE</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2272 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2273 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2274 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2275 >This option specifies the name of the output file. If not specified, the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2276 default is <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2277 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2278 >a.out</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2279 >.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2280 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2281 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2282 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2283 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2284 >--format=TYPE</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2285 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2286 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2287 >-f TYPE</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2288 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2289 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2290 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2291 >This option specifies the output format. Valid values are <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2292 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2293 >decb</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2294 > |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2295 and <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2296 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2297 >raw</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2298 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2299 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2300 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2301 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2302 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2303 >--raw</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2304 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2305 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2306 >-r</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2307 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2308 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2309 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2310 >This option specifies the raw output format. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2311 It is equivalent to <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2312 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2313 >--format=raw</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2314 > |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2315 and <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2316 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2317 >-f raw</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2318 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2319 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2320 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2321 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2322 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2323 >--script=FILE</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2324 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2325 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2326 >-s</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2327 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2328 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2329 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2330 >This option allows specifying a linking script to override the linker's |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2331 built in defaults.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2332 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2333 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2334 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2335 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2336 >--section-base=SECT=BASE</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2337 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2338 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2339 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2340 >Cause section SECT to load at base address BASE. This will be prepended |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2341 to the built-in link script. It is ignored if a link script is provided.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2342 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2343 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2344 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2345 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2346 >--map=FILE</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2347 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2348 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2349 >-m FILE</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2350 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2351 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2352 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2353 >This will output a description of the link result to FILE.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2354 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2355 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2356 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2357 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2358 >--library=LIBSPEC</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2359 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2360 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2361 >-l LIBSPEC</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2362 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2363 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2364 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2365 >Load a library using the library search path. LIBSPEC will have "lib" prepended |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2366 and ".a" appended.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2367 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2368 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2369 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2370 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2371 >--library-path=DIR</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2372 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2373 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2374 >-L DIR</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2375 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2376 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2377 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2378 >Add DIR to the library search path.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2379 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2380 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2381 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2382 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2383 >--debug</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2384 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2385 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2386 >-d</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2387 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2388 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2389 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2390 >This option increases the debugging level. It is only useful for LWTOOLS |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2391 developers.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2392 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2393 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2394 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2395 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2396 >--help</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2397 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2398 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2399 >-?</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2400 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2401 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2402 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2403 >This provides a listing of command line options and a brief description |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2404 of each.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2405 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2406 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2407 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2408 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2409 >--usage</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2410 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2411 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2412 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2413 >This will display a usage summary |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2414 of each command line option.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2415 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2416 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2417 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2418 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2419 >--version</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2420 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2421 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2422 >-V</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2423 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2424 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2425 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2426 >This will display the version of LWLINK.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2427 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2428 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2429 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2430 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2431 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2432 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2433 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2434 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2435 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2436 NAME="AEN781" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2437 >4.2. Linker Operation</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2438 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2439 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2440 > LWLINK takes one or more files in supported input formats and links them |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2441 into a single binary. Currently supported formats are the LWTOOLS object |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2442 file format and the archive format used by LWAR. While the precise method is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2443 slightly different, linking can be conceptualized as the following steps. </P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2444 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2445 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2446 ><OL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2447 TYPE="1" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2448 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2449 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2450 >First, the linker loads a linking script. If no script is specified, it |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2451 loads a built-in default script based on the output format selected. This |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2452 script tells the linker how to lay out the various sections in the final |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2453 binary.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2454 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2455 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2456 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2457 >Next, the linker reads all the input files into memory. At this time, it |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2458 flags any format errors in those files. It constructs a table of symbols |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2459 for each object at this time.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2460 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2461 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2462 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2463 >The linker then proceeds with organizing the sections loaded from each file |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2464 according to the linking script. As it does so, it is able to assign addresses |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2465 to each symbol defined in each object file. At this time, the linker may |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2466 also collapse different instances of the same section name into a single |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2467 section by appending the data from each subsequent instance of the section |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2468 to the first instance of the section.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2469 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2470 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2471 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2472 >Next, the linker looks through every object file for every incomplete reference. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2473 It then attempts to fully resolve that reference. If it cannot do so, it |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2474 throws an error. Once a reference is resolved, the value is placed into |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2475 the binary code at the specified section. It should be noted that an |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2476 incomplete reference can reference either a symbol internal to the object |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2477 file or an external symbol which is in the export list of another object |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2478 file.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2479 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2480 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2481 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2482 >If all of the above steps are successful, the linker opens the output file |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2483 and actually constructs the binary.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2484 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2485 ></OL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2486 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2487 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2488 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2489 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2490 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2491 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2492 NAME="AEN795" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2493 >4.3. Linking Scripts</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2494 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2495 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2496 >A linker script is used to instruct the linker about how to assemble the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2497 various sections into a completed binary. It consists of a series of |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2498 directives which are considered in the order they are encountered.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2499 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2500 >The sections will appear in the resulting binary in the order they are |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2501 specified in the script file. If a referenced section is not found, the linker will behave as though the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2502 section did exist but had a zero size, no relocations, and no exports. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2503 A section should only be referenced once. Any subsequent references will have |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2504 an undefined effect.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2505 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2506 >All numbers are in linking scripts are specified in hexadecimal. All directives |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2507 are case sensitive although the hexadecimal numbers are not.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2508 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2509 >A section name can be specified as a "*", then any section not |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2510 already matched by the script will be matched. The "*" can be followed |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2511 by a comma and a flag to narrow the section down slightly, also. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2512 If the flag is "!bss", then any section that is not flagged as a bss section |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2513 will be matched. If the flag is "bss", then any section that is flagged as |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2514 bss will be matched.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2515 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2516 >The following directives are understood in a linker script.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2517 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2518 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2519 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2520 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2521 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2522 ><DT |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2523 >define basesympat <CODE |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2524 CLASS="PARAMETER" |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2525 >string</CODE |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2526 ></DT |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2527 ><DD |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2528 ><P |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2529 > This causes the linker to define a symbol for the ultimate base address of |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2530 each section using the pattern specified by <CODE |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2531 CLASS="PARAMETER" |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2532 >string</CODE |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2533 >. |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2534 In the string, %s can appear exactly once and will be replaced with the |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2535 section name. The base address is calculated after all instances of each |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2536 section have been collapsed together. </P |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2537 ><P |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2538 > If the pattern resolves to the same string for multiple |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2539 sections, the results are undefined. </P |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2540 ></DD |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2541 ><DT |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2542 >define lensympat <CODE |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2543 CLASS="PARAMETER" |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2544 >string</CODE |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2545 ></DT |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2546 ><DD |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2547 ><P |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2548 > This causes the linker to define a symbol for the ultimate length of each |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2549 section using the pattern specified by <CODE |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2550 CLASS="PARAMETER" |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2551 >string</CODE |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2552 >. In |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2553 the string, %s can appear exactly once and will be replaced with the section |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2554 name. The length is calculated after all instances of a section have been |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2555 collapsed together. </P |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2556 ><P |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2557 >If the pattern resolves to the same string for multiple |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2558 sections, the results are undefined. </P |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2559 ></DD |
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2560 ><DT |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2561 >section <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2562 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2563 >name</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2564 > load <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2565 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2566 >addr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2567 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2568 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2569 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2570 > This causes the section <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2571 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2572 >name</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2573 > to load at |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2574 <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2575 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2576 >addr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2577 >. For the raw target, only one "load at" entry is |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2578 allowed for non-bss sections and it must be the first one. For raw targets, |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2579 it affects the addresses the linker assigns to symbols but has no other |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2580 affect on the output. bss sections may all have separate load addresses but |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2581 since they will not appear in the binary anyway, this is okay.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2582 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2583 >For the decb target, each "load" entry will cause a new "block" to be |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2584 output to the binary which will contain the load address. It is legal for |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2585 sections to overlap in this manner - the linker assumes the loader will sort |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2586 everything out.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2587 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2588 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2589 >section <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2590 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2591 >name</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2592 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2593 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2594 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2595 > This will cause the section <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2596 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2597 >name</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2598 > to load after the previously listed |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2599 section.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2600 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2601 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2602 >entry <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2603 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2604 >addr or sym</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2605 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2606 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2607 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2608 >This will cause the execution address (entry point) to be the address |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2609 specified (in hex) or the specified symbol name. The symbol name must |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2610 match a symbol that is exported by one of the object files being linked. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2611 This has no effect for targets that do not encode the entry point into the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2612 resulting file. If not specified, the entry point is assumed to be address 0 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2613 which is probably not what you want. The default link scripts for targets |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2614 that support this directive automatically starts at the beginning of the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2615 first section (usually "init" or "code") that is emitted in the binary.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2616 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2617 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2618 >pad <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2619 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2620 >size</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2621 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2622 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2623 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2624 >This will cause the output file to be padded with NUL bytes to be exactly |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2625 <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2626 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2627 >size</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2628 > bytes in length. This only makes sense for a raw target.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2629 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2630 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2631 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2632 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2633 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2634 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2635 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2636 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2637 ><A |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2638 NAME="AEN843" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2639 >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
|
2640 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2641 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2642 >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
|
2643 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
|
2644 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
|
2645 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
|
2646 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2647 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2648 ><HR><H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2649 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2650 ><A |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2651 NAME="AEN846" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2652 >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
|
2653 ></H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2654 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2655 >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
|
2656 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
|
2657 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
|
2658 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
|
2659 values.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2660 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2661 >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
|
2662 ".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
|
2663 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2664 >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
|
2665 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
|
2666 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
|
2667 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2668 >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
|
2669 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
|
2670 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
|
2671 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2672 >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
|
2673 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
|
2674 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
|
2675 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2676 >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
|
2677 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
|
2678 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
|
2679 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
|
2680 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
|
2681 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
|
2682 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
|
2683 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
|
2684 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
|
2685 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
|
2686 default values.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2687 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2688 >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
|
2689 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
|
2690 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
|
2691 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
|
2692 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
|
2693 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
|
2694 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
|
2695 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
|
2696 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
|
2697 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
|
2698 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2699 >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
|
2700 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
|
2701 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
|
2702 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
|
2703 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
|
2704 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
|
2705 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2706 >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
|
2707 (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
|
2708 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
|
2709 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
|
2710 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2711 >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
|
2712 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
|
2713 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
|
2714 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
|
2715 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
|
2716 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
|
2717 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
|
2718 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
|
2719 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
|
2720 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2721 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2722 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2723 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2724 CLASS="CHAPTER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2725 ><HR><H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2726 ><A |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2727 NAME="AEN858" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2728 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2729 >Chapter 5. Libraries and LWAR</H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2730 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2731 >LWTOOLS also includes a tool for managing libraries. These are analogous to |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2732 the static libraries created with the "ar" tool on POSIX systems. Each library |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2733 file contains one or more object files. The linker will treat the object |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2734 files within a library as though they had been specified individually on |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2735 the command line except when resolving external references. External references |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2736 are looked up first within the object files within the library and then, if |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2737 not found, the usual lookup based on the order the files are specified on |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2738 the command line occurs.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2739 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2740 >The tool for creating these libary files is called LWAR.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2741 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2742 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2743 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2744 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2745 ><A |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2746 NAME="AEN862" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2747 >5.1. Command Line Options</A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2748 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2749 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2750 >The binary for LWAR is called "lwar". Note that the binary is in lower |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2751 case. The options lwar understands are listed below. For archive manipulation |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2752 options, the first non-option argument is the name of the archive. All other |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2753 non-option arguments are the names of files to operate on.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2754 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2755 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2756 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2757 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2758 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2759 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2760 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2761 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2762 >--add</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2763 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2764 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2765 >-a</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2766 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2767 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2768 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2769 >This option specifies that an archive is going to have files added to it. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2770 If the archive does not already exist, it is created. New files are added |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2771 to the end of the archive.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2772 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2773 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2774 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2775 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2776 >--create</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2777 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2778 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2779 >-c</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2780 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2781 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2782 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2783 >This option specifies that an archive is going to be created and have files |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2784 added to it. If the archive already exists, it is truncated.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2785 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2786 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2787 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2788 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2789 >--merge</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2790 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2791 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2792 >-m</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2793 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2794 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2795 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2796 >If specified, any files specified to be added to an archive will be checked |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2797 to see if they are archives themselves. If so, their constituent members are |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2798 added to the archive. This is useful for avoiding archives containing archives.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2799 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2800 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2801 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2802 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2803 >--list</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2804 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2805 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2806 >-l</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2807 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2808 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2809 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2810 >This will display a list of the files contained in the archive.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2811 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2812 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2813 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2814 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2815 >--debug</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2816 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2817 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2818 >-d</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2819 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2820 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2821 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2822 >This option increases the debugging level. It is only useful for LWTOOLS |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2823 developers.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2824 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2825 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2826 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2827 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2828 >--help</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2829 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2830 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2831 >-?</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2832 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2833 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2834 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2835 >This provides a listing of command line options and a brief description |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2836 of each.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2837 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2838 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2839 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2840 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2841 >--usage</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2842 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2843 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2844 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2845 >This will display a usage summary |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2846 of each command line option.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2847 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2848 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2849 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2850 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2851 >--version</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2852 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2853 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2854 >-V</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2855 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2856 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2857 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2858 >This will display the version of LWLINK. |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2859 of each.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2860 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2861 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2862 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2863 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2864 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2865 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2866 CLASS="CHAPTER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2867 ><HR><H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2868 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2869 NAME="OBJCHAP" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2870 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2871 >Chapter 6. Object Files</H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2872 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2873 >LWTOOLS uses a proprietary object file format. It is proprietary in the sense |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2874 that it is specific to LWTOOLS, not that it is a hidden format. It would be |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2875 hard to keep it hidden in an open source tool chain anyway. This chapter |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2876 documents the object file format.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2877 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2878 >An object file consists of a series of sections each of which contains a |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2879 list of exported symbols, a list of incomplete references, and a list of |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2880 "local" symbols which may be used in calculating incomplete references. Each |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2881 section will obviously also contain the object code.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2882 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2883 >Exported symbols must be completely resolved to an address within the |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2884 section it is exported from. That is, an exported symbol must be a constant |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2885 rather than defined in terms of other symbols.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2886 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2887 >Each object file starts with a magic number and version number. The magic |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2888 number is the string "LWOBJ16" for this 16 bit object file format. The only |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2889 defined version number is currently 0. Thus, the first 8 bytes of the object |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2890 file are <FONT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2891 COLOR="RED" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2892 >4C574F424A313600</FONT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2893 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2894 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2895 >Each section has the following items in order:</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2896 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2897 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2898 ><UL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2899 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2900 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2901 >section name</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2902 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2903 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2904 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2905 >flags</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2906 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2907 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2908 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2909 >list of local symbols (and addresses within the section)</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2910 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2911 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2912 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2913 >list of exported symbols (and addresses within the section)</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2914 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2915 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2916 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2917 >list of incomplete references along with the expressions to calculate them</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2918 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2919 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2920 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2921 >the actual object code (for non-BSS sections)</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2922 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2923 ></UL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2924 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2925 >The section starts with the name of the section with a NUL termination |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2926 followed by a series of flag bytes terminated by NUL. There are only two |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2927 flag bytes defined. A NUL (0) indicates no more flags and a value of 1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2928 indicates the section is a BSS section. For a BSS section, no actual |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2929 code is included in the object file.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2930 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2931 >Either a NULL section name or end of file indicate the presence of no more |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2932 sections.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2933 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2934 >Each entry in the exported and local symbols table consists of the symbol |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2935 (NUL terminated) followed by two bytes which contain the value in big endian |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2936 order. The end of a symbol table is indicated by a NULL symbol name.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2937 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2938 >Each entry in the incomplete references table consists of an expression |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2939 followed by a 16 bit offset where the reference goes. Expressions are |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2940 defined as a series of terms up to an "end of expression" term. Each term |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2941 consists of a single byte which identifies the type of term (see below) |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2942 followed by any data required by the term. Then end of the list is flagged |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2943 by a NULL expression (only an end of expression term).</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2944 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2945 CLASS="TABLE" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2946 ><A |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
2947 NAME="AEN945" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2948 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2949 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2950 ><B |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2951 >Table 6-1. Object File Term Types</B |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2952 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2953 ><TABLE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2954 BORDER="1" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2955 FRAME="border" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2956 CLASS="CALSTABLE" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2957 ><COL><COL><THEAD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2958 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2959 ><TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2960 >TERMTYPE</TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2961 ><TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2962 >Meaning</TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2963 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2964 ></THEAD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2965 ><TBODY |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2966 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2967 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2968 >00</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2969 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2970 >end of expression</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2971 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2972 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2973 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2974 >01</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2975 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2976 >integer (16 bit in big endian order follows)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2977 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2978 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2979 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2980 >02</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2981 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2982 > external symbol reference (NUL terminated symbol name follows)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2983 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2984 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2985 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2986 >03</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2987 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2988 >local symbol reference (NUL terminated symbol name follows)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2989 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2990 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2991 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2992 >04</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2993 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2994 >operator (1 byte operator number)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2995 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2996 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2997 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2998 >05</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2999 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3000 >section base address reference</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3001 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3002 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3003 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3004 >FF</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3005 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3006 >This term will set flags for the expression. Each one of these terms will set a single flag. All of them should be specified first in an expression. If they are not, the behaviour is undefined. The byte following is the flag. Flag 01 indicates an 8 bit relocation. Flag 02 indicates a zero-width relocation (see the EXTDEP pseudo op in LWASM).</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3007 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3008 ></TBODY |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3009 ></TABLE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3010 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3011 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3012 >External references are resolved using other object files while local |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3013 references are resolved using the local symbol table(s) from this file. This |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3014 allows local symbols that are not exported to have the same names as |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3015 exported symbols or external references.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3016 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3017 CLASS="TABLE" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3018 ><A |
234
d389adbcc4ab
Added section base and length symbols to lwlink
William Astle <lost@l-w.ca>
parents:
232
diff
changeset
|
3019 NAME="AEN975" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3020 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3021 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3022 ><B |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3023 >Table 6-2. Object File Operator Numbers</B |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3024 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3025 ><TABLE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3026 BORDER="1" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3027 FRAME="border" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3028 CLASS="CALSTABLE" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3029 ><COL><COL><THEAD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3030 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3031 ><TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3032 >Number</TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3033 ><TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3034 >Operator</TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3035 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3036 ></THEAD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3037 ><TBODY |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3038 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3039 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3040 >01</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3041 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3042 >addition (+)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3043 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3044 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3045 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3046 >02</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3047 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3048 >subtraction (-)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3049 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3050 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3051 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3052 >03</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3053 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3054 >multiplication (*)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3055 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3056 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3057 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3058 >04</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3059 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3060 >division (/)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3061 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3062 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3063 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3064 >05</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3065 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3066 >modulus (%)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3067 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3068 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3069 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3070 >06</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3071 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3072 >integer division (\) (same as division)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3073 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3074 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3075 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3076 >07</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3077 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3078 >bitwise and</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3079 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3080 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3081 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3082 >08</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3083 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3084 >bitwise or</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3085 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3086 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3087 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3088 >09</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3089 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3090 >bitwise xor</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3091 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3092 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3093 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3094 >0A</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3095 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3096 >boolean and</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3097 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3098 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3099 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3100 >0B</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3101 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3102 >boolean or</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3103 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3104 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3105 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3106 >0C</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3107 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3108 >unary negation, 2's complement (-)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3109 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3110 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3111 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3112 >0D</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3113 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3114 >unary 1's complement (^)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3115 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3116 ></TBODY |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3117 ></TABLE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3118 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3119 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3120 >An expression is represented in a postfix manner with both operands for |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3121 binary operators preceding the operator and the single operand for unary |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3122 operators preceding the operator.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3123 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3124 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3125 ></BODY |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3126 ></HTML |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3127 > |