annotate docs/manual/x619.html @ 324:b30091890d62

Add documentation of the new hex output formats. Thanks to text contributed by Tom LeMense, the manual now includes documentation of the hex formats he contributed. This also includes some updated text on the ORG directive. Only minor editorial changes vary the text from Tom's original.
author William Astle <lost@l-w.ca>
date Tue, 04 Mar 2014 23:10:13 -0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
324
b30091890d62 Add documentation of the new hex output formats.
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">
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
2 <HTML
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
3 ><HEAD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
4 ><TITLE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
5 >Assembler Modes and Pragmas</TITLE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
6 ><META
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
7 NAME="GENERATOR"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
9 REL="HOME"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
10 TITLE="LW Tool Chain"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
11 HREF="index.html"><LINK
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
12 REL="UP"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
13 TITLE="LWASM"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
14 HREF="c62.html"><LINK
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
15 REL="PREVIOUS"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
16 TITLE="Object Files and Sections"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
17 HREF="x555.html"><LINK
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
18 REL="NEXT"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
19 TITLE="LWLINK"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
20 HREF="c713.html"></HEAD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
21 ><BODY
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
22 CLASS="SECTION"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
23 BGCOLOR="#FFFFFF"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
24 TEXT="#000000"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
25 LINK="#0000FF"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
26 VLINK="#840084"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
27 ALINK="#0000FF"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
28 ><DIV
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
29 CLASS="NAVHEADER"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
30 ><TABLE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
31 SUMMARY="Header navigation table"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
32 WIDTH="100%"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
33 BORDER="0"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
34 CELLPADDING="0"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
35 CELLSPACING="0"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
36 ><TR
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
37 ><TH
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
38 COLSPAN="3"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
39 ALIGN="center"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
40 >LW Tool Chain</TH
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
41 ></TR
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
42 ><TR
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
43 ><TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
44 WIDTH="10%"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
45 ALIGN="left"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
46 VALIGN="bottom"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
47 ><A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
48 HREF="x555.html"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
49 ACCESSKEY="P"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
50 >Prev</A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
51 ></TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
52 ><TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
53 WIDTH="80%"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
54 ALIGN="center"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
55 VALIGN="bottom"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
56 >Chapter 3. LWASM</TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
57 ><TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
58 WIDTH="10%"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
59 ALIGN="right"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
60 VALIGN="bottom"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
61 ><A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
62 HREF="c713.html"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
63 ACCESSKEY="N"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
64 >Next</A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
65 ></TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
66 ></TR
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
67 ></TABLE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
68 ><HR
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
69 ALIGN="LEFT"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
70 WIDTH="100%"></DIV
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
71 ><DIV
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
72 CLASS="SECTION"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
73 ><H1
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
74 CLASS="SECTION"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
75 ><A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
76 NAME="AEN619"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
77 >3.10. Assembler Modes and Pragmas</A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
78 ></H1
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
79 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
80 >There are a number of options that affect the way assembly is performed.
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
81 Some of these options can only be specified on the command line because
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
82 they determine something absolute about the assembly process. These include
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
83 such things as the output target. Other things may be switchable during
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
84 the assembly process. These are known as pragmas and are, by definition,
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
85 not portable between assemblers.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
86 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
87 >LWASM supports a number of pragmas that affect code generation or
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
88 otherwise affect the behaviour of the assembler. These may be specified by
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
89 way of a command line option or by assembler directives. The directives
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
90 are as follows.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
91 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
92 ></P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
93 ><DIV
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
94 CLASS="VARIABLELIST"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
95 ><DL
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
96 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
97 >PRAGMA <CODE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
98 CLASS="PARAMETER"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
99 >pragma[,...]</CODE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
100 ></DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
101 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
102 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
103 >Specifies that the assembler should bring into force all <CODE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
104 CLASS="PARAMETER"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
105 >pragma</CODE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
106 >s
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
107 specified. Any unrecognized pragma will cause an assembly error. The new
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
108 pragmas will take effect immediately. This directive should be used when
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
109 the program will assemble incorrectly if the pragma is ignored or not supported.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
110 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
111 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
112 >*PRAGMA <CODE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
113 CLASS="PARAMETER"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
114 >pragma[,...]</CODE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
115 ></DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
116 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
117 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
118 >This is identical to the PRAGMA directive except no error will occur with
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
119 unrecognized or unsupported pragmas. This directive, by virtue of starting
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
120 with a comment character, will also be ignored by assemblers that do not
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
121 support this directive. Use this variation if the pragma is not required
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
122 for correct functioning of the code.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
123 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
124 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
125 >*PRAGMAPUSH <CODE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
126 CLASS="PARAMETER"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
127 >pragma[,...]</CODE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
128 ></DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
129 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
130 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
131 >This directive saves the current state of the specified pragma(s) for later retrieval. See discussion below for more information.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
132 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
133 >This directive will not throw any errors for any reason.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
134 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
135 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
136 >*PRAGMAPOP <CODE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
137 CLASS="PARAMETER"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
138 >pragma[,...]</CODE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
139 ></DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
140 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
141 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
142 >This directive restores the previously saved state of the specified pragma(s). See discussion below for more information.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
143 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
144 >This directive will not throw any errors for any reason.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
145 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
146 ></DL
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
147 ></DIV
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
148 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
149 >Each pragma supported has a positive version and a negative version.
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
150 The positive version enables the pragma while the negative version disables
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
151 it. The negatitve version is simply the positive version with "no" prefixed
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
152 to it. For instance, "pragma" vs. "nopragma". When only one version is
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
153 listed below, its opposite can be obtained by prepending "no" if it is not
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
154 present or removing "no" from the beginning if it is present.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
155 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
156 >Pragmas are not case sensitive.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
157 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
158 ></P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
159 ><DIV
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
160 CLASS="VARIABLELIST"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
161 ><DL
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
162 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
163 >index0tonone</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
164 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
165 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
166 >When in force, this pragma enables an optimization affecting indexed addressing
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
167 modes. When the offset expression in an indexed mode evaluates to zero but is
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
168 not explicity written as 0, this will replace the operand with the equivalent
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
169 no offset mode, thus creating slightly faster code. Because of the advantages
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
170 of this optimization, it is enabled by default.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
171 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
172 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
173 >cescapes</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
174 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
175 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
176 >This pragma will cause strings in the FCC, FCS, and FCN pseudo operations to
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
177 have C-style escape sequences interpreted. The one departure from the official
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
178 spec is that unrecognized escape sequences will return either the character
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
179 immediately following the backslash or some undefined value. Do not rely
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
180 on the behaviour of undefined escape sequences.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
181 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
182 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
183 >importundefexport</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
184 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
185 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
186 >This pragma is only valid for targets that support external references. When
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
187 in force, it will cause the EXPORT directive to act as IMPORT if the symbol
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
188 to be exported is not defined. This is provided for compatibility with the
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
189 output of gcc6809 and should not be used in hand written code. Because of
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
190 the confusion this pragma can cause, it is disabled by default.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
191 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
192 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
193 >undefextern</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
194 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
195 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
196 >This pragma is only valid for targets that support external references. When in
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
197 force, if the assembler sees an undefined symbol on the second pass, it will
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
198 automatically define it as an external symbol. This automatic definition will
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
199 apply for the remainder of the assembly process, even if the pragma is
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
200 subsequently turned off. Because this behaviour would be potentially surprising,
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
201 this pragma defaults to off.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
202 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
203 >The primary use for this pragma is for projects that share a large number of
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
204 symbols between source files. In such cases, it is impractical to enumerate
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
205 all the external references in every source file. This allows the assembler
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
206 and linker to do the heavy lifting while not preventing a particular source
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
207 module from defining a local symbol of the same name as an external symbol
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
208 if it does not need the external symbol. (This pragma will not cause an
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
209 automatic external definition if there is already a locally defined symbol.)</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
210 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
211 >This pragma will often be specified on the command line for large projects.
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
212 However, depending on the specific dynamics of the project, it may be sufficient
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
213 for one or two files to use this pragma internally.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
214 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
215 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
216 >export</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
217 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
218 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
219 >This pragma causes all symbols to be added to the export list
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
220 automatically. This is useful when a large number of symbols need to be
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
221 exported but you do not wish to include an EXPORT directive for all of them.
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
222 This is often useful on the command line but might be useful even inline
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
223 with the PRAGMA directive if a large number of symbols in a row are to be
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
224 exported.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
225 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
226 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
227 >dollarlocal</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
228 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
229 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
230 >When set, a "$" in a symbol makes it local. When not set, "$" does not
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
231 cause a symbol to be local. It is set by default except when using the OS9
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
232 target.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
233 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
234 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
235 >dollarnotlocal</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
236 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
237 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
238 > This is the same as the "dollarlocal" pragma except its sense is
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
239 reversed. That is, "dollarlocal" and "nodollarnotlocal" are equivalent and
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
240 "nodollarlocal" and "dollarnotlocal" are equivalent. </P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
241 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
242 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
243 >pcaspcr</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
244 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
245 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
246 > Normally, LWASM makes a distinction between PC and PCR in program
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
247 counter relative addressing. In particular, the use of PC means an absolute
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
248 offset from PC while PCR causes the assembler to calculate the offset to the
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
249 specified operand and use that as the offset from PC. By setting this
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
250 pragma, you can have PC treated the same as PCR. </P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
251 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
252 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
253 >shadow</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
254 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
255 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
256 >When this pragma is in effect, it becomes possible to define a macro
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
257 that matches an internal operation code. Thus, it makes it possible to
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
258 redefine either CPU instructions or pseudo operations. Because this feature
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
259 is of dubious utility, it is disabled by default.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
260 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
261 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
262 >nolist</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
263 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
264 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
265 >Lines where this pragma is in effect will not appear in the assembly
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
266 listing. Also, any symbols defined under this pragma will not show up in
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
267 the symbol list. This is most useful in include files to avoid spamming the
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
268 assembly listing with dozens, hundreds, or thousands of irrelevant
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
269 symbols.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
270 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
271 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
272 >autobranchlength</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
273 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
274 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
275 >One of the perennial annoyances for 6809 programmers is that the
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
276 mneumonics for the short and long branch instructions are different (bxx vs.
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
277 lbxx), which is at odds with the rest of the instruction set. This pragma
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
278 is a solution to those annoying byte overflow errors that short branch
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
279 instructions tend to aquire.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
280 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
281 >When this pragma is in effect, which is not the default, whenever any
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
282 relative branch instruction is used, its size will be automatically
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
283 determined based on the actual distance to the destination. In other words,
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
284 one can write code with long or short branches everywhere and the assembler
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
285 will choose a size for the branch.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
286 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
287 >Also, while this pragma is in effect, the &#62; and &#60; symbols can be used
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
288 to force the branch size, analogous to their use for other instructions with
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
289 &#60; forcing 8 bit offsets and &#62; forcing 16 bit offets.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
290 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
291 >Because this pragma leads to source that is incompatible with other
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
292 assemblers, it is strongly recommended that it be invoked using the PRAGMA
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
293 directive within the source code rather than on the command line or via the
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
294 *PRAGMA directive. This way, an error will be raised if someone tries to
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
295 assemble the code under a different assembler.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
296 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
297 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
298 >nosymbolcase, symbolnocase</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
299 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
300 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
301 >Any symbol defined while this pragma is in force will be treated as
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
302 case insensitive, regardless whether the pragma is in force when the symbol
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
303 is referenced.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
304 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
305 >It is important to note that this pragma will not work as expected in
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
306 all cases when using the object file assembly target. It is intended for
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
307 use only when the assembler will be producing the final binary.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
308 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
309 ><DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
310 >condundefzero</DT
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
311 ><DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
312 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
313 >This pragma will cause the assembler to change the way it handles
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
314 symbols in conditional expressions. Ordinarily, any symbol that is not
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
315 defined prior to the conditional will throw an undefined symbol error. With
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
316 this pragma in effect, symbols that are not yet defined at the point the
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
317 conditional is encountered will be treated as zero.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
318 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
319 >This is not the default because it encourages poor code design. One
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
320 should use the "IFDEF" or "IFNDEF" conditionals to test for the presence of
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
321 a symbol.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
322 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
323 >It is important to note that if a symbol is defined but it does not
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
324 yet evaluate to a constant value at the point where the conditional appears,
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
325 the assembler will still complain about a non constant condition.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
326 ></DD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
327 ></DL
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
328 ></DIV
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
329 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
330 >As a convenience, each input file has a pragma state stack. This
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
331 allows, through the use of *PRAGMAPUSH and *PRAGMAPOP, a file to change a
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
332 pragma state and then restore it to the precise state it had previously.
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
333 If, at the end of an input file, all pragma states have not been popped,
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
334 they will be removed from the stack. Thus, it is critical to employ
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
335 *PRAGMAPOP correctly. Because each input file has its own pragma stack,
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
336 using *PRAGMAPUSH in one file and *PRAGMAPOP in another file will not
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
337 work.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
338 ><P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
339 >Pragma stacks are more useful in include files, in particular in
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
340 conjunction with the nolist pragma. One can push the state of the nolist
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
341 pragma, engage the nolist pragma, and then pop the state of the nolist
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
342 pragma at the end of the include file. This will cause the entire include
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
343 file to operate under the nolist pragma. However, if the file is included
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
344 while nolist is already engaged, it will not undo that state.</P
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
345 ></DIV
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
346 ><DIV
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
347 CLASS="NAVFOOTER"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
348 ><HR
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
349 ALIGN="LEFT"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
350 WIDTH="100%"><TABLE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
351 SUMMARY="Footer navigation table"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
352 WIDTH="100%"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
353 BORDER="0"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
354 CELLPADDING="0"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
355 CELLSPACING="0"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
356 ><TR
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
357 ><TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
358 WIDTH="33%"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
359 ALIGN="left"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
360 VALIGN="top"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
361 ><A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
362 HREF="x555.html"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
363 ACCESSKEY="P"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
364 >Prev</A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
365 ></TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
366 ><TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
367 WIDTH="34%"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
368 ALIGN="center"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
369 VALIGN="top"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
370 ><A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
371 HREF="index.html"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
372 ACCESSKEY="H"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
373 >Home</A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
374 ></TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
375 ><TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
376 WIDTH="33%"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
377 ALIGN="right"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
378 VALIGN="top"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
379 ><A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
380 HREF="c713.html"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
381 ACCESSKEY="N"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
382 >Next</A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
383 ></TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
384 ></TR
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
385 ><TR
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
386 ><TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
387 WIDTH="33%"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
388 ALIGN="left"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
389 VALIGN="top"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
390 >Object Files and Sections</TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
391 ><TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
392 WIDTH="34%"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
393 ALIGN="center"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
394 VALIGN="top"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
395 ><A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
396 HREF="c62.html"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
397 ACCESSKEY="U"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
398 >Up</A
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
399 ></TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
400 ><TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
401 WIDTH="33%"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
402 ALIGN="right"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
403 VALIGN="top"
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
404 >LWLINK</TD
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
405 ></TR
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
406 ></TABLE
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
407 ></DIV
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
408 ></BODY
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
409 ></HTML
b30091890d62 Add documentation of the new hex output formats.
William Astle <lost@l-w.ca>
parents:
diff changeset
410 >