Я понимаю, что существует множество версий языка программирования сборки, таких как X86, ARM, MIPS, Motorola и т. Д., Которые работают на разных архитектурах. Однако почему это? Как работает сборка? Почему я не могу использовать одну версию сборки в другой архитектуре. На простейшем уровне, конечно, мы просто имеем дело с потоком электрического тока, так почему это ограничение и как эти архитектуры даже отличаются?В чем разница между сборкой X86 и другими версиями сборки?
Кроме того, предположим, что я хотел создать операционную систему, которая запускается на пользовательской архитектуре, которую я создал. Должен ли я затем создать собственный язык ассемблера? И язык сборки необходим в любом случае для создания os?
Главным недоразумением, которое привело к этому вопросу, вероятно, является то, что сборка не совсем такая низкая. Обычно это не касается электрических сигналов - такие вещи выпекаются в самой структуре процессора, физических транзисторах и проводке. В некотором смысле сборка просто сообщает процессору, какую из различных вещей он может сделать сейчас, но все вещи, которые он может выбрать, предварительно определены. – harold