Definición de una macro

Una definición de macro aparece antes de que cualquier definición de segmento. Examinemos una definición de una  macro sencilla que inicializa los registros de segmento para un programa.EXE:

INICIAREGS   MACRO                    ;Define macro
MOV AX,  @data      ; }  Cuerpo de
MOV DS,   AX          ;  }  la definición
MOV ES,    AX         ;  }  de la macro
ENDM                      ; Fin de la macro

El nombre de esta macro es INICIAREGS, aunque es aceptable cualquier otro nombre valido que sea único. La directiva MACRO en la primer línea indica al ensamblador que las instrucciones que siguen, hasta ENDM («fin de la macro»), son parte de la definición de la macro. La directiva ENDM termina la definición de la macro.

Los nombres a que se hace referencia en la definición de la macro, @data, AX, DS y ES, deben estar definidos en alguna parte del programa o deben ser dados a conocer de alguna otra forma al ensamblador.

En forma subsecuente se puede usar la macro-instruccion INICIAREGS en el segmento de código en donde quiera inicializar los registros. Cuando el ensamblador encuentra la macra-instruccion INICIAREGS, busca en una tabla de instrucciones simbólicas y, a falta de una entrada, busca macroinstrucciones. Ya que el programa contiene una definición de la macro INICIAREGS, el ensamblador sustituye el cuerpo de la definición generando instrucciones: la expansión de la macro.

Un programa usaría la macroinstruccion INICIAREGS solo una vez, aunque otras macros están diseñadas para ser utilizadas cualquier numero de veces y cada vez el ensamblador genera la misma expansión.