annotate docs/manual/x476.html @ 207:07e1fac76321

Added pragma to allow non case sensitive symbols Added "nosymbolcase" and "symbolnocase" pragmas to cause symbols defined while the pragma is in effect to be treated as case insensitive. Also documented the new pragma.
author William Astle <lost@l-w.ca>
date Sat, 09 Jun 2012 15:47:22 -0600
parents 83b7b4ce3bbd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
153
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
2 <HTML
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
3 ><HEAD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
4 ><TITLE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
5 >Macros</TITLE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
6 ><META
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
7 NAME="GENERATOR"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
9 REL="HOME"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
10 TITLE="LW Tool Chain"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
11 HREF="index.html"><LINK
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
12 REL="UP"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
13 TITLE="LWASM"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
14 HREF="c45.html"><LINK
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
15 REL="PREVIOUS"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
16 TITLE="Assembler Directives"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
17 HREF="x193.html"><LINK
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
18 REL="NEXT"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
19 TITLE="Structures"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
20 HREF="x499.html"></HEAD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
21 ><BODY
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
22 CLASS="SECTION"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
23 BGCOLOR="#FFFFFF"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
24 TEXT="#000000"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
25 LINK="#0000FF"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
26 VLINK="#840084"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
27 ALINK="#0000FF"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
28 ><DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
29 CLASS="NAVHEADER"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
30 ><TABLE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
31 SUMMARY="Header navigation table"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
32 WIDTH="100%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
33 BORDER="0"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
34 CELLPADDING="0"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
35 CELLSPACING="0"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
36 ><TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
37 ><TH
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
38 COLSPAN="3"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
39 ALIGN="center"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
40 >LW Tool Chain</TH
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
41 ></TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
42 ><TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
43 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
44 WIDTH="10%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
45 ALIGN="left"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
46 VALIGN="bottom"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
47 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
48 HREF="x193.html"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
49 ACCESSKEY="P"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
50 >Prev</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
51 ></TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
52 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
53 WIDTH="80%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
54 ALIGN="center"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
55 VALIGN="bottom"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
56 >Chapter 3. LWASM</TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
57 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
58 WIDTH="10%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
59 ALIGN="right"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
60 VALIGN="bottom"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
61 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
62 HREF="x499.html"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
63 ACCESSKEY="N"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
64 >Next</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
65 ></TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
66 ></TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
67 ></TABLE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
68 ><HR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
69 ALIGN="LEFT"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
70 WIDTH="100%"></DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
71 ><DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
72 CLASS="SECTION"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
73 ><H1
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
74 CLASS="SECTION"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
75 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
76 NAME="AEN476"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
77 >3.7. Macros</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
78 ></H1
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
79 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
80 >LWASM is a macro assembler. A macro is simply a name that stands in for a
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
81 series of instructions. Once a macro is defined, it is used like any other
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
82 assembler directive. Defining a macro can be considered equivalent to adding
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
83 additional assembler directives.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
84 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
85 >Macros may accept parameters. These parameters are referenced within a
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
86 macro by the a backslash ("\") followed by a digit 1 through 9 for the first
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
87 through ninth parameters. They may also be referenced by enclosing the
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
88 decimal parameter number in braces ("{num}"). The special expansion "\*"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
89 translates to the exact parameter string, including all parameters, passed
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
90 to the macro. These parameter references are replaced with the verbatim text
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
91 of the parameter passed to the macro. A reference to a non-existent
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
92 parameter will be replaced by an empty string. Macro parameters are expanded
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
93 everywhere on each source line. That means the parameter to a macro could be
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
94 used as a symbol or it could even appear in a comment or could cause an
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
95 entire source line to be commented out when the macro is expanded. </P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
96 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
97 >Parameters passed to a macro are separated by commas and the parameter list
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
98 is terminated by any whitespace. This means that neither a comma nor whitespace
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
99 may be included in a macro parameter.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
100 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
101 >Macro expansion is done recursively. That is, within a macro, macros are
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
102 expanded. This can lead to infinite loops in macro expansion. If the assembler
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
103 hangs for a long time while assembling a file that uses macros, this may be
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
104 the reason.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
105 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
106 >Each macro expansion receives its own local symbol context which is not
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
107 inherited by any macros called by it nor is it inherited from the context
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
108 the macro was instantiated in. That means it is possible to use local symbols
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
109 within macros without having them collide with symbols in other macros or
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
110 outside the macro itself. However, this also means that using a local symbol
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
111 as a parameter to a macro, while legal, will not do what it would seem to do
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
112 as it will result in looking up the local symbol in the macro's symbol context
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
113 rather than the enclosing context where it came from, likely yielding either
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
114 an undefined symbol error or bizarre assembly results.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
115 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
116 >Note that there is no way to define a macro as local to a symbol context. All
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
117 macros are part of the global macro namespace. However, macros have a separate
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
118 namespace from symbols so it is possible to have a symbol with the same name
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
119 as a macro.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
120 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
121 >Macros are defined only during the first pass. Macro expansion also
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
122 only occurs during the first pass. On the second pass, the macro
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
123 definition is simply ignored. Macros must be defined before they are used.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
124 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
125 >The following directives are used when defining macros.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
126 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
127 ></P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
128 ><DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
129 CLASS="VARIABLELIST"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
130 ><DL
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
131 ><DT
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
132 ><CODE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
133 CLASS="PARAMETER"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
134 >macroname</CODE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
135 > MACRO [NOEXPAND]</DT
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
136 ><DD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
137 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
138 >This directive is used to being the definition of a macro called
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
139 <CODE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
140 CLASS="PARAMETER"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
141 >macroname</CODE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
142 >. If <CODE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
143 CLASS="PARAMETER"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
144 >macroname</CODE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
145 > already
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
146 exists, it is considered an error. Attempting to define a macro within a
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
147 macro is undefined. It may work and it may not so the behaviour should not
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
148 be relied upon.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
149 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
150 >If NOEXPAND is specified, the macro will not be expanded in a program
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
151 listing. Instead, all bytes emitted by all instructions within the macro
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
152 will appear to be emitted on the line where the macro is invoked, starting
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
153 at the address of the line of the invokation. If the macro uses ORG or other
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
154 directives that define symbols or change the assembly address, these things
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
155 will also be hidden (except in the symbol table) and the output bytes will
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
156 appear with incorrect address attribution. Thus, NOEXPAND should only be
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
157 used for macros that do not mess with the assembly address or otherwise
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
158 define symbols that should be visible.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
159 ></DD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
160 ><DT
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
161 >ENDM</DT
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
162 ><DD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
163 ><P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
164 >This directive indicates the end of the macro currently being defined. It
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
165 causes the assembler to resume interpreting source lines as normal.</P
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
166 ></DD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
167 ></DL
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
168 ></DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
169 ></DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
170 ><DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
171 CLASS="NAVFOOTER"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
172 ><HR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
173 ALIGN="LEFT"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
174 WIDTH="100%"><TABLE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
175 SUMMARY="Footer navigation table"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
176 WIDTH="100%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
177 BORDER="0"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
178 CELLPADDING="0"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
179 CELLSPACING="0"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
180 ><TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
181 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
182 WIDTH="33%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
183 ALIGN="left"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
184 VALIGN="top"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
185 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
186 HREF="x193.html"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
187 ACCESSKEY="P"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
188 >Prev</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
189 ></TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
190 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
191 WIDTH="34%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
192 ALIGN="center"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
193 VALIGN="top"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
194 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
195 HREF="index.html"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
196 ACCESSKEY="H"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
197 >Home</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
198 ></TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
199 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
200 WIDTH="33%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
201 ALIGN="right"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
202 VALIGN="top"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
203 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
204 HREF="x499.html"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
205 ACCESSKEY="N"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
206 >Next</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
207 ></TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
208 ></TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
209 ><TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
210 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
211 WIDTH="33%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
212 ALIGN="left"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
213 VALIGN="top"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
214 >Assembler Directives</TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
215 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
216 WIDTH="34%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
217 ALIGN="center"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
218 VALIGN="top"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
219 ><A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
220 HREF="c45.html"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
221 ACCESSKEY="U"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
222 >Up</A
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
223 ></TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
224 ><TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
225 WIDTH="33%"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
226 ALIGN="right"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
227 VALIGN="top"
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
228 >Structures</TD
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
229 ></TR
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
230 ></TABLE
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
231 ></DIV
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
232 ></BODY
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
233 ></HTML
83b7b4ce3bbd Added prebuilt manual to repository to avoid failures to include it during releases
lost@l-w.ca
parents:
diff changeset
234 >