Ассемблер prolet является изолированным контекстом. В нём нет высокоуровневых типов, структур, срезов, типажей и т.п. Ассемблер выражает все доступные возможности ВМ.
::: warn Работа с виртуальной машиной на уровне ассемблера может легко испортить её состояние!
:::
Для вхождения в контекст ассемблера необходимо его активировать в форме:
(кварк
(...)
)
После этого, все возможности декодера команд ассемблера будут доступны на этом уровне, без какой либо необходимости упоминания ассемблера. При этом все остальные возможности языка будут изолированы. На уровне ассемблера недоступны свойства ,влияющие на работу ВМ. Доступны системные свойства, такие как @_док, которые фактически никак не влияют на состояние ВМ.
Набор команд может со временем расширяться. Существующие команды меняться не будут в рамках текущей мажорной версии ВМ. Ограничений на расширение команд не заложено.
Поскольку макросы в prolet не являются полными по Тьюрингу, а служат средством автоматизации, то макросы на уровне ассемблера разрешены. С помощью них можно удобно группировать несколько ассемблерных инструкций.
::: success prolet включает в себя ассемблер как машину исполнения. Ассемблер не содержит смыслов, не знает ничего о структурах — это машина исполнения простейших команд и хранения состояния.
:::