Macros can call themselves. In previous versions of MASM, recursion is an important technique for handling variable arguments. With MASM 6.0, you can do this much more cleanly using the FOR directive and the VARARG attribute, as described in Section 9.4.3. However, recursion is still available and may be useful for some macros.