Все исполняемые файлы на всех операционках исполняются одинаково?

mkostoevr, как сказал shmkv, в архитектуре x86-64 некоторые опкоды будут иметь разную интерпретацию, т.е. будут соответствовать разным инструкциям ассемблера в разных разрядностях. Некоторых инструкций нет в одних разрядностях (т.е. они вызовут исключение #UD), некоторых – в других.
К примеру, опкод 40h в 16-разрядной системе – это inc ax, а 32-битной – inc eax, а в 64-битной – это вообще префикс.
Инструкции syscall/sysret доступны только в 64-битном режиме, а BCD-инструкции (aaa, aad, aam, aas) наоборот недоступны в 64-битном режиме недоступны.
Далее, многие инструкции работают не на всех процессорах (есть специфические инструкции, которые поддерживаются даже не всеми современными процессорами). К примеру, инструкции pusha/popa работают, начиная с 80186 процессора, fsin,fcos – 80386 (80387 точнее), а SIMD-инструкции (MMX, SSE, AVX, FMA), BMI и т.п. требуют поддержки именной этого набора инструкций (что проверяется через инструкцию cpuid). Инструкции lahf/sahf поддерживаются, начиная с 8086, но в 64-битном режиме работают не всегда (требуется проверка определённого флага). Некоторые наборы инструкций работают только на AMD (3DNow!) и то не на всех, иные – только на Intel. Инструкции FMA имеют 2 набора – FMA3 (для Intel) и FMA4 (для AMD).
Некоторые инструкции работают только в защищённом режиме, другие – только в реальном (режиме реальной адресации). При этом механизм работы некоторых инструкций будет отличаться (тот же int хоть и выполняет вызов прерывания, но это происходит по-разному в разных режимах). Причём, в защищённом режиме какие-то инструкции допустимо использовать только в 0-м "кольце" (уровне привилегий), другие – на всех.
Тем не менее, достаточно много инструкций будут выполняться и кодироваться одинаково везде (к примеру, mov al,1 или adc dl,0 или shl al,cl).
И т.д. Нюансов тут много... Но это всё относится к центральному процессору (ЦП) и его режиму работы.
От системы зависит только этот самый режим ЦП, в котором работает система ("реальный", защищённый: 32, 64-битный или x32 – в Linux такой ещё есть; есть ещё и другие режимы работы ЦП), набор функций библиотек/системные вызовов и способ их использования и какие-то отдельные нюансы (разрешения, организация памяти). Ну и разумеется, формат исполнимых файлов.
На iOS или Android-системах, а также микроконтроллерах и пр. (где используется процессор, несовместимый с x86-64) набор инструкций и их коды будут отличаться, разумеется.

2