comparison docs/manual.docbook.sgml @ 51:fd1ecc5d6e69

Added mention of NOEXPAND macro argument in manual
author lost@l-w.ca
date Tue, 05 Apr 2011 00:17:17 -0600
parents 2c24602be78f
children 9ded7e6fc1b0
comparison
equal deleted inserted replaced
50:f55650f5e9b8 51:fd1ecc5d6e69
1091 1091
1092 <para>The following directives are used when defining macros.</para> 1092 <para>The following directives are used when defining macros.</para>
1093 1093
1094 <variablelist> 1094 <variablelist>
1095 <varlistentry> 1095 <varlistentry>
1096 <term><parameter>macroname</parameter> MACRO</term> 1096 <term><parameter>macroname</parameter> MACRO [NOEXPAND]</term>
1097 <listitem> 1097 <listitem>
1098 <para>This directive is used to being the definition of a macro called 1098 <para>This directive is used to being the definition of a macro called
1099 <parameter>macroname</parameter>. If <parameter>macroname</parameter> already 1099 <parameter>macroname</parameter>. If <parameter>macroname</parameter> already
1100 exists, it is considered an error. Attempting to define a macro within a 1100 exists, it is considered an error. Attempting to define a macro within a
1101 macro is undefined. It may work and it may not so the behaviour should not 1101 macro is undefined. It may work and it may not so the behaviour should not
1102 be relied upon. 1102 be relied upon.
1103 </para> 1103 </para>
1104
1105 <para>If NOEXPAND is specified, the macro will not be expanded in a program
1106 listing. Instead, all bytes emitted by all instructions within the macro
1107 will appear to be emitted on the line where the macro is invoked, starting
1108 at the address of the line of the invokation. If the macro uses ORG or other
1109 directives that define symbols or change the assembly address, these things
1110 will also be hidden (except in the symbol table) and the output bytes will
1111 appear with incorrect address attribution. Thus, NOEXPAND should only be
1112 used for macros that do not mess with the assembly address or otherwise
1113 define symbols that should be visible.</para>
1114
1104 </listitem> 1115 </listitem>
1105 </varlistentry> 1116 </varlistentry>
1106 1117
1107 <varlistentry> 1118 <varlistentry>
1108 <term>ENDM</term> 1119 <term>ENDM</term>