Ассемблер не определяет, "какой лучше".
1. Если программа собрана на языке ассемблера неподдерживаемой машины, после чего каким-то образом (нестандартным загрузчиком) была успешно загружена и начато выполнение, то происходит то, что описано в документации по машине - от выполнения случайных команд, вместо запланированных (если у них совпадают опкоды) до аварийного завершения с исключением.
2. Если программа была собрана под более старую версию архитектуры или вообще другую, например с использованием опции компилятора gcc:
https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
, или аналогичных у других ассемблеров/компиляторов, то загрузчик определит, что архитектура бинарника левая и выдаст ошибку в консоль при попытке запуска наподобие
risc-v architecture not supported on x64
3. Для случая близких архитектур типа amd x64 / intel x64 - есть общая база, которая будет выполняться на обоих и содержащая большую часть команд. Если программист при сборке задействует специфические команды архитектуры, то получит прямо при сборке ошибку наподобие
CPU you selected does not support amd x86-64 instruction set
если же после этого он полезет в опции и выставит amd-специфическую архитектуру, то на интелевских этот код перестанет выполнятся и при запуске будет ошибка, как в случае 2.
Еще были варианты специфической оптимизации участков кода, например, бинарник Quake3 при запуске определял наличие расширения amd 3dnow!, которых не было на интелевских и переключал выполнение критических участков кода на специфический набор функций с этим расширением, при этом бинарник был единственный для всех процессоров. Естественно, такое определение архитектуры было сделано программистами, а не ассемблером.
Другие языки программирования и технологии
Если у процессоров команды на которых они общаются разные то как асемблер определяет какие лучше для какого?
"процессоры общаются"? Примерчик такого общения можно?
Так это и есть ассемблер. Ужке лет 30 разницу глазом не ощутишь там наносекунды, даже быстрее
Андрей Анучин
у C\C++ есть типа програмно не зависимые команды а вот у асм ...
может для каждой архитектуры свой ассемблер?
Андрей Анучин
что то я не заметил что бы в свободном доступе там были отличия
Похожие вопросы
- Подскажите прогу,которая визуализиует картинки разных форматов?включая анимации типа ACD see только другую
- как найти количество максимальных элементов в массиве? на асемблере. на асемблере
- как программируются команды в процессорах
- Как работает процессор? Писать программу на разных языках почему приходится?
- с какого языка програмирования стоит начать? с С++ или асемблера??
- //////////////////Маленький вопрос по АСЕМБЛЕРУ\\\\\\\\\\\\\\\\\
- Очень нужна помощь....Асемблер(tasm)
- асемблер ошибка
- как заставить ету прогу упак и неупак. BCD (асемблер, масм32)
- Помогите пожалуйста с задачей по асемблеру. Построить конкатенацию (последовательную запись) файла TWO сомого с собой.