Вот есть у нас, например, QEMU. Он эмулирует различные архитекуры процессоров. То есть по сути это интерпретатор машинного кода, предназначенного для других архитектур. Так? А если есть интерпретатор, то где тогда компилятор? Зачем мне каждый раз транслировать команды из софта для x86 в команды моего ARM-недобука, если это в принципе можно сделать один раз? Или тут есть какие-то технические сложности?