Они не являются частью сборки x86, они специфичны для nasm. Они похожи, но не совсем: %assign
определяет числовую константу, и ее можно переопределить. Он не может принимать аргументы. %define
определяет числовой или строковый макрос, он может принимать аргументы, а также может быть переопределен.
Больше информации в документации