Ассемблер x86 и так совместим с x86_64 если вы не используете готовые исполняемые модули (DLL, SO) разных архитектур в одном процессе, а вот при отладке, дизассемблирования, декомпиляции всегда нужно использовать инструменты для соответствующей архитектуры, так как адреса будут иметь разную разрядность (x86 рассчитано на ОЗУ только до 4 ГБ, в x86_64 - и свыше), к тому же в x86_64 есть дополнительные оп-коды (команды), которых просто "не знают" анализаторы в инструментах для x86.