Хочу реализовать, буду собирать материал.
https://habrahabr.ru/post/223887/https://habrahabr.ru/post/133780/Думаю - первым делом нужно определиться с набором псевдокоманд нашей стековой машины, нашёл вот такой наборчик:
Цитата:
PUSH - поместить значение в стек
POP - удалить значение с вершины стека
DUP - сделать копию верхнего элемента стека
SWAP - обмен местами 2 верхних параметров в стеке
ROT - циклически переставляет 3 верхних элемента в стеке по-часовой стрелке
OVER - продублировать на вершину второй элемент стека
PICK - дублирует n-ый элемент стека на вершину
ROLL - циклически переставляет n-верхних элементов в стеке по-часовой стрелке
RVALUE - поместить в стек содержимое объекта, адрес которой лежит на вершине стека
LVALUE - поместить в стек адрес в памяти, по которому расположен объект лежащий на вершине стека
LET - rvalue-значение на вершине стека размещено по адресу предоставленному lvalue- значением, следующим за ним в стеке
Ну и математические нужны так же и сравнения, условного и безусловного перехода.
Так же нужно определиться с разрядностью команд и данных - 8 бит, 16, 32?