169 похожих чатов

Есть ли набор примитив который позволил бы быстро перекомпилировать программу

под другое железо заменой процессорных инструкций 1к1?

Например ожидаю что можно выбрать 10 примитив типа чтения, записи, сложения, умножения, прыжок если ноль, обращение к регистрами как со стеком... которые покрывают 99% железа

10 ответов

51 просмотр

Для этого придумали С. Там нет привязки к набору инструкций архититекуры, а лишь абстрактные встроенные команды компилятора, которые преобразовываются в наборы инструкций тысяч архитектур.

Одна инструкция на одну инструкцию? Нет. Простейший пример: ты хочешь 32-битную константу в регистр. Тут случается любой риск, и у тебя уже две инструкции.

Это обеспечит виртуальная машина. Но ее код обычно не мапится 1:1 с native

Minato- Автор вопроса
КТ315
Для этого придумали С. Там нет привязки к набору и...

Там в тысячи раз больше реализовано. вытащить минимум не смогу

Minato
Там в тысячи раз больше реализовано. вытащить мини...

А зачем это вытаскивать? Ты свой компилятор пишешь?

Minato- Автор вопроса
s54820
Одна инструкция на одну инструкцию? Нет. Простейши...

В теории мы можем свести все к 8 битам Для максимального покрытия

Minato- Автор вопроса
КТ315
А зачем это вытаскивать? Ты свой компилятор пишешь...

скорее проверяю стоит ли вообще это начинать

Minato
В теории мы можем свести все к 8 битам Для максим...

Детали реализации всё равно будут протекать и требовать дополнительных инструкций для фикса. Хранишь 8 бит в 32-битном регистре? Делаешь shr после add — получаешь проблему.

Minato
В теории мы можем свести все к 8 битам Для максим...

Но я не вижу причин стремиться к 1-1. А если не стремиться, любая вм + AOT-компиляция подойдут.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта