Un metaensamblador traduce el código fuente del metaensamblador al código de máquina de destino. El metaensamblaje, también conocido como ensamblaje simbólico o ensamblaje algorítmico, permite a los programadores de lenguaje ensamblador definir procedimientos y otras funciones similares a macros. Por tanto, los metaensambladores son útiles para optimizar el tamaño y la velocidad del código. Una ventaja significativa de utilizar un metaensamblador sobre un ensamblador normal es el poder de definir nuevas directivas, que pueden expandir el código fuente de diferentes maneras. Algunos metaensambladores también ofrecen funcionalidades adicionales como ensamblaje condicional y generación de código estructurado.