Ngaro це портативний віртуальна машина для архітектури подвійного стека. Набір інструкцій, по суті підмножина Forth. Хоча обмежений у своїй здатності взаємодіяти з базовою ОС, вона повинна бути достатньою, щоб дозволити різні програми для запису і працювати на ньому.
Пакет включає в себе деякі основні документацію, повний вихідний код, компілятор машина вперед, і кілька невеликих прикладів.
Використання:
./ngaro ImageName
Набір інструкцій зберігається мінімалістичний. Точний набір інструкцій
зміни від часу, але наступний список був стабільним протягом приблизно
на рік. (Останні три, маючи справу з моделлю на основі портів введення / виводу, нові)
0 NOP нічого не робить
1 л Натисніть значення в наступній клітинці в стек
2 DUP Дублювання зверху
Пункт в стеку
3 Перепад верхній елемент
в стеку
4 SWAP Обмін двох верхніх
елементи на стеку
5 двутолчковий верхній елемент
стек
адреса стека, падіння
Правова
6 POP Поп верхній елемент
адреса стек
і поклав його на
стек даних
7 Зателефонувати адреса,
наступна буквальне
відповідає
8 Перейти Перейти за адресою
що наступний
буквальні відповідає
в
9; Повернутися до абонента,
використовувати при виклику
10> ШВИДКИЙ умовний перехід. Він
порівнює TOS і NOS.
11 Зрушення бітів право
25 0; Вихід (і падіння), якщо
Правова 0
26 1+ Приріст Правова від 1
27 січня Decrement Правова по 1
28 В Читайте порт
29 з Зберігати в порт
30 ЗАЧЕКАЙТЕ Зачекайте основі портів
запросити, щоб закінчити
Якщо підтримується код операції зустрічається, INTERAL реєстр ІС встановлений в
кінець пам'яті. Виконання коду зображення буде зупинити, коли це станеться.
Кілька інструкції роблять використання наступної комірки містять адреси або
значення. Це:
1 ЛІТ
7 ВИКЛИК
8 ПЕРЕХІД
10> Перейти
11
Що нового У цьому випуску :.
- Ця версія приносить оновлені версії всіх реалізацій і суттєво оновлену документацію
- Є в даний час 14 реалізацій, написані в Python, Ruby, Perl, Common Lisp, x86 Асамблеї, ANS Форт, наявність, ретро, Lua, Java, C, C #, F #, і Go.
Коментар не знайдено