annotate doc/manual/x517.html @ 434:b8bf63962a99 3.0

Added various generated files for release
author lost@l-w.ca
date Fri, 29 Oct 2010 19:20:39 -0600
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
434
b8bf63962a99 Added various generated files for release
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">
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
2 <HTML
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
3 ><HEAD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
4 ><TITLE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
5 >Object Files and Sections</TITLE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
6 ><META
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
7 NAME="GENERATOR"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
9 REL="HOME"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
10 TITLE="LW Tool Chain"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
11 HREF="index.html"><LINK
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
12 REL="UP"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
13 TITLE="LWASM"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
14 HREF="c43.html"><LINK
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
15 REL="PREVIOUS"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
16 TITLE="Structures"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
17 HREF="x496.html"><LINK
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
18 REL="NEXT"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
19 TITLE="Assembler Modes and Pragmas"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
20 HREF="x580.html"></HEAD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
21 ><BODY
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
22 CLASS="SECTION"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
23 BGCOLOR="#FFFFFF"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
24 TEXT="#000000"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
25 LINK="#0000FF"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
26 VLINK="#840084"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
27 ALINK="#0000FF"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
28 ><DIV
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
29 CLASS="NAVHEADER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
30 ><TABLE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
31 SUMMARY="Header navigation table"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
32 WIDTH="100%"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
33 BORDER="0"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
34 CELLPADDING="0"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
35 CELLSPACING="0"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
36 ><TR
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
37 ><TH
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
38 COLSPAN="3"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
39 ALIGN="center"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
40 >LW Tool Chain</TH
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
41 ></TR
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
42 ><TR
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
43 ><TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
44 WIDTH="10%"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
45 ALIGN="left"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
46 VALIGN="bottom"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
47 ><A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
48 HREF="x496.html"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
49 ACCESSKEY="P"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
50 >Prev</A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
51 ></TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
52 ><TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
53 WIDTH="80%"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
54 ALIGN="center"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
55 VALIGN="bottom"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
56 >Chapter 3. LWASM</TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
57 ><TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
58 WIDTH="10%"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
59 ALIGN="right"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
60 VALIGN="bottom"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
61 ><A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
62 HREF="x580.html"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
63 ACCESSKEY="N"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
64 >Next</A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
65 ></TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
66 ></TR
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
67 ></TABLE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
68 ><HR
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
69 ALIGN="LEFT"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
70 WIDTH="100%"></DIV
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
71 ><DIV
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
72 CLASS="SECTION"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
73 ><H1
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
74 CLASS="SECTION"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
75 ><A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
76 NAME="AEN517"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
77 >3.9. Object Files and Sections</A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
78 ></H1
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
79 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
80 >The object file target is very useful for large project because it allows
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
81 multiple files to be assembled independently and then linked into the final
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
82 binary at a later time. It allows only the small portion of the project
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
83 that was modified to be re-assembled rather than requiring the entire set
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
84 of source code to be available to the assembler in a single assembly process.
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
85 This can be particularly important if there are a large number of macros,
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
86 symbol definitions, or other metadata that uses resources at assembly time.
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
87 By far the largest benefit, however, is keeping the source files small enough
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
88 for a mere mortal to find things in them.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
89 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
90 >With multi-file projects, there needs to be a means of resolving references to
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
91 symbols in other source files. These are known as external references. The
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
92 addresses of these symbols cannot be known until the linker joins all the
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
93 object files into a single binary. This means that the assembler must be
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
94 able to output the object code without knowing the value of the symbol. This
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
95 places some restrictions on the code generated by the assembler. For
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
96 example, the assembler cannot generate direct page addressing for instructions
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
97 that reference external symbols because the address of the symbol may not
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
98 be in the direct page. Similarly, relative branches and PC relative addressing
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
99 cannot be used in their eight bit forms. Everything that must be resolved
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
100 by the linker must be assembled to use the largest address size possible to
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
101 allow the linker to fill in the correct value at link time. Note that the
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
102 same problem applies to absolute address references as well, even those in
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
103 the same source file, because the address is not known until link time.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
104 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
105 >It is often desired in multi-file projects to have code of various types grouped
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
106 together in the final binary generated by the linker as well. The same applies
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
107 to data. In order for the linker to do that, the bits that are to be grouped
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
108 must be tagged in some manner. This is where the concept of sections comes in.
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
109 Each chunk of code or data is part of a section in the object file. Then,
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
110 when the linker reads all the object files, it coalesces all sections of the
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
111 same name into a single section and then considers it as a unit.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
112 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
113 >The existence of sections, however, raises a problem for symbols even
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
114 within the same source file. Thus, the assembler must treat symbols from
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
115 different sections within the same source file in the same manner as external
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
116 symbols. That is, it must leave them for the linker to resolve at link time,
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
117 with all the limitations that entails.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
118 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
119 >In the object file target mode, LWASM requires all source lines that
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
120 cause bytes to be output to be inside a section. Any directives that do
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
121 not cause any bytes to be output can appear outside of a section. This includes
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
122 such things as EQU or RMB. Even ORG can appear outside a section. ORG, however,
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
123 makes no sense within a section because it is the linker that determines
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
124 the starting address of the section's code, not the assembler.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
125 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
126 >All symbols defined globally in the assembly process are local to the
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
127 source file and cannot be exported. All symbols defined within a section are
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
128 considered local to the source file unless otherwise explicitly exported.
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
129 Symbols referenced from external source files must be declared external,
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
130 either explicitly or by asking the assembler to assume that all undefined
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
131 symbols are external.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
132 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
133 >It is often handy to define a number of memory addresses that will be
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
134 used for data at run-time but which need not be included in the binary file.
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
135 These memory addresses are not initialized until run-time, either by the
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
136 program itself or by the program loader, depending on the operating environment.
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
137 Such sections are often known as BSS sections. LWASM supports generating
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
138 sections with a BSS attribute set which causes the section definition including
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
139 symbols exported from that section and those symbols required to resolve
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
140 references from the local file, but with no actual code in the object file.
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
141 It is illegal for any source lines within a BSS flagged section to cause any
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
142 bytes to be output.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
143 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
144 >The following directives apply to section handling.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
145 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
146 ></P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
147 ><DIV
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
148 CLASS="VARIABLELIST"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
149 ><DL
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
150 ><DT
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
151 >SECTION <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
152 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
153 >name[,flags]</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
154 >, SECT <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
155 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
156 >name[,flags]</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
157 >, .AREA <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
158 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
159 >name[,flags]</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
160 ></DT
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
161 ><DD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
162 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
163 >Instructs the assembler that the code following this directive is to be
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
164 considered part of the section <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
165 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
166 >name</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
167 >. A section name
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
168 may appear multiple times in which case it is as though all the code from
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
169 all the instances of that section appeared adjacent within the source file.
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
170 However, <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
171 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
172 >flags</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
173 > may only be specified on the first
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
174 instance of the section.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
175 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
176 >There is a single flag supported in <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
177 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
178 >flags</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
179 >. The
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
180 flag <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
181 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
182 >bss</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
183 > will cause the section to be treated as a BSS
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
184 section and, thus, no code will be included in the object file nor will any
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
185 bytes be permitted to be output.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
186 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
187 >If the section name is "bss" or ".bss" in any combination of upper and
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
188 lower case, the section is assumed to be a BSS section. In that case,
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
189 the flag <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
190 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
191 >!bss</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
192 > can be used to override this assumption.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
193 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
194 >If assembly is already happening within a section, the section is implicitly
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
195 ended and the new section started. This is not considered an error although
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
196 it is recommended that all sections be explicitly closed.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
197 ></DD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
198 ><DT
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
199 >ENDSECTION, ENDSECT</DT
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
200 ><DD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
201 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
202 >This directive ends the current section. This puts assembly outside of any
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
203 sections until the next SECTION directive. ENDSECTION is the preferred form.
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
204 Prior to version 3.0 of LWASM, ENDS could also be used to end a section but
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
205 as of version 3.0, it is now an alias for ENDSTRUCT instead.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
206 ></DD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
207 ><DT
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
208 ><CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
209 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
210 >sym</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
211 > EXTERN, <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
212 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
213 >sym</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
214 > EXTERNAL, <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
215 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
216 >sym</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
217 > IMPORT</DT
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
218 ><DD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
219 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
220 >This directive defines <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
221 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
222 >sym</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
223 > as an external symbol.
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
224 This directive may occur at any point in the source code. EXTERN definitions
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
225 are resolved on the first pass so an EXTERN definition anywhere in the
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
226 source file is valid for the entire file. The use of this directive is
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
227 optional when the assembler is instructed to assume that all undefined
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
228 symbols are external. In fact, in that mode, if the symbol is referenced
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
229 before the EXTERN directive, an error will occur.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
230 ></DD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
231 ><DT
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
232 ><CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
233 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
234 >sym</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
235 > EXPORT, <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
236 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
237 >sym</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
238 > .GLOBL, EXPORT <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
239 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
240 >sym</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
241 >, .GLOBL <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
242 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
243 >sym</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
244 ></DT
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
245 ><DD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
246 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
247 >This directive defines <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
248 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
249 >sym</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
250 > as an exported symbol.
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
251 This directive may occur at any point in the source code, even before the
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
252 definition of the exported symbol.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
253 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
254 >Note that <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
255 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
256 >sym</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
257 > may appear as the operand or as the
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
258 statement's symbol. If there is a symbol on the statement, that will
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
259 take precedence over any operand that is present.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
260 ></DD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
261 ><DT
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
262 ><CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
263 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
264 >sym</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
265 > EXTDEP</DT
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
266 ><DD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
267 ><P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
268 >This directive forces an external dependency on
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
269 <CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
270 CLASS="PARAMETER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
271 >sym</CODE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
272 >, even if it is never referenced anywhere else in
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
273 this file.</P
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
274 ></DD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
275 ></DL
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
276 ></DIV
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
277 ></DIV
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
278 ><DIV
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
279 CLASS="NAVFOOTER"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
280 ><HR
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
281 ALIGN="LEFT"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
282 WIDTH="100%"><TABLE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
283 SUMMARY="Footer navigation table"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
284 WIDTH="100%"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
285 BORDER="0"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
286 CELLPADDING="0"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
287 CELLSPACING="0"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
288 ><TR
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
289 ><TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
290 WIDTH="33%"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
291 ALIGN="left"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
292 VALIGN="top"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
293 ><A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
294 HREF="x496.html"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
295 ACCESSKEY="P"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
296 >Prev</A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
297 ></TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
298 ><TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
299 WIDTH="34%"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
300 ALIGN="center"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
301 VALIGN="top"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
302 ><A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
303 HREF="index.html"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
304 ACCESSKEY="H"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
305 >Home</A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
306 ></TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
307 ><TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
308 WIDTH="33%"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
309 ALIGN="right"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
310 VALIGN="top"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
311 ><A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
312 HREF="x580.html"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
313 ACCESSKEY="N"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
314 >Next</A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
315 ></TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
316 ></TR
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
317 ><TR
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
318 ><TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
319 WIDTH="33%"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
320 ALIGN="left"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
321 VALIGN="top"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
322 >Structures</TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
323 ><TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
324 WIDTH="34%"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
325 ALIGN="center"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
326 VALIGN="top"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
327 ><A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
328 HREF="c43.html"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
329 ACCESSKEY="U"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
330 >Up</A
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
331 ></TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
332 ><TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
333 WIDTH="33%"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
334 ALIGN="right"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
335 VALIGN="top"
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
336 >Assembler Modes and Pragmas</TD
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
337 ></TR
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
338 ></TABLE
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
339 ></DIV
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
340 ></BODY
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
341 ></HTML
b8bf63962a99 Added various generated files for release
lost@l-w.ca
parents:
diff changeset
342 >