Mercurial > hg > index.cgi
annotate docs/manual/manual.html @ 231:2cc599f1bebf
Added --define to lwasm documentation.
Added documentation of the -D/--define command line option for lwasm. It has
been present for a long time but has somehow escaped documentation.
author | William Astle <lost@l-w.ca> |
---|---|
date | Sun, 15 Jul 2012 23:12:09 -0600 |
parents | 1e0a0e6cd918 |
children | 7da0452512b2 |
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" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
37 >Copyright © 2009-2011 William Astle</P |
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 |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
201 HREF="#AEN829" |
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 |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
208 HREF="#AEN832" |
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 |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
217 HREF="#AEN844" |
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 |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
224 HREF="#AEN848" |
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 |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
246 HREF="#AEN931" |
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 |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
251 HREF="#AEN961" |
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 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2523 >section <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2524 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2525 >name</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2526 > load <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2527 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2528 >addr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2529 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2530 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2531 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2532 > 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
|
2533 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2534 >name</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2535 > to load at |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2536 <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2537 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2538 >addr</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2539 >. 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
|
2540 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
|
2541 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
|
2542 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
|
2543 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
|
2544 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2545 >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
|
2546 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
|
2547 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
|
2548 everything out.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2549 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2550 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2551 >section <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2552 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2553 >name</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2554 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2555 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2556 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2557 > 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
|
2558 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2559 >name</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2560 > 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
|
2561 section.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2562 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2563 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2564 >entry <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 or sym</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 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
|
2571 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
|
2572 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
|
2573 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
|
2574 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
|
2575 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
|
2576 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
|
2577 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
|
2578 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2579 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2580 >pad <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2581 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2582 >size</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2583 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2584 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2585 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2586 >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
|
2587 <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2588 CLASS="PARAMETER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2589 >size</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2590 > 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
|
2591 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2592 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2593 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2594 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2595 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2596 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2597 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2598 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2599 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2600 NAME="AEN829" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2601 >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
|
2602 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2603 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2604 >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
|
2605 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
|
2606 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
|
2607 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
|
2608 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2609 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2610 ><HR><H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2611 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2612 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2613 NAME="AEN832" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2614 >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
|
2615 ></H3 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2616 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2617 >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
|
2618 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
|
2619 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
|
2620 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
|
2621 values.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2622 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2623 >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
|
2624 ".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
|
2625 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2626 >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
|
2627 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
|
2628 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
|
2629 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2630 >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
|
2631 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
|
2632 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
|
2633 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2634 >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
|
2635 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
|
2636 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
|
2637 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2638 >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
|
2639 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
|
2640 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
|
2641 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
|
2642 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
|
2643 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
|
2644 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
|
2645 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
|
2646 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
|
2647 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
|
2648 default values.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2649 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2650 >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
|
2651 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
|
2652 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
|
2653 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
|
2654 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
|
2655 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
|
2656 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
|
2657 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
|
2658 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
|
2659 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
|
2660 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2661 >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
|
2662 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
|
2663 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
|
2664 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
|
2665 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
|
2666 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
|
2667 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2668 >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
|
2669 (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
|
2670 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
|
2671 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
|
2672 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2673 >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
|
2674 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
|
2675 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
|
2676 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
|
2677 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
|
2678 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
|
2679 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
|
2680 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
|
2681 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
|
2682 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2683 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2684 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2685 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2686 CLASS="CHAPTER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2687 ><HR><H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2688 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2689 NAME="AEN844" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2690 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2691 >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
|
2692 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2693 >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
|
2694 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
|
2695 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
|
2696 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
|
2697 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
|
2698 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
|
2699 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
|
2700 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
|
2701 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2702 >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
|
2703 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2704 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2705 ><HR><H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2706 CLASS="SECTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2707 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2708 NAME="AEN848" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2709 >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
|
2710 ></H2 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2711 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2712 >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
|
2713 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
|
2714 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
|
2715 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
|
2716 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2717 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2718 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2719 CLASS="VARIABLELIST" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2720 ><DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2721 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2722 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2723 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2724 >--add</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2725 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2726 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2727 >-a</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2728 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2729 ><DD |
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 >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
|
2732 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
|
2733 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
|
2734 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2735 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2736 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2737 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2738 >--create</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2739 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2740 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2741 >-c</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2742 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2743 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2744 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2745 >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
|
2746 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
|
2747 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2748 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2749 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2750 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2751 >--merge</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2752 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2753 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2754 >-m</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2755 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2756 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2757 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2758 >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
|
2759 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
|
2760 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
|
2761 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2762 ><DT |
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 >--list</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2766 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2767 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2768 >-l</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2769 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2770 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2771 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2772 >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
|
2773 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2774 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2775 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2776 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2777 >--debug</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2778 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2779 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2780 >-d</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2781 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2782 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2783 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2784 >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
|
2785 developers.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2786 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2787 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2788 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2789 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2790 >--help</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2791 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2792 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2793 >-?</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2794 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2795 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2796 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2797 >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
|
2798 of each.</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 >--usage</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2804 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2805 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2806 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2807 >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
|
2808 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
|
2809 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2810 ><DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2811 ><CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2812 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2813 >--version</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2814 >, <CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2815 CLASS="OPTION" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2816 >-V</CODE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2817 ></DT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2818 ><DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2819 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2820 >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
|
2821 of each.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2822 ></DD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2823 ></DL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2824 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2825 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2826 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2827 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2828 CLASS="CHAPTER" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2829 ><HR><H1 |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2830 ><A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2831 NAME="OBJCHAP" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2832 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2833 >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
|
2834 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2835 >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
|
2836 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
|
2837 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
|
2838 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
|
2839 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2840 >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
|
2841 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
|
2842 "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
|
2843 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
|
2844 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2845 >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
|
2846 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
|
2847 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
|
2848 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2849 >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
|
2850 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
|
2851 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
|
2852 file are <FONT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2853 COLOR="RED" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2854 >4C574F424A313600</FONT |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2855 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2856 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2857 >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
|
2858 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2859 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2860 ><UL |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2861 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2862 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2863 >section name</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2864 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2865 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2866 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2867 >flags</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2868 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2869 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2870 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2871 >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
|
2872 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2873 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2874 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2875 >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
|
2876 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2877 ><LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2878 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2879 >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
|
2880 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2881 ><LI |
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 >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
|
2884 ></LI |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2885 ></UL |
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 >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
|
2888 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
|
2889 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
|
2890 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
|
2891 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
|
2892 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2893 >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
|
2894 sections.</P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2895 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2896 >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
|
2897 (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
|
2898 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
|
2899 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2900 >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
|
2901 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
|
2902 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
|
2903 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
|
2904 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
|
2905 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
|
2906 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2907 CLASS="TABLE" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2908 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2909 NAME="AEN931" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2910 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2911 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2912 ><B |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2913 >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
|
2914 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2915 ><TABLE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2916 BORDER="1" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2917 FRAME="border" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2918 CLASS="CALSTABLE" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2919 ><COL><COL><THEAD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2920 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2921 ><TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2922 >TERMTYPE</TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2923 ><TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2924 >Meaning</TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2925 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2926 ></THEAD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2927 ><TBODY |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2928 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2929 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2930 >00</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2931 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2932 >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
|
2933 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2934 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2935 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2936 >01</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2937 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2938 >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
|
2939 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2940 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2941 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2942 >02</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2943 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2944 > 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
|
2945 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2946 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2947 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2948 >03</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2949 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2950 >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
|
2951 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2952 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2953 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2954 >04</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2955 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2956 >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
|
2957 ></TR |
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 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2960 >05</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2961 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2962 >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
|
2963 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2964 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2965 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2966 >FF</TD |
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 >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
|
2969 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2970 ></TBODY |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2971 ></TABLE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2972 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2973 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2974 >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
|
2975 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
|
2976 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
|
2977 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
|
2978 ><DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2979 CLASS="TABLE" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2980 ><A |
231
2cc599f1bebf
Added --define to lwasm documentation.
William Astle <lost@l-w.ca>
parents:
168
diff
changeset
|
2981 NAME="AEN961" |
153
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2982 ></A |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2983 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2984 ><B |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2985 >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
|
2986 ></P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2987 ><TABLE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2988 BORDER="1" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2989 FRAME="border" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2990 CLASS="CALSTABLE" |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2991 ><COL><COL><THEAD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2992 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2993 ><TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2994 >Number</TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2995 ><TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2996 >Operator</TH |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2997 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2998 ></THEAD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
2999 ><TBODY |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3000 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3001 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3002 >01</TD |
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 >addition (+)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3005 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3006 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3007 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3008 >02</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3009 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3010 >subtraction (-)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3011 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3012 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3013 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3014 >03</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3015 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3016 >multiplication (*)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3017 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3018 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3019 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3020 >04</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3021 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3022 >division (/)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3023 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3024 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3025 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3026 >05</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3027 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3028 >modulus (%)</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3029 ></TR |
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 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3032 >06</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3033 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3034 >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
|
3035 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3036 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3037 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3038 >07</TD |
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 >bitwise and</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3041 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3042 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3043 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3044 >08</TD |
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 >bitwise or</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3047 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3048 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3049 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3050 >09</TD |
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 >bitwise xor</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3053 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3054 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3055 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3056 >0A</TD |
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 >boolean and</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3059 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3060 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3061 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3062 >0B</TD |
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 >boolean or</TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3065 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3066 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3067 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3068 >0C</TD |
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 >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
|
3071 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3072 ><TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3073 ><TD |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3074 >0D</TD |
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 >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
|
3077 ></TR |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3078 ></TBODY |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3079 ></TABLE |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3080 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3081 ><P |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3082 >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
|
3083 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
|
3084 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
|
3085 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3086 ></DIV |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3087 ></BODY |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3088 ></HTML |
83b7b4ce3bbd
Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff
changeset
|
3089 > |