под другое железо заменой процессорных инструкций 1к1?
Например ожидаю что можно выбрать 10 примитив типа чтения, записи, сложения, умножения, прыжок если ноль, обращение к регистрами как со стеком... которые покрывают 99% железа
Для этого придумали С. Там нет привязки к набору инструкций архититекуры, а лишь абстрактные встроенные команды компилятора, которые преобразовываются в наборы инструкций тысяч архитектур.
Одна инструкция на одну инструкцию? Нет. Простейший пример: ты хочешь 32-битную константу в регистр. Тут случается любой риск, и у тебя уже две инструкции.
Это обеспечит виртуальная машина. Но ее код обычно не мапится 1:1 с native
Там в тысячи раз больше реализовано. вытащить минимум не смогу
А зачем это вытаскивать? Ты свой компилятор пишешь?
В теории мы можем свести все к 8 битам Для максимального покрытия
скорее проверяю стоит ли вообще это начинать
Детали реализации всё равно будут протекать и требовать дополнительных инструкций для фикса. Хранишь 8 бит в 32-битном регистре? Делаешь shr после add — получаешь проблему.
Но я не вижу причин стремиться к 1-1. А если не стремиться, любая вм + AOT-компиляция подойдут.
@CompilerDev
Обсуждают сегодня