Ассемблер я че то вообще не догоняю
Думаю учить его не буду но прочитать прочитаю, либо выучу на уровне новичка.
Но вот прочел щас такое, если написать на ассемблере самому то программа не будет работать на другом процессоре, а если это сделать на других языках, где компилятор сам превращает код то все нормально будет, я что то не догоняю это как? компилятор что превращает код для виртуальной машины что ли? почему если я напишу на ассемблере программа не будет на других процессорах работать, а если напишу на высоком уровне на всех будет ?
Получается компиляторы или как их называют, они что создают код для виртуальных машин что ли или какой каким образом они создают какой то код который будет работать везде, а на ассемблере если писать то на 1 процессоре только.
Высокоуровневый язык что другие инструкции будет создавать универсальные что ли.
Ассемблер не для того был создан, чтобы его "выучить на уровне новичка",его либо надо учить всю жизнь, либо не учить и вовсе.
Ассемблер обращается напрямую в процессор, от того время запуска программы/кода заметно меньше, программа к процессору не связывается, код/программа сможет работать на любой машине, абсолютно, где есть электроника.
Высокоуровневые созданы для облегчения, по тяжести они никогда не сравнятся с ассемблером, хотя смотря какой язык, если написанный Васей из ПТУ, то он даже будет потяжелее))
В высокоуровневых языках в начале кода указывается тип системы на которой будет работать программа или по умолчанию не указывается типо он под x86 windows, компилятор заменяет выражения на языке высокого уровня на асеемблерные команды в зависимости от того какой процессор ты ему указал, этим и обеспечивается кроссплатформенность.
Компилятор не выдает универсальный ассемблерный код.
Например ассемблерный код сгенерированный под x86 на arm работать не будет и на оборот.