Mercurial > hg > index.cgi
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> |