annotate docs/manual/x562.html @ 508:10f62dc61a75

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