Наприклад, асемблери NASM і YASM реалізують власний стек макропроцесора (директиви %push і %pop), можуть здійснювати зсув переданих макрокоманді параметрів на задану кількість (%rotate), повторювати емітування послідовності команд (%rep / %endrep), здійснювати умовну трансляцію (директиви %ifdef і подібні). Пакети макрокоманд для багатих на можливості асемблерів надають програмістам навіть механізм, наближені до структурного програмування, коли програма на мові асемблера виглядає так, немов би вона містить такі сутності, як процедури і функції, локальні змінні, структури даних з можливістю символічної адресації полів, інструкції-перемикачі і тому подібне.