Metaprogramming in Flat Assembler
gpfault.net
gpfault.net
Hence why PC Assembly was so much more fun than dealing with it on UNIX derived platforms.
DCB was the same magic incantation as #include <stdio.h>
But if your base environment doesn't have notions of types or structured expressions either, which is mostly true of assemblers, then you are free to use macros to program at a higher level. The expressive power you gain by leveraging macros doesn't have a real downside because the core language is already so limited that it won't be more legible or maintainable to do it by hand.