Хочу реализовать, буду собирать материал.
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?