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