Докажи - напиши вывод в консоль на, к примеру, интеловском ассемблере
Интеловский ?
Нахуя ?
Ассемблер - это программа-сборщик, а есть язык ассемблера. По этому и есть разница между диалектами, собственно ряд диалектов разрешают макросы. Это тоже часть языка, по этому от них отказываться смысла не вижу.
Всё равно что я тебе скажу писать всё то что у тебя в хедерах и инклудах в тело программы.
Единственное на FASM я не видел всяких фич для ООП.