Компилятор ничего не знает о системе команд твоего процессора и никак не учитывает её при генерации кода. Он просто генерирует коды по заложенным в него правилам.
Но нормальный компилятор содержит разные наборы правил - для разных наборов команд. И ты ключами компилятора можешь выбрать тот набор команд, который будет использован в сгенерированном компилятором коде.
C/C++
Как компилятор будет обрабатывать код если процессор не поддерживает не которые написаные команды в коде?
Компилятор рассчитан на систему команд определенного процессора, в котором есть все известные компилятору команды. Он создает машинный код только для такого процессора. Если запустить программу на процессоре, в котором каких-то команд нет, поведение программы непредсказуемо.
Аппаратной поддержки не будет, но программная эмуляция возможна.
В коде ассма прям написано, для какого процессора этот код генерируется. На своем компьютере ты можешь сгенерировать файл (набор бит) для любого компьютера, что говорит, что он у тебя не обязан всегда запускаться.
В самом коде ты делаешь блоки кода с учетом того, есть ли такие команды и если их нет, то просто данный блок кода не будет выполняться, а его будут обходить. Но, даже если ты такой блок запустишь, то скорее всего процессор будет думать, что это какая-то другая команда, так как он анализирует просто числа.
В самом коде ты делаешь блоки кода с учетом того, есть ли такие команды и если их нет, то просто данный блок кода не будет выполняться, а его будут обходить. Но, даже если ты такой блок запустишь, то скорее всего процессор будет думать, что это какая-то другая команда, так как он анализирует просто числа.
Таки скомпилирует бинарник. Но он, конечно же, не запустится.
Компилятору решительно похрен, что преобразовывать
Компилятор лишь проводник от высших языков программирования, до языка, распознаваемого компьютером - нули и единицы
Компилятор лишь проводник от высших языков программирования, до языка, распознаваемого компьютером - нули и единицы
например?
Похожие вопросы
- Напишите пожалуйста код на 5 вариант очень простой я на 1 курсе вуза и нужен простой код.
- Написать код на языке C++
- Как оптимизировать код, чтобы не было превышения по времени к задаче (C++, динамическое программирование)?
- Как оптимизировать код, чтобы не было превышения по времени к задаче (C++)?
- Ошибки в коде. Почему не работает и как сделать чтобы заработало ?
- Написать код на языке си
- Помогите с кодом C++
- Как можно доработать код С++?
- Написать фрагмент кода, где формируется двумерный массив, элементы которого могут быть тру и фолс
- Код , который пишет сам себя
а процессор поддерживает до SSE 3