changes.src: document preprocessor directives added since 2.07
authorKeith Kanios <keith@kanios.net>
Sun, 25 Oct 2009 19:06:24 +0000 (14:06 -0500)
committerKeith Kanios <keith@kanios.net>
Sun, 25 Oct 2009 19:06:24 +0000 (14:06 -0500)
nasmdoc.src: document %exitmacro

doc/changes.src
doc/nasmdoc.src

index 88b3431..dc77728 100644 (file)
@@ -11,8 +11,18 @@ since 2007.
 
 \b A number of enhancements/fixes in macros area.
 
+\b Support for arbitrarily terminating macro expansions \c{%exitmacro}.
+  See \k{exitmacro}.
+
+\b Support for recursive macro expansion \c{%rmacro/irmacro}.
+  See \k{mlrmacro}.
+
+\b Support for converting strings to tokens.  See \k{deftok}.
+
 \b Fuzzy operand size logic introduced.
 
+\b Fix Macho-O alignment bug.
+
 \b Fix crashes with -fwin32 on file with many exports.
 
 \b Fix stack overrun for too long [DEBUG id].
@@ -25,6 +35,7 @@ since 2007.
 
 \b Warn a user if a constant too long (and as a result will be stripped).
 
+
 \S{cl-2.07} Version 2.07
 
 \b NASM is now under the 2-clause BSD license.  See \k{legal}.
index ff5788d..77a2cae 100644 (file)
@@ -2826,6 +2826,22 @@ removes the previously defined macro \c{foo}, but
 does \e{not} remove the macro \c{bar}, since the argument
 specification does not match exactly.
 
+
+\S{exitmacro} Exiting Multi-Line Macros: \i\c{%exitmacro}
+
+Multi-line macro expansions can be arbitrarily terminated with
+the \c{%exitmacro} directive.
+
+For example:
+
+\c %macro foo 1-3
+\c         ; Do something
+\c     %if<condition>
+\c         %exitmacro
+\c     %endif
+\c         ; Do something
+\c %endmacro
+
 \H{condasm} \i{Conditional Assembly}\I\c{%if}
 
 Similarly to the C preprocessor, NASM allows sections of a source