Я смущен относительно зависимости от платформы. Я хотел бы получить это прямо. Итак, если я правильно понимаю, определенная архитектура оборудования будет иметь определенный набор команд.Язык ассемблера и платформа Независимость
Справа? Например. если говорить о процессоре Intel 8086, то для этого процессора есть определенный набор инструкций. Если я код в этом наборе команд, это означает, что я кодирую на ассемблере, поддерживаемом Intel 8086. Правильно?
Теперь эта конкретная архитектура процессора может использоваться различными машинами и операционными системами. Например. MAC, использующий Mountain Lion OSX, машину Lenovo, использующую Ubuntu в качестве ОС и машину VAIO VAIO, использующую Windows 7 как свою ОС, все эти машины могут иметь свою базовую архитектуру процессора как Intel 8086. Правильно?
Итак, теперь, если я пишу код (чтобы добавить 2 цифры) на ассемблере для процессора Intel 8086, этот код должен работать без проблем на всех упомянутых выше трех машинах. И обычный ассемблер должен иметь возможность конвертировать этот код в код уровня машины на всех этих трех машинах. Правильно?
Итак, где же зависимость от платформы возникает здесь? Поскольку код asm записывается для одной и той же базовой архитектуры процессора, должен ли он работать не только на всех платформах?
Я просто пытаюсь выяснить, где я ошибаюсь и путаюсь. Что мне здесь не хватает? Пожалуйста, несите меня, если вопрос звучит путающе или глупо.
Физическое оборудование исключительно не является «платформенным». – WhozCraig
Как бы вы запускали свою программу? Что-то должно его запускать (BIOS, система Windows, Linux один). –
Этот вопрос должен быть перенесен на программистов. Stackexchange –