Я понимаю, как компьютер работает на основных принципах, например, программа может быть написана на языке с высоким уровнем, например С#, C, а затем разбита на объектный код, а затем двоичная для процессора, чтобы понять, Тем не менее, я действительно хочу узнать о сборке и о том, как она используется в современных приложениях.
Я знаю, что процессоры имеют разные наборы команд над базовым набором команд x86. Поддерживают ли все языки ассемблера все наборы инструкций?
Сколько ассемблерных языков существует? Сколько из них хорошо работает с другими языками?
Как кто-то собирается писать процедуру в сборке, а затем компилировать ее в объект/двоичный код?
Как кто-то тогда ссылается на функции/подпрограммы внутри этого кода сборки с языка, такого как C или С++?
Как мы узнаем, что код, который мы написали в сборке, является самым быстрым из возможных?
Существуют ли какие-либо рекомендуемые книги по языкам ассемблера/их использование с помощью современных программ?
Извините за количество вопросов, я надеюсь, что они достаточно общие, чтобы быть полезными для других людей, а также достаточно просты, чтобы другие могли ответить!