Здравствуйте, Ночной Смотрящий, Вы писали:
НС>В ассемблере — мнемоники. Ты, видимо, хотел написать машинный код.
Я написал как это видит "процессор". ))
Ты же тоже на системотехника учился, т.е. у тебя был курсовик разработки процессора с ограниченным набором инструкций (инструкции выдавались по вариантам).
По вариантам так же была реализация на микропрограмме из ПЗУ или железным автоматом.
Вот прямо в любой из этих реализаций код инструкции — это то, по чему именно твоя схема проводила диспетчеризацию.
Как изначально железячник в первой стадии своей карьеры, я в упор не вижу принципиальной разницы программной, микропрограммной или аппаратной диспетчеризации таких кодов в процессе исполнения закодированной программы. Это вид сбоку одного и того же, строгое отображение некоего автомата на различные техники (подробности) его реализации.
НС>Нет — там не просто коды. Там еще и определенный бинарный формат, абсолютные и относительные числовые смешения вместо меток
Блин, ну как и виды адресаций в ЦПУ.
Вот есть специальный регистр — указатель команд.
В интерпретаторе спектрумовского Бейсика всё аналогично.
НС>Нет, не пофик. Мы обсуждали идею прежде всего, а не особенности реализации. А идеи там не было.
По-моему, ты пытаешься всё упрощать, и по той лишь причине, что Бейсик "примитивный недоязык".
Да пофик, какой язык.
Машинка исполнения Бейсика — это автомат, разработанный в лучших традициях, как грится.
НС>Непонятно. Что значит отделения и зачем он в этом топике?
Это значит, что в практике IT редко встречается так, что язык диктует способ своей реализации.
Это было насчёт "возможно ли получение AST исходника в С++".
Конечно, возможно.
В первую очередь, возможно принципиально.
Во-вторую можно рассуждать, как это сделать, используя уже имеющие ср-ва.
Всё это я перечислял.
НС>>>Но вы тут опять с терминами устроили кашу, уж не знаю, случайно или намеренно. Р-код это непосредственно императивные инструкции и это отдельная песня.
V>>Это ты озвучиваешь своё эвристическое понимание.
V>>P-код — это то же, что и псевдокод. Всё.
НС>НС>Bytecode (also called portable code or p-code)
НС>https://en.wikipedia.org/wiki/Bytecode
Термин байткод появился еще позже.
Да, это всё синонимы.
Я вижу, что ты пытаешься утверждать, что байт-код таковым является только для виртуальных машин очень низкого уровня. ))
Но этого ограничения в реальности не существует.
Тем более, что в те года существовали даже реальные системы команд очень высокого уровня, например IBM/360.
Там уровень многих инструкций повыше уровня инструкций мейнстримовых x64 или PowerPC.
Кароч, позволю себе назвать вот эти натягивания спекуляциями.
Основная идея подобных систем — это абстрагирование от реального железа, усё.
Удачное абстрагирование, помимо собсно абстрагирования, может сделать код компактней, то бишь, компактность байт-кода — это св-во конкретных реализаций (а иногда и цель таких реализаций).
Но степень абстрагирования не навязывается, ес-но.