2013-08-03 4 views
1

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

Кроме того, предположим, что я хотел создать операционную систему, которая запускается на пользовательской архитектуре, которую я создал. Должен ли я затем создать собственный язык ассемблера? И язык сборки необходим в любом случае для создания os?

+1

Главным недоразумением, которое привело к этому вопросу, вероятно, является то, что сборка не совсем такая низкая. Обычно это не касается электрических сигналов - такие вещи выпекаются в самой структуре процессора, физических транзисторах и проводке. В некотором смысле сборка просто сообщает процессору, какую из различных вещей он может сделать сейчас, но все вещи, которые он может выбрать, предварительно определены. – harold

ответ

4

Язык ассемблера по большей части является просто читаемой/управляемой формой машинного кода человеком. процессоры работают на машинный код, биты и байты. по разным причинам разные семейства процессоров, созданные разными компаниями, различны. Так же, как не все машины идентичны. Один из способов, по которым процессоры отличаются друг от друга, состоит в том, что они работают с разными наборами команд, с разным кодом, различными комбинациями из них и нулями. В результате, язык ассемблера от одного к другому меняется также. Кроме того, языки сборки часто определяются создателем процессора, физическими лицами/компаниями, которые разрабатывают процессор (не всегда, но часто). И так же, как они делают разные процессоры, у них разные привычки и желания для синтаксиса языка ассемблера и других вариантов. Итак, еще одна причина для языков ассемблера. Так же, как не все автомобили используют шины того же размера.

0

Каждая компьютерная архитектура «говорит» на своем языке. Сборка - это более-менее однозначное сопоставление машинного языка с человеческим языком. Потому что машинные языки разные, так же как и сборки.

Смежные вопросы