Un macro ensamblador es un ensamblador modular, descendiente de los ensambladores básicos.
Fueron muy populares en los años 1950 y años 1960, antes de la generalización de los lenguajes de alto nivel.
Hacen todo lo que puede hacer un ensamblador, y además proporcionan una serie de Directivas para definir y ejecutar macroinstrucciones (o simplemente, Macros).
Cuando ejecutamos a una "macro", ésta se expande al cuerpo que hayamos definido.